Changelog

Phase-by-phase shipping log. Most-recent first.

New categories: air duct and commercial cleaning (Sep to Oct 2026)

  • Air duct and dryer vent cleaning (September 29): 13 ad groups, its own landing page design and funnel, and a $200 lead value.
  • Commercial cleaning and janitorial (October 7): cleaning contracts for offices, medical offices, schools, restaurants, warehouses, stores, gyms and churches. 16 ad groups, a quote funnel that asks the building type, its size and how often it needs cleaning, business-buyer audiences, and a $400 lead value.
  • Both are in the campaign wizard and in the MCP server's generate_strategy (air_duct_cleaning from npm 0.2.8, commercial_cleaning from 0.2.18).

Phase 47: Imported campaign lifecycle (May 11 2026)

Closed the gap where the bidding ladder assumed every campaign started at Stage 1 Manual CPC. Imported campaigns can now arrive at any rung and the agent picks up management from where they are. 5-component architecture:

  • Stage classifier (pure function, no I/O)
  • Configuration audit with health classifications
  • New campaigns_stage_history table with append-only transitions
  • Diagnostic rules that ladder-gate on agent_managed_since
  • BiddingLifecyclePanel UI on every campaign detail page

Sub-phases shipped same week:

  • 47.1: google_ads_started_at column, ready_for_target_roas fallback for imports, external_change capture pre-approval, pending-state UI, history backfill
  • 47.2: Max hands-free auto-approves imported audits (except misconfigured)
  • 47.3: Manual "Optimize Now" button respects Max hands-free, auto-executes on click
  • 47.4: Learning-phase respects google_ads_started_at, real-time notifications on auto-execute + auto-rollback
  • 47.5: Onboarding updates to surface Max hands-free in plan + welcome + import banner
  • 47.6: Public docs site (you are reading it)

Phase 46: Conversion optimization sweep (May 2026)

  • Marketing site conversion-rate overhaul (15 items)
  • Per-user call-minute usage tracking + Pro 100min/mo visibility + overage cents tracking
  • Cannibalization ownership direction fix
  • UI dedup feedback consumer
  • pause_campaign + enable_campaign executors with rollback support

Phase 45: GA4 Key Events + funnel attribution (May 2026)

  • signup_completed event fires from onboarding welcome page
  • GA4 Key Events registered via Admin API (8 events)
  • Funnel events tagged with campaign_id + ad_group_id meta
  • Per-campaign GA4 attribution replaces fragile pagePath matching

Phase 44: Continuous RSA headline refresh (May 2026)

  • Two-tier swap priority: impression-starved (primary) vs CTR-laggard (fallback)
  • Character-bigram cosine similarity rejects near-duplicates
  • One AI model writes 10 candidates and a second model picks the best
  • Single-swap-per-cycle for clean outcome attribution
  • Tier 1 auto-eligible when impressions ≥ 2000 + share < 1% (today every headline swap waits for your approval, Max included)

Phase 43: Agent knowledge cache layer (May 2026)

  • 3-layer expert-knowledge markdown playbook injected into every agent-reason call
  • Anthropic prompt caching with 1h TTL (extended-cache-ttl beta header)
  • ~50KB universal knowledge + ~2KB per-trigger system prompt
  • Hit ratio + USD-saved telemetry per session

Phase 42: Bandit Lab + hierarchical priors (May 2026)

  • Thompson sampling on per-element funnel arms (sticky CTA, hero image, step copy)
  • Beta posteriors at the edge worker (Cloudflare)
  • Hierarchical priors (λ=0.2) seed new arms with fleet-wide category evidence
  • Bandit Lab read-only UI on the Tracking tab
  • Switched off as of October 2026: no element experiments are running

Phase 40: Per-campaign landing page analytics (April 2026)

  • Funnel events tagged with campaign_id + ad_group_id at dataLayer
  • GA4 custom dimensions auto-registered
  • Scroll-depth (25/50/75/100%) + time-on-step tracking
  • PageSpeed multi-category audit (perf + a11y + best-practices)
  • 3 new LP-health diagnostic rules in agent-optimize
  • Analytics tab on campaign detail (MAX tier)

Phase 38: Max hands-free + blast radius + auto-rollback (April 2026)

The phase that made "done-for-you" real:

  • Blast-radius classifier (surgical / meaningful / large / legally_dicey)
  • Per-rec auto-execute gate for Max with rate limits + circuit breakers + kill switch
  • measure-outcomes cron with tiered T+24h/T+7d/T+14d windows
  • Auto-rollback on worsened verdict
  • User-level circuit breaker after 3 rollbacks in 30 days
  • Rule-level success rate monitor (fleet-wide aggregation)
  • Weekly digest email (its one-click undo links were retired in October 2026; undo is the Undo button on the campaign's Optimize tab)

Phase 36: ROI closed loop (April 2026)

  • 4-action conversion split per campaign
  • UPLOAD_CLICKS_REVENUE starts secondary, promotes to primary on 30 paid invoices/30d
  • Jobber paid invoice → Google Ads offline conversion upload
  • Predictive LTV multipliers for recurring categories
  • GCLID 85-day expiration handling
  • Bidding ladder auto-promotion via agent-optimize (today every promotion waits for your approval, Max included)