top of page

v1.06 — Self-Service Monetization & Launch Analyzer

  • Apr 19
  • 3 min read

Updated: May 14

Sprint 19 · Apr 13 – Apr 19, 2026



Sprint 19 shipped the first end-to-end commercial surface of VastAdvisor — self-service registration with Stripe billing, a full tier structure (Starter / Core / Pro / Elite) with edition-limit guards, and a Freemium path for brand-new tenants. Alongside monetization, the team delivered the AdminIQ Launch Analyzer (hybrid heuristic + AI) for cross-platform launch diagnostics, Admin Health + Platform Metrics dashboards for host operators, a full redesign of audience-targeting quality with AI-driven resolution and taxonomy caching, and Eva v2 foundations. The sprint closed out a large batch of ad-platform launch fixes across Google Search, Google Display, Meta, and LinkedIn.


Shipped


  • Stripe Subscription Billing + Self-Service Registration — end-to-end commercial flow is live: /Account/Register with CRD + tier cards + interval toggle, Stripe Checkout with 7-day grace period, FirmProfile seeding, T&C acceptance, plan deep-linking, verification/welcome email, and post-registration Billing page.

  • VastAdvisor Editions: Starter / Core / Pro / Elite — edition seeder, limit guards, and Stripe setup-fee deltas. EditionLimits supports -1 as Unlimited sentinel. Freemium unified into EditionLimitGuard as a CampaignLaunch action gate; campaign cap enforced on launch, not create.

  • Manage Your Plan Modal — plan-change UX with correct proration, interval-handling, and badge states. API-driven proration replaces Stripe portal flow; setup-fee delta charged on monthly upgrade, skipped on annual.

  • AdminIQ Launch Analyzer — hybrid heuristic + AI analysis of every campaign launch. Google Search surfaces dropped landing page URL, missing keywords, missing marketing objective. Meta and LinkedIn findings also surfaced. Graceful degradation when AI workflow fails.

  • Admin Health + Platform Metrics Dashboards (go-live) — host-only operational surfaces with permission-gated routing for /Admin/Health and /Admin/Platform with empty-state widgets and tenant detail modal.

  • Audience Targeting Quality Redesign — iterative, AI-driven audience resolution with taxonomy caching, 5-dimension quality scoring, negative targeting (exclusions), and cache TTL promoted to 30 days when quality passes.

  • Background Job Hierarchy Guards — parent-status validation before processing across tenant, campaign, and audience levels with recurring scheduler integration and unit-test coverage.

  • Eva v2 Foundations — AI guide moved from VoltOps RAG to workspace-scoped filesystem skills with full page awareness, tenant-scoped knowledge, sub-tab deep links, auto-scroll, and footer launcher.

  • Pre-Launch Validation + Launch Observability Framework — Pre-Launch Campaign Validation Rules Engine, Actionable Error Message & UX Framework, Silent Mismatch Detection & Alerting, Cross-Platform Smoke Tests, and Sentry SDK error logging configured.

  • Compliance Batch-Run Concurrency Hardening — eliminated race conditions across the compliance pipeline with no duplicate-key errors on AppComplianceDailySnapshots during batch runs.

  • Day 1 Go-Live Workstreams — FormADV onboarding data capture + AUM pricing, Day 1 Creative Format definition + rendering, and Lead IQ Dashboard Integration.

  • Global Shell & Enterprise Surface — command palette/search, Next Best Actions, Co-Pilot, notifications, Help; Lead IQ rollup with firm/region scoping for Enterprise. Icons and search bar moved to header.


Fixes


  • Cross-Platform Launch Reliability (Google / Meta / LinkedIn) — resolved a large batch including: LinkedIn/Meta ads failed to launch, LinkedIn missing industry targeting, Meta special ads category blocking launch, Meta audience and location targeting issues, Meta Lead Form Description dropped via API, Google Search Default Landing Page URL dropped, Google Campaign Setting missing Marketing Objective, Google Display using unwanted AI ads options, incorrect image size for Google Display, relaunch failing for Google campaigns after force disconnect.

  • Keyword Ideas Generator — resolved "The node already has a parent" exception; Generate Ideas now returns keyword suggestions and inserts selections into the campaign keyword list.

  • Campaign Lifecycle Guards — external campaign compliance approval now locked; already-launched campaigns can no longer be relaunched; planned stop date before start date now blocked.

  • ICP & Quota Regression — ICP buttons no longer clickable past limit; ICP auto-generate respects remaining quota (min(3, Max − Current)).

  • Light-Mode Theming Fixes — correct logo in light mode, onboarding font color, main search text visibility, date selector icon visibility resolved via Marker.io.


Carryover & Deferred


  • Audience Sync Edge Cases — second connection of same type, re-auth of sole connection, delete + re-add same connection type. Backlog.

  • Google Ads Launch Resilience — partialFailure: single bad criterion should not tank whole adGroup batch; stale audience refs stripped at launch. Backlog.

  • Google Display Audience Picker — enforce AFFINITY / IN_MARKET / LIFE_EVENT-only whitelist. Backlog.

Comments


bottom of page