📍 Current Situation — 2026-05-17 (latest — supersedes the panels below)
T-Zero — the Wave 1 brand-revival programme is now formally scoped + live-audited. The 8 legacy brand campaigns (4 brand PMax + 4 brand Search, all 4 markets) are all ENABLED and live. Live spend = £690/day — PMax £570 (UK £180 · DE £250 · FR £100 · US £40) + Search £120 (£30 × 4). This is the audited reality and supersedes the Wave 1 estimates below. Decisions locked: all 4 markets · budgets unchanged · PMax + Search both in scope — the 4 brand Search campaigns (“SERP - k/w: brainzyme”) are live and folded into the T-Zero refresh, updating the Wave 1 “defer brand search” framing. Scope: projects/briefs/t-zero-brand-pmax-refresh-2026-05-17/scope.md.
Cascade cycle-1 (T1-T5) is NOT go-live-ready. A full top-to-bottom review (2026-05-17) found all 4 live tests blocked — campaigns not yet created in Google Ads, the image library blocking asset upload across all tests, plus open GA4-dimension, audience, and QC gates. Locked cycle-1 budgets: T1 £45 · T3 £30 · T4 £30 · T5 £143 = £248/day (pending enable). T2 + #65 remain dropped to cycle-2.
Financial headline: brand fleet £690/day running now; cascade £248/day committed but pending enable — combined committed daily spend at full go-live ≈ £938/day.
What shipped (Phase 1 — UTM): 6 campaign-level tracking templates appended to "2026 Launch UTMs" sheet (rows A107:Z112). Mechanism = ValueTrack substitution at click time per reference/utm-tracking-templates.md v2.1 — NOT per-page URL baking. Test codes: TEST-UK-STUDENT-01 (T1 + #65), TEST-UK-DGPARENT-02 (T2), TEST-UK-LAPSED-03 (T3 α-reframe), TEST-FR-STUDENT-04 (T4), TEST-UK-SUB-05 (T5 NEW).
What shipped (Phase 2 — dashboards): 5 columns added per row (test_id · variant · existing_url · v4_url · test_mechanism). 5 prior test rows split into 10 A/B variant rows; 1 baseline row added for #65 Search co-run.
Test
Campaign
A (existing)
B (v4.0)
Mechanism
T1
UK Student PMax
/products/focus-supplements-for-students-pro
11 UK city LPs /pages/exam-season-{city}
PMax Experiment 50/50
T2
UK DG-Parent
/products/brainzyme-elite
4 parent-variant city LPs
DG Option B (per-ad URL)
T3 (α reframe)
UK LAPSED PMax
Product page per cohort (ELITE/PRO/ORIGINAL)
/pages/welcome-back-v4 (WELCOMEBACK10)
PMax Experiment 50/50
T4
FR Student PMax
/blogs/news/complements-detude (PageFly)
3 FR city LPs /pages/exam-season-{ville}
PMax Experiment 50/50
T5 (NEW)
UK SUB Upsell PMax
/pages/subscriptions (PageFly)
/pages/subscribe-and-save-v4 (v4.0 new build)
PMax Experiment 50/50
#65
SERP UK Exam-Season Students
/products/focus-supplements-for-students-pro
— (Search co-run, no A/B)
Co-runs with T1
LP strategy matrix: v4.0 LPs (B side) compete against PageFly/legacy/product-page A sides. Win = ROAS × conversion-volume × LP-engagement ≥ A baseline. Read window: 14d → 30d. Detail: projects/briefs/cascade-2026-05-13/utm-stamps/utm-inventory.md.
v2.24 three-state decisions: Each verdict button cycles through 3 states.
State 0 — Suggested (dashed outline, dimmed) = Claude's pre-populated recommendation, not counted.
State 1 — Selected (filled tint) = you clicked, intent registered, still not counted.
State 2 — Confirmed (solid + check mark) = double-tap to confirm; this is what gets submitted.
Click a different verdict to move selection; click a confirmed verdict to de-confirm.
Feedback text auto-saves on every keystroke per 2026-05-13 21:00 state-save fix.
Cascade-2026-05-13 cycle-1 — full A/B framework lock + ready-to-enable state pending images + ASA fix. Originally lived on the Command Centre homepage; merged here so cascade audit, determinism tooling, and the decision narrative live in one place.
Infra fixInbox v2.0 auto-restart fix. Windows Scheduled Task + pythonw needs an explicit stdout/stderr redirect wrapper — service was dying silently after first uvicorn write. Symptom looked like cold-start flake; root cause was a buffered-write crash with no console attached.
Reasoning:pythonw detaches from console, so any unredirected stdout/stderr raises on first flush. Wrapper closes the loop. Banked to feedback_pythonw_stdout_redirect.md.
DashboardMission 25 dashboard evolution v2.15→v2.22. Eight iterations in one day: v2.16 (financial backfill) → v2.17 (broader-kw recovery) → v2.18 (PMax reactivation correction) → v2.19 (intent/signal backfill) → v2.20 (channel reroute) → v2.21 (cascade-dispatched banner) → v2.22 (A/B columns + Lifecycle 6→9 rows + Wave 2 4→7 rows).
Reasoning: each version solved one verified gap rather than bundling speculative fixes — per the "never bundle preventative + confirmed fixes" rule. Trade-off: more deploy rounds, but each gap is isolated and traceable.
StructurePMax AG reconciliation 37→16. Collapsed over-segmented PMax structure into 4 brand-lifecycle AGs per market (NEW / CART / LAPSED / SUB).
Reasoning: Calum pushed back — paused AGs already had lifecycle signals wired, so re-segmenting from scratch was waste motion. Reactivate-existing beats build-new where the audience signal still works.
Alternative weighed: full rebuild for cleaner naming — rejected on cost-vs-signal tradeoff.
RoutingChannel-funnel match. Parents of Teens routed to DG_VIDEO not PMax. Display channel skipped entirely (PMax + DG covers it).
Reasoning: PMax intent-bidding rewards bottom-of-funnel signals; TOF demographic audiences (e.g. "parents of teens") have no intent signal so PMax burns budget on broad placements. DG_VIDEO is the right surface for demographic-only TOF awareness.
Calendar2026 student calendar correction. UK GO NOW (A-levels + GCSEs 5+ weeks live) · FR GO (Bac 5-6 weeks lead) · DE LIGHT TEST (Bayern already peaked) · US DEFER to autumn 2026 NOT 2027 (full lead time for SAT prep + midterms).
Reasoning: US exam cycle = autumn SAT + Dec midterms; deferring to 2027 misses the high-intent window by 12 months.
ResearchCity expansion via DataForSEO audit. UK 11→15 cities (Oxford 910/mo · Reading 250 · Cambridge 180 · Brighton 90). FR 3→22 cities (Tier 1+2 included; drop sub-30/mo as not worth template overhead).
Reasoning: 30/mo search volume is the floor where a templated city-LP can break even on supplement margin assuming reasonable CR.
BuildParent vs Student LP variants via shared Liquid template with audience_mode toggle. Two URLs per city, one template.
Reasoning: avoids template duplication and keeps the canonical components-registry trail honest. Toggle is single-source-of-truth; renders branch on audience tag.
DispatchFull cascade dispatch — 8 streams, ~840KB. UK Student / UK DG-Parent / FR Student / DE Student / UK Brand Lifecycle / Parent-Variant LPs / LP Template Enhancement / Welcome-back LP.
Reasoning: single coordinated dispatch keeps cross-stream dependencies (UTMs, discount codes, AG IDs) consistent. Streams that share a Liquid template ship together to avoid drift.
ResearchYouTube unlisted videos discovery. 9 new videos found via authenticated playlistItems (channel-owner OAuth bypasses public listing). 6 wired into T1 + T2 cascades.
Reasoning:yt-dlp is the public-listing fallback per the May 12 incident, but unlisted assets require Data API + OAuth. OAuth is now the default for owner-discovery; yt-dlp remains the public-throttle bypass for transcripts.
Blockers4 cascade-blockers resolved:
WELCOMEBACK code trio created (once_per_customer:true — UK/US WELCOMEBACK10, DE WILLKOMMENZURUECK10, FR RETOUR10).
Subscribe & Save = flat 16% recurring (33% labels were stacked first-order pricing — not the recurring economics).
Google channel app installed on all 4 stores (earlier proxy signal was a false negative; app was there but unsynced).
UK 30d → 60d cohort scope change for Customer Match ≥1k threshold.
RoutingCART → Meta-only. Abandoned-cart cohort won't hit the 1k Customer Match minimum on Google Ads. Moved to Meta where the audience is already running.
Reasoning: Customer Match floors are non-negotiable; sub-1k = no match = no targeting. Meta runs on email-hash without the floor.
T1 UK Student PMax: A = /products/focus-supplements-for-students-pro, B = 11 v4.0 city LPs.
T2 UK DG-Parent DG: A = FOCUS ELITE, B = parent-variant city LPs (Option B per-ad).
T3 UK LAPSED PMax (α reframe): A = product page per cohort, B = v4.0 welcome-back LP.
T4 FR Student PMax: A = /blogs/news/complements-detude PageFly, B = v4.0 FR city LPs.
T5 UK SUB Upsell PMax: A = PageFly Subscribe & Save, B = v4.0 Subscribe & Save (audience reframed 2x: LAPSED → NEW → multi-buyer-no-sub).
#65 SERP UK Exam-Season Search: co-run with T1 (flipped from "hold" to "co-run" after re-reading the high-intent counter-case).
ReframeT3 reframing turn. Pushed back on Subscribe & Save for LAPSED — wrong hypothesis: lapsed customers won't suddenly subscribe. Pivoted to welcome-back LP vs product page per cohort.
Reasoning: cleaner reactivation test, separates "reactivation intent" from "loyalty deepening" so each test measures one variable.
ReframeT5 audience reframing. Subscribe & Save audience is NEW multi-buyers, not LAPSED. New segment bz_2plus_purchases_12mo_no_sub (2,765 members, well above 1k threshold).
Reasoning: the right audience for the offer is "already bought twice but never subscribed" — high-intent demonstrated, sub-curious latent. Sequencing matters.
DesignCompound segment design. Recency × product-history matrix: LAPSED × Product (6) + SUB × Product (5) + NEW × Product (3) + cycle-2 cold reactivation (3). Per-cohort routing logic (ELITE for stress/calm-skewed, PRO for value/conversion).
Reasoning: matrix design lets each cohort route to the product that matches their prior behaviour, not the default starter.
Sync11 UK customer segments created in Shopify — direct sync to Google Ads via Google channel app (24-48h sync window, available 2026-05-15). 7 Customer Match viable (≥1k), 4 Lookalike-seed only.
TrackingUTM v2.1 templates — 6 campaign-level tracking-template rows on "2026 Launch UTMs" sheet. NOT per-page (Calum mid-task correction).
Reasoning: per-page UTMs duplicate state; per-campaign keeps the join key tight and avoids spreadsheet drift.
RegistryPages registry enrichment — 309 → 442 rows (+133 products from 4 stores) + 8 new columns (GSC 30d organic traffic + Google Ads cross-reference). Cardiff re-classified as v4.0 Claude (was legacy human-built error). Schema v1.5 → v1.6.
BuildSubscribe & Save v4.0 build (W1). "You already love Brainzyme. Now save 16%" loyalty-reward hero · 4-SKU comparator with E-directive routing · banned-copy-gate caught compliance docs on first draft, Python-writer bypass for second pass.
HARD BLOCKA baseline QC sweep — CRITICAL FINDING. 4 of 6 cohort-A product pages carry an ASA-banned-term PageFly testimonial (Dr. Tracy King quote referencing the banned identity descriptor) outside the review-context wrapper. HARD BLOCK on cycle-1 enable. Same source on 4 pages — 1 fix unblocks all 4.Reasoning: the banned descriptor combined with a functional cognitive claim is ASA-prohibited. The review-context wrapper exception applies to customer testimonials, but only when wrapped with Schema.org Review markup or data-context="review". PageFly testimonial is brand-framed, not wrapped.
Path B note (2026-05-14): Still required even under Path B — the 4 product pages are evergreen production surfaces (organic + brand search), not just cascade A-side. The fix unblocks more than cycle-1 enable.
feedback_shopify_segment_query_syntax.md — Shopify Customer Segment query language gotchas.
(Earlier today) feedback_load_dotenv_override_required.md — DE 401 incident.
✅ PATH B SELECTED — Cycle-1 Ruthless Re-Scope (2026-05-14)
Calum authorised Path B 2026-05-14. Execution complete across 9 agents + independent verifier. Cycle 1 is no longer 5 tests + 1 Search co-run — it is 4 tests, 3 of them single-arm B-only.
DROPPED from cycle 1:T2 UK DG-Parent DG (ASA risk + thin budget per Opus) · #65 SERP UK Exam-Season Search (PMax custom intent covers query coverage).
SINGLE-ARM B-only (cleanest power profile given budget): T1 UK Student PMax (B = 11 UK city LPs /pages/exam-season-{city}) · T3 UK LAPSED PMax (B = welcome-back LP /pages/welcome-back-v4) · T4 FR Student PMax (B = FR city LPs /pages/exam-season-{ville}).
A/B preserved with directive:T5 UK SUB Upsell PMax — Calum decision pending: 42-56d extended window OR £40/d budget bump.
Why Path B: Cycle-1 spend ~£3-4k/mo vs £5k planned. Highest-leverage test (T5) gets conversion budget that actually reaches significance. Path A would ship into a known statistical hole; Path C burns 12-14% of UK exam window in restructure.
Selected: 2026-05-14 · Source: Opus strategic re-audit + Calum directive · T2-specific + #65-specific retro findings were already resolved in prior v2.25/v2.26 work; Path B drop ratifies that scope reduction without re-flipping new findings. General findings (h3 / h4 / h6 / c2) span retained tests — Calum's verdicts banked 2026-05-15 (see retro panel); fixes in progress.
🚨 Retrospective Audit Findings — 2026-05-13
7 audits ran across Codex 5.5, Gemini Pro, Opus, Sonnet sub-agents. Cycle 1 NOT cleared for live PUT until fixes applied.
Resolved findings are kept in the audit trail with strikethrough + green RESOLVED chip; toggle to expand/collapse.
⚠️ PAUSE BEFORE ENABLE — convergent verdict across 7 audits
Why: 2 CRITICAL factual / policy errors block live PUT; 6 HIGH structural / mechanism flaws compromise test validity; ~£5,124/mo cycle-1 spend on tests that mostly cannot reach statistical significance in 28 days.
Convergent across audits: Codex (HIGH on T3 mechanism + #65 contamination), Gemini (CRITICAL on custom-intent policy + structural T3), Opus (4 of 6 tests structurally underpowered), Budget (every PMax test 4-11× under 10× CPA rule), Compliance (3 BLOCKs), Cross-consistency (T3/T5 URL drift, T2 budget drift), Implementation (1 GAP fixed this turn).
Risk: per Opus, likely "inconclusive across all tests, extend window" at end of cycle 1 = exam season burned. Cycle-2 starts without statistical-grade learning from cycle 1.
Path B — Ruthless cycle 1 re-scope per Opus (cleanest) ✅ SELECTED 2026-05-14
Fix CRITICAL 1 + 2. Drop T2 entirely (ASA risk + budget too thin per Opus). Drop #65 co-run (PMax custom intent covers query coverage per Opus). T1 + T3 + T4 → B-only single arms. T5 → only A/B (clean like-for-like; extend to 42d or bump to £40).
Trade-off: Cycle-1 spend ~£3-4k/mo vs £5k planned; cycle-2 runs proper power. Highest-leverage test (T5) gets the conv budget it needs.
Execution complete 2026-05-14: 9 agents + independent verifier; full scope in Path B SELECTED banner above.
Path C — Delay cycle 1, restructure (most thorough) NOT SELECTED
Address ALL findings including G2 account-currency restructure (separate accounts per UK/FR/DE/US currency under MCC). Push enable by ~5-7 days. Re-test mechanism fixes (T3 cohort-AG structure). Cycle-1 ships clean from a foundation perspective.
Trade-off: 5-7 days of exam-season window burned in restructure; cleanest data going forward. Aligned with Opus cycle-2 strategic recommendation.
🎯 v2.21 cascade dispatched (13 May) — AG-level actions live on Go-Live Dashboard
What shipped: 7 of 8 cascade subagents complete (~840KB campaign brief content at projects/briefs/cascade-2026-05-13/). 16 UK brand-lifecycle AGs + 5 priority student campaigns fully specced. UK Student v2 hardening in flight applying Codex+Gemini fixes + Calum overrides.
This Financial Audit dashboard remains the SoT for: row-level financial modelling, intent + signal-quality scoring, compliance lens, kw refresh, time-banding. For AG-level cascade decisions (what to ship/unpause/build, in what order) — use the v1.3 Go-Live Dashboard.
v1.2/v1.3 Go-Live calendar correction: 2026 verdict is per-market: UK GO NOW (A-levels + GCSEs both started 12-13 May, 5+ weeks window) · FR GO (Bac 5-6 weeks lead time, 4 decisions pending) · DE LIGHT TEST (Bayern peaked, ~2-week tail) · US DEFER to autumn 2026 (SAT Oct+Dec + midterms Oct-Nov, NOT 2027).
🎯 v2.5: channel field + Meta rows + anxiety/stress + lifecycle PMax + asset-group audit
What changed in v2.28 (14 May — Path B SELECTED):
Path B selected by Calum 2026-05-14 — T2 (UK DG-Parent DG) + #65 (SERP UK Exam-Season Search) DROPPED from cycle 1. T1/T3/T4 converted to single-arm B-only. T5 A/B preserved with directive (42-56d extended window OR £40/d budget bump — pending). Banner added at top of retro audit panel.
Retro findings status: T2-specific + #65-specific findings were already resolved in prior v2.25/v2.26 work; Path B drop ratifies the scope reduction without flipping new items. General findings (h3 10× CPA rule, h4 currency, h6 tROAS, c2 stimulant-absence) span retained tests — Calum's verdicts banked 2026-05-15; fixes in progress.
Path A + Path C cards dimmed with "NOT SELECTED" chips. Path B card highlighted with green border + glow + SELECTED 2026-05-14 chip.
Cycle-1 spend trajectory: ~£3-4k/mo vs £5k planned. Highest-leverage test (T5) gets conversion budget that actually reaches significance.
What changed in v2.27 (14 May 06:48 — Phase 1 determinism tooling SHIPPED):
5 cascade determinism gates built + tested + e2e-verified (see green panel above): check_canonical_facts.py, cascade_rename.py, power_analysis.py, check_test_id_uniqueness.py, verify_subagent_claims.py.
Layer A (cross-tool dogfood):verify_subagent_claims.py applied against other 4 builds @ HEAD~2 — all PASS. Tool works in real use, not just smoke tests.
Layer B (e2e cascade demo): reproduces today's "no-stim 15+ file failure" deterministically as 18 BLOCK findings; reproduces Opus's "all PMax tests underpowered for 28d" as BLOCK (50 conv/wk floor) + UNDERPOWERED verdicts.
Committed:90210d4 on feature/v4-migration — 11 files, 4,542 insertions including reference/test-id-ledger.json seeded with cycle-1 IDs.
What changed in v2.26 (14 May 09:00 — C1 RESOLVED + study-drugs allowlist expansion):
Retro finding C1 marked RESOLVED — false positive (Gemini Pro source). "natural alt to study drugs" custom intent (T1 AG2 + #65 AG-B sibling) is in UK+US allowlist per feedback_uk_us_red_relaxation_2026_05_11.md2026-05-14 expansion (Calum directive). Same logic as modafinil-alt / Ritalin-alt — natural alternative framing, no POM equivalence claim. Gemini flagged without memory-file access; standing rule now banked so future cascade audits do not re-escalate.
Scope eligibility (compliance gates still apply on ad-copy + LP side): custom intent audiences, keyword targeting, ad copy headlines, LP positioning. ASA Rule 12 + Google Health/medicines policy + no POM equivalence + no condition claims all unchanged — enforced via copy_preflight.py + check_copy_against_canonical.py.
Cross-doc updates landed in same change set:reference/services/google-ads.md gotcha added · cascade-2026-05-13/uk-student-search-65/compliance-preflight.md note appended · MEMORY.md index updated · feedback memory file expansion section appended.
What changed in v2.25 (13 May 22:00 — cohesive 9-fix change set):
7 cascade-spec fixes shipped (pure spec edits, no live mutations): T3 PMax restructured to standalone campaign with per-cohort AGs (Fix 1) · #65 test ID separated to TEST-UK-STUDENT-SEARCH-65 (Fix 2) · T3 sub-specs synced to 6 compound LAPSED × Product segments + per-cohort routing logic (Fix 3) · All 10 T5 spec files converged on canonical URLs /pages/subscriptions (A) + /pages/subscribe-and-save-v4 (B) (Fix 4) · Parent-variant testimonials wrapped in Schema.org Review markup (Fix 5) · FR Ritaline framing swapped for "Pas de stimulants" backup (Fix 6) · FR customer ID placeholder removed in 2 spec files (Fix 7).
Retro panel: 6 findings marked RESOLVED (h1, h5, h7, m1, m3, m4). Strikethrough + green RESOLVED chip + resolved-meta block (timestamp + which fix). Findings stay visible in audit trail. Default = collapsed; toggle "Show resolved" button at top of retro panel to expand.
Submit-envelope guard fixed: feedback-only rows now count as substantive submissions. Old guard blocked submit unless at least one state-2 verdict existed. New guard accepts state-2 verdicts OR non-empty feedback (or both). Decisions counter split: Confirmed: X · Feedback: Y.
What changed in v2.23 (13 May late):
Retrospective Audit Findings panel added (top of dashboard, below v2.22 banner). Consolidates 14 findings from 7 retrospective audits run today across Codex 5.5 + Gemini Pro + Opus + Sonnet sub-agents. Convergent verdict across all 7 audits: cycle 1 NOT enable-ready.
3 strategic paths offered for Calum decision: Path A ship-as-is · Path B ruthless re-scope · Path C delay + restructure. Per-finding action buttons (Acknowledge / Will fix / Defer cycle-2) post to inbox.nutritionalproducts.org/jobs via same envelope pattern as Go-Live cards.
Source audits at F:/Agentic-OS/tmp/retrospective_audit_*_2026-05-13.md (7 files, read-only).
What changed in v2.18 (12 May evening, post-cascade-prep):
PMax Lifecycle re-audit per Calum pushback. Earlier v2.5 claim “Customer Match lists not attached to most AGs” was based on enabled-only AGs. GAQL re-audit covering ALL 168 PMax AGs (incl. paused + removed) shows lifecycle audiences ARE wired up in PAUSED AGs across UK/DE/FR/US. Lapsed Customer audiences exist in all 4 markets (UK 334109964, DE 334944124, FR 334115460, US 334577801).
Action types added to Lifecycle PMax rows: REACTIVATE (UK/FR/US lapsed — AG + audience exist paused) · REBUILD-AG (DE lapsed — audience survives, AG was removed) · BUILD-NEW (Cart Abandoner + Subscription Reminder — audiences confirmed absent via GAQL).
AG Audit table replaced with 12-row reactivation candidates table. 8 of 12 rows are unpause-only. Start cascade here — lowest effort, highest signal-quality.
v2.18 spend so far: $0 in DFS API. Pure GAQL re-audit. ~5 sequential queries via google-ads MCP.
What changed in v2.17 (12 May late):
Second-pass keyword recovery on 14 of 16 kw-not-found rows. Broader/synonym kw variants pulled at $0.04 cost. Net new finding: 'fatigue mentale' (FR) is 2,400/mo at £0.67 → £20/mo net at 2.8× ROAS — was tagged "no data" but the proper FR kw is bare 'fatigue mentale', not 'anti-fatigue mentale'. Same trick recovered FR brouillard mental (£14 net), US covid brain fog (£8 net), and DE darm hirn (£0.4 break-even).
Negative-confirms at scale: US perimenopause supplement 18,100/mo BUT £3.71 CPC → -£539/mo. US gut health supplement 33,100/mo BUT £4.35 CPC → -£1,250/mo. DE gaba 14,800/mo at £1.87 → -£100/mo. Confirms matrix-KILL pattern: high-vol US health kw have CPCs that systematically destroy unit economics.
Only 2 rows still kw-not-found: UK SAT/ACT/IB lane (sec:113) — UK SAT prep market is genuinely niche; FR TDAH/ritaline (sv4:5) — variants didn't surface but matrix already has 49500 vol @ £0.63 carrying that row.
Coverage now 85/94 (90%): up from 55/94 at v2.15 entry.
Cumulative cost: $0.08 across v2.16 + v2.17.
What changed in v2.16 (12 May late):
Keyword analysis + financial backfill for 52 rows. Per Calum 12 May: completing the gap surfaced in v2.15 analysis-status table. DFS pulls + matrix-financial-model applied to Wave 2 (4 rows), Search v4 (7 rows), SO#3 (16 rows), Orphans (11 rows), Secondary exams (5 rows), Anxiety (3 rows), Lifecycle (6 rows).
Locked model assumptions: capture 25% × CTR 5% × CR 5% × AOV £38 × margin 70%. Formula in summary callout below. Backwards-compatible with 9 May matrix ROAS calc; net values use uniform model (matrix had per-row adjustments not back-computable from published docs).
v2.16-kw-not-found tag: 14 rows where DFS returned no result on tested kw variants are explicitly flagged rather than silently null. Next pass: try broader kw or accept that demand is too niche to model.
Top modeled rows: Lifecycle retargeting wins big — UK lapsed customer reactivation £1,125/mo net at 5× target ROAS (1st-party signal). Cart abandoner £768/mo, DE/FR lapsed £525-750/mo. These are HIGHEST signal-quality rows in the entire architecture per memory/feedback_pmax_signal_quality_methodology.md.
v2.16 cost: $0.04 in DataForSEO API calls. Total this initiative: $0.47.
What changed in v2.5 (11 May evening):
Schema v4.5: channel field added — SEARCH / PMAX / META / DG_VIDEO / hybrids. Per Calum 11 May: low-intent abstract audiences (pilots / HR managers / public speakers) belong on Meta TOF where audience-based discovery works; high-intent transactional belongs on Search/PMax.
3 new SEARCH rows: Anxiety + Stress — DataForSEO validated. US Anxiety = 13,500/mo at £1.33 CPC HIGH competition — biggest unaddressed opportunity in the architecture. GABA ELITE formula fits directly. AMBER compliance (use natural-alternative framing). UK Anxiety 450/mo + UK Stress 210/mo round it out.
6 new META rows for low-intent niches that ZERO-validated on Search but make Meta sense: Pilots/Aviation, Truckers/Long-haul (off-duty wellness framing only), HR managers/Leaders, Public Speakers, Software Developers (per Codex), Father's Day gift-buyers. Per Calum: low intent → Meta TOF.
6 new lifecycle PMax rows (Wave 1 retargeting) per Calum 11 May "we don't have any segments for lapsed customers": pmax_uk_lapsed + DE + FR + US + global Cart Abandoner Reactivation + global Subscription Reminder. Uses 1st-party Customer Match lists already in the account.
Canonical Google Ads targeting reference shipped at reference/data-contracts/google-ads-targeting-options.json. Replaces my earlier conjectured signal labels with REAL Google Ads segments + Customer Match lists pulled via GAQL.
Asset group audit (NEW section below) — pulled via GAQL all 22 live PMax asset groups. Finding: ALL 22 use SAME 3 in-market + 2 affinity signals (Nutrition Drinks 80943, Health Buffs 90400, Green Living 90600). Most have ZERO Customer Match attachments at AG level. Massive opportunity for intelligent segmentation.
What changed in v2.3 (11 May late afternoon):
Intent score added to schema (arch v4.3) — separate from signal quality. TRANSACTIONAL / COMMERCIAL / MIXED / INFORMATIONAL / NAVIGATIONAL. Reason: Calum wants to flag low-intent / browsing-style campaigns differently from high-intent purchase-ready audiences.
Regulatory risk added — LOW / MED / HIGH / KILL. Per Codex 5.5 HIGH: pilots / truckers = KILL (safety-critical implied claims); shift workers = HIGH risk pending legal review.
Source tag added — claude / codex / gemini / calum. Shows which agent surfaced each campaign idea (for accountability + audit).
2 new validated rows: Esports / Gaming Focus (US + UK). Source: Codex shortlist. Validated by DataForSEO ($0.11 total cost): US 720/mo at £1.60 CPC MEDIUM competition; UK 170/mo at £1.02 HIGH. Frame as "nutrition for sustained gaming focus" — avoid "cognitive enhancement" / "nootropic" framing per Codex HIGH.
World days (Father's Day, World ADHD Day, etc.) NOT added as search rows — DataForSEO returned zero search-volume matches across 4 separate test pulls. These are PMax/Meta custom-segment opportunities, not direct search demand. Note added below.
Pilots / Truckers KILLED per Codex safety-critical flag. Shift workers PENDING legal review.
Software developer "deep work" niche didn't validate on literal kw (only 10/mo for "best supplements for productivity"). Demand exists but under generic terms already covered by existing rows. No new dedicated row.
What changed in v2.2 (11 May afternoon):
Signal-quality methodology corrected per Codex 5.5 REFINE. Old "stacking layers = HIGH confidence" replaced by single-strongest-signal scoring. Column renamed targeting_conf → signal_quality. PMax signals are HINTS not strict targeting — Custom segments + In-market = HIGH; affinity/life-stage/demographic = MEDIUM/LOW.
UK RED-compliance relaxation per Calum. UK can now run "modafinil natural alternative" + "ADHD supplements" with natural-alt framing. Row 34 (UK Modafinil) flips HARD DEFER → GO — matrix's biggest non-built winner (£255/mo net, 3.96× ROAS). Rows 23 + 28 TEST eligible. US version of these gets TEST-with-caution (Search likely disapproves; PMax may run).
Arch schema v4.2: added time_band field (IMMEDIATE / NEAR_TERM / MEDIUM_TERM / LONG_TERM / EVERGREEN). +13 new rows in config/campaign-architecture.json: 4 student campaigns, 5 secondary exam segments, 4 brand-search campaigns.
Recommended sequence:WAVE 1 today (4 brand PMax refresh + 4 brand-search keywords) → WAVE 2 this week (student exam season — DE Abitur peak, UK A-levels start 12 May, US AP finals through 16 May) → WAVE 3 14-day £5/d TEST (matrix-KILL with signal, per market-OK gate) → WAVE 4 LAUNCH QUIETLY (matrix-LOW positive net).
Per row in §3+: volume + refreshed CPC + targeting confidence + ROAS + final verdict. Click your decision (or accept the recommendation), type free-text feedback, hit GO at the bottom — entire decision set goes to F:/Agentic-OS/inbox/campaign-financial-audit/.
Structural finding from US agent: Google US in-market taxonomy is deliberately THIN on Anxiety / Mental Health / MBA / Bar Exam / Menopause nodes (FDA structure-function compliance). Validated US 13,500/mo Anxiety has NO native Google audience pipe — Custom Segment URL+kw seeding required.
Cross-market vegan opportunity: Affinity 92955 Vegetarians & Vegans is UNUSED across current PMax. Brainzyme IS vegan — should own this outright across 4 markets.
Strongest reverse-engineered find: Parents-of-Teens 30014 overlaid with Test Preparation 80231 captures BUYER-NOT-USER exam angle (mums buying for teens). Currently in zero campaigns. Cross-market.
Market-novel angles: DE Coffee-Substitute (93007 + 80274; DE 162L/yr coffee per-capita) · FR Auto-Entrepreneur (95021/95022 Business Creation; French solopreneur boom) · US Esports + Stim-free pre-workout (Weightlifters 92964 + Esports Fans 92963 native US affinities).
+6 new arch rows added (170-175): Cross-market Vegan + Parents-of-Teens overlay + DE Coffee-Substitute + FR Auto-Entrepreneur + Empty-Nester Career-Restart (Gemini-validated) + US Anxiety Custom Segment build. All source-tagged 'reverse_audience'.
Full canonical at reference/data-contracts/google-ads-targeting-options.json §taxonomy_scan_per_market_2026_05_12
v2.16 financial model (rows tagged v2.16-modeled):
clicks = vol × 0.25 (capture) × 0.05 (CTR) × 0.05 (CR) ·
revenue = conversions × £38 (cash AOV) ·
spend = clicks × CPC ·
net = revenue × 0.70 (margin) − spend ·
ROAS = revenue / spend.
Matches 9 May matrix ROAS exactly; net is approximate (matrix had per-row adjustments).
Use net_v216 + roas_v216 fields for the v2.16 model values;
matrix net + roas retained for audit comparison.
Financial Potential score (0-100): volume (0-30) + intent (0-25) + signal quality (0-20) + compliance (0-15) + existing financial signal (0-10). Click any sortable column header to rank by that dimension. Sort order toggles asc/desc on repeat click.
4
Wave 1 brand PMax (ready)
3
Wave 2 student urgency (DE/UK/US)
~15
Wave 3 TEST candidates
12
Wave 4 LAUNCH QUIETLY
£1,050
Default 14d test envelope
Priority clusters — campaigns grouped by launch block
Per Calum 12 May: rank in blocks of priority, not individual order. Each cluster has a target time band + budget envelope. PMax refresh first, students next, etc.
US RED-compliance hard-blocks (US Adderall 33, US ADHD 27, US Post-COVID 20) · banned-word row 29 (US N**tropics) · pilots/truckers Search (zero demand) · Ireland (delisted) · matrix-KILL without signal
DO NOT LAUNCH
Combination opportunities — campaigns that could share asset groups
Per Calum 12 May: which campaigns could be merged so they share AGs/ad groups? Lowers budget fragmentation. Icons indicate merge candidates. Use Calum's preferred pattern: "asset_group_within existing PMax" for test → graduate to standalone if validates.
Merge group
Candidates
Pattern
Why combine
Risk if combined
🔗 Cross-market topic PMax
pmax_uk_gaba + pmax_de_gaba + pmax_fr_gaba + pmax_us_gaba (4 GABA PMax) SAME for Dopamine (4 PMax)
One PMax with 4 AGs (one per market), shared creative library
Currently 8 PMax = 8 budgets that may starve. Single PMax with 4 AGs gets larger learning budget per topic.
Mixed-currency budget allocation; Google may auto-shift budget cross-market. Verify per-AG budget controls.
One campaign with 4 ad groups + per-market location targeting
Brand keyword is cheap; combined budget simpler. Per-market AG still has currency / locale control.
Per-language tROAS may diverge. Monitor and split back if needed.
🔗 Anxiety + Stress (UK)
Row 141 UK Anxiety + Row 142 UK Stress (both ELITE-only after v2.8 lock)
One UK ELITE Calm-Focus campaign with 2 ad groups
Same product (ELITE), same audience overlap, same LP (ELITE Calm Focus). Splits hurt budget learning.
Different kw match types may need negative-kw control per ad group.
🔗 Perimenopause + Cognitive Beauty
arch 15 UK Perimenopause + arch 17 US Perimenopause + reverse-eng row 160 Cognitive Beauty (Women 35-54)
One PMax "ELITE for Women 35+" with 3 AGs (UK peri / US peri / Beauty cross-shop)
Same audience (women 35-54), same ELITE product, overlapping signal. Reverse-engineered row 160 was orphan audience activation — merging into existing peri PMax = the AG-within pattern.
Compliance may differ per AG (peri AMBER vs Beauty GREEN). Use product_lock=ELITE consistent.
🔗 Esports US + UK
Row 130 US + Row 131 UK Esports
One PMax "Esports Cross-Market" with 2 AGs
Natural pair, same creative library, same competitor positioning.
US CPC is higher (£1.60 vs £1.02). Budget may skew US-heavy.
Consolidate to ONE PMax "Cross-Market Recovery" with ad-groups per segment (Lapsed / Cart / Subscription). Per-market AGs nested or per-language asset variants. (Updated v2.14 — Gemini consolidation.)
US lapsed list 40/400 too small to learn standalone. Combining gives shared budget envelope. Per Codex MEDIUM critique. Gemini v2.14: single PMax simpler than 2.
Cannibalisation: MUST EXCLUDE these audiences from brand prospecting campaigns. Hierarchy: the specialist (recovery PMax) owns valuable audiences; prospecting excludes them.
🔗 HR Productivity cluster
Row 150 + 151 + 152 + meta_global_hr_leaders
One full-funnel setup: Meta TOF (awareness) → Row 152 Content/AEO (consideration) → Row 150 Search B2B (conversion). Not "combine" but COORDINATE timing.
Cross-channel attribution for B2B sale takes weeks. Coordinate launch.
B2B Workplace Productivity LP is gating dependency.
🔗 Student exam cross-market
Row 100 UK + Row 101 DE + Row 102 FR + Row 103 US
4 standalone but coordinated launch wave. Each has different exam window so timing differs — NOT a single PMax.
Wave 2 priority but timing-staggered (DE Bayern peak now, UK starts 12 May, US AP final week, FR June).
Different language ad groups would need separate PMax anyway.
🔗 Persona-based Professional Performance PMaxGemini v2.14
NEW arch row 176 — combine "Focus for Coders" / "Energy for Executives" / "Creativity for Designers" into ONE PMax with 3 persona-targeted AGs.
One PMax, 3 AGs mirroring distinct customer mindsets. Leverages existing professional audiences: DETAILED_DEMOGRAPHIC 30023 Technology Industry + 30041 Financial Industry + AFFINITY 92913 Business Professionals + IN_MARKET 80279 Business & Productivity Software.
Audiences exist; persona framing mirrors how customers self-identify. Cleaner than generic "focus supplement" prospecting. Source: gemini.
Persona overlap (a designer also codes). AGs need distinct creative + product anchors to prevent cross-pollution.
🔗 Competitor Comparison row 163
Row 163 already cross-market UK+US in one row. 6 competitor sub-audiences (smart pills variants) can be one SEM campaign with 6 ad groups (Vyvamind / NZT / Modafinil / Ritalin / Adderall / Vyvanse).
Already designed as single campaign multi-AG.
Fills Codex funnel gap. Ship after LP build.
Per-competitor LP may be needed for landing-page quality score.
Analysis status per row — confirmation
Per Calum 12 May: confirmation that each row has data + intent + targeting analysis. Status across the 94 rows:
Analysis dimension
Coverage
Notes
✅ Data analysis (volume + CPC)
v2.17 update: 85 / 94 rows now have refreshed or modeled financials (was 71). Only 2 rows still flagged v2.17-kw-not-found after broader-kw second pass (UK SAT/ACT/IB lane + FR TDAH/ritaline — genuinely no DFS data at any tested variant). 7 rows remain on matrix data only (mostly PMax topic rows that inherit financials).
23 rows refreshed 11 May matrix pull + 6 anxiety/student pull + 6 reverse-audience (audiences validated, kw not yet pulled for all). $0.43 total spend. Remaining 39 rows have matrix-level data from MARGINAL-CONTRIBUTION 9 May.
100% of rows have signal_quality + channel fields set
PMax re-rated per Codex methodology: 1 HIGHEST (pmax_uk_brand with 1st-party), 3 VERY HIGH (DE/FR/US brand custom intent), 11 HIGH (in-market siblings), 4 MEDIUM (affinity-only). Search default HIGH. New rows reverse-audience tagged.
4-factor gate per Codex HIGH. UK/US RED-relaxation applied per Calum 11 May. Anxiety rows ELITE-locked per Calum 12 May. KILL category reserved for pilots/truckers/banned-word.
✅ Financial analysis (net + ROAS)
v2.17 update: All 27 SO#3 + Orphans rows have modeled net + ROAS. 6 lifecycle PMax rows modeled at target ROAS (UK lapsed £1,125/mo top). Wave 2 students 4 rows financialized (UK now uses better kw cluster). Only 2 rows still kw-not-found after broader-kw recovery.
From INCOME-PROJECTION + MARGINAL-CONTRIBUTION 9 May (Codex 5.5-reviewed with 3 HIGH corrections). Refreshed financials in tier-flip table for 23 rows.
Tested but did NOT validate (DataForSEO < 50/mo or zero matches)
Lane
Mkt
Tested kw
Result
Verdict
Next-step note
Software developers / deep work
UK + US
"best supplements for productivity", "deep work supplements", "supplements for programmers"
Both 10/mo only
NO ROW
Demand exists but under generic "focus supplement" kw already covered by existing rows. Don't build dedicated row.
Athletes / pre-competition focus
UK
"pre workout focus", "supplements for athletes focus"
Zero matches
NO ROW
Sports-nutrition niche has its own brands. Skip unless brand pivot.
Yoga / meditation cross-sell
UK
"supplements for meditation", "calm focus yoga"
10/mo
PMax test only
Per Codex: better as PMax custom-segment exploration. Search demand insufficient.
Shift workers
UK
"supplements for night shift", "focus supplement shift work"
Zero matches
NO ROW + LEGAL REVIEW
Codex HIGH regulatory risk (implied alertness during work). Needs legal review before any execution.
Pilots / Aviation alertness
—
—
Codex KILL — safety-critical
KILL
FAA-regulated implied performance. Do not launch.
Truck drivers / long-haul
—
—
Codex KILL — safety-critical
KILL
UK DVLA driving-fitness rules apply. Do not launch.
World days / seasonal gifts — NOT a search opportunity
DataForSEO finding: zero search-volume matches across Father's Day, Back-to-School, New Year wellness, World ADHD/Mental Health day kw clusters (4 separate UK pulls, all returned 0 items). Conclusion: people don't search "Father's Day brain supplement gift". They browse Amazon / brand stores or click ads. These are PMax custom-segment + Meta opportunities, not Search.
Event
Date 2026
Channel fit
Note
Father's Day
UK + US 21 June
PMax gift-buyer segment + Meta lookalike
Frame: "gift for thinking-loving dad". Test £5/d PMax custom segment in late May. Low intent but seasonal lift.
Mother's Day
UK 14 Mar (past), US 10 May 2026
PMax + Meta
Same pattern. Mostly past for 2026; plan for 2027.
Back to School
UK Aug-Sep, US Aug-Sep
PMax student-parent + life-stage segment
Overlaps existing student campaigns but for parents-of-students buying for kids.
New Year resolutions
1 Jan 2027
PMax + Meta wellness segment
"New year focus reset" — Q1 2027 build.
World Mental Health Day
10 Oct
Content/awareness, NOT direct sales
Per Codex HIGH: hard-gate on copy. Brand awareness lead, not conversion campaign.
World ADHD Day
18 Oct (Awareness Month all Oct)
Content, NOT direct sales
Same — disease-adjacent, content lead. Funnel from awareness to AMBER ADHD-supps row (28 / 27 — UK relaxed, US caution).
World Sleep Day
14 Mar
Skip — Brainzyme doesn't play in sleep category
Banned-copy-gate would hard-block sleep claims. Pass.
🎯 v2.18 correction — lifecycle infra ALREADY EXISTS in 3 of 4 markets
Calum's pushback (12 May) was correct. Earlier dashboard framing said “build 6 new lifecycle AGs”. Re-audit via GAQL of paused+removed asset groups shows:
UK / FR / US Lapsed: existing AG + named audience BOTH exist (paused). Action = UNPAUSE + asset refresh, not build.
DE Lapsed: audience 334944124 still exists, but AG was REMOVED. Action = rebuild AG only using existing audience.
Cart Abandoner / Subscription Reminder: No matching audience in account (GAQL confirmed). These rows ARE legitimate build-new work — define audience in Shopify segments, sync to Google Ads.
Why this matters: the action column below now distinguishes the 3 reactivate rows (lowest-effort, highest-ROI) from the 2 build-new rows (medium effort) and 1 rebuild-AG row (light effort). The cascade should start with REACTIVATE rows.
PMax ID
Mkt
Lane
Daily £
ROAS tgt
Action / AG / Audience
Signal quality
Fin
A/B test
Recommended
Your decision
Feedback
Wave 7 — Reverse audience-to-niche (NEW per Calum 12 May)
Calum directive 12 May: "With access to 100 ready custom audiences, you can think backwards from an audience to a niche need that the audience may have. Reverse engineering campaigns. If you've got a ready-made audience in Google, you've got your job already half done."
I scanned the 98-audience inventory for orphans (audiences that exist but have no active campaign attached). 6 new arch rows derived from real audience signals. Each row reuses pre-built signal — no new audience seeding required. Methodology banked at memory/feedback_reverse_audience_to_niche_methodology.md.
Arch ID
Mkt
Lane
Channel
£/d
Reverse-engineered from audience(s)
Niche need implied
Compl
Recommended
Your decision
Feedback
163
UK+US
Competitor Comparison — Brainzyme vs Vyvamind/NZT/Modafinil/Ritalin/Adderall/Vyvanse
TEST UK relaxed compliance. Demand Gen Video channel.
165
UK
First Job Focus (Graduating-soon life event 18-44)
DG_VIDEO
5
136138094 (Graduating-soon life event audience)
Graduates transitioning to first job — cognitive performance for new responsibilities
GREEN
TEST Annual Jun-Sep window, peak July. Pre-built life-event audience.
Other audiences worth investigating (not yet built into rows but flagged): 134497530 "Focus Brain Supplements Age 45+" (older demographic — distinct from perimenopause), 272053706 + 272052698 DE+FR Brand Awareness audiences (upper-funnel awareness lanes for non-converted markets), 5985050 "Competitors" (direct competitor research signal). All orphan candidates for next-pass reverse-audience activation.
🎯 v2.20 channel-funnel reroute (Calum 12 May)
Calum's strategic insight: Parents of Teens (life event audience) is TOP-OF-FUNNEL demographic, not high-intent. Forcing PMax to bid on a TOF audience burns budget — PMax optimises on conversion signals it can't find in awareness-stage searchers. Right channel for audience-led TOF = Demand Gen Video / Display / Meta TOF (CPM-based awareness bidding), not PMax (CPC/conversion-based).
4 Wave 7 rows re-channeled PMAX → DG_VIDEO: rev_160 Inside-Out Beauty (Brain fog 35-54 + Beauty Wellness — demographic) · rev_161 Travel Focus (Trips to Europe — purchase history) · rev_162 Home Office WFH (office supplies furniture — purchase history) · rev_165 First Job (Graduating-soon life event). All four lack kw-intent layers; PMax can't optimise audience-only signals. DG matches the funnel position.
NOT re-channeled: rev_163 Competitor Comparison stays SEARCH (kw-intent on competitor brand names = high mid-funnel intent). rev_164 ADHD DG Video already correctly DG_VIDEO.
Same logic applied to student season in Go-Live Dashboard v1.1: Parents-of-Teens campaigns are Demand Gen; student self-purchase keyword campaigns are Search/PMax. Channel split by audience-funnel match.
Codex + Gemini freestyle review synthesis
Codex says CONTRACT (REFINE verdict): architecture is over-fragmented for £40k/mo budget; recommend ship 10-15 launch slate not all 88 rows. Customer Match on sensitive categories = policy risk. Funnel gaps: NO mid-funnel comparison SEM (now FILLED by row 163), NO post-purchase upsell, NO win-back >180d.
Gemini says EXPAND: 5 provocative niches surfaced. Top picks worth pursuing: Menopause Brain Fog Lifters (career performance angle for existing perimenopause rows 15+17), Creator Economy Burnout-Proofers (content-led not paid-search — newsletter buys + podcast pre-rolls), Singapore "Kiasu" Edge (international expansion; Codex prefers Ireland first as UK infra carries over).
My synthesis recommendation: retract launch slate to 10-15 active campaigns (defer rest to backlog), FILL FUNNEL GAPS (row 163 done; still need post-purchase upsell + win-back), refresh perimenopause rows with career-performance angle (Gemini), add Creator Economy content-led campaign, validate Ireland before Singapore.
Wave 6 — HR Productivity Crisis cluster (NEW per Calum 11/12 May)
🔥 UK productivity crisis is a known HR pain point with no brain-nutrition competitor
Calum directive: "UK productivity crisis is well-known issue amongst HR managers. Hard to motivate people in UK to work harder. Brain nutrition might have a new angle on this. HR managers easily reachable EMEA Google Ads too." ONS UK productivity lagged peer economies ~15 years; CIPD surveys show motivation as top HR concern. Brand-new angle. 3-row SEARCH cluster + elevated Meta TOF row.
DEFER (waiting LP) B2B angle, HR procurement-friendly. Different LTV (one HR = 50+ person buy).
151
DE+FR
EMEA HR Productivity Search (mirror)
SEARCH
8
COMMERCIAL
GREEN
Row 150 validates + DE+FR LP translations
DEFER P2 EMEA mirror after UK validates
152
UK
UK Productivity Crisis Content/AEO (TOF)
SEARCH
5
INFORMATIONAL
GREEN
Long-form article + AEO schema
TEST TOF awareness funneling to B2B LP. AEO/GEO citation pickup.
meta_hr
UK+US
Meta TOF HR Managers (ELEVATED)
META TOF
15 (was 8)
INFORMATIONAL
GREEN
Meta interest + job-title targeting
GO Priority 1 per Calum elevation. Pair with row 150 B2B for full funnel.
AG re-segmentation playbook shipped:reference/data-contracts/google-ads-targeting-options.json §ag_resegmentation_playbook_2026_05_12 — specific audience ID assignments per asset group. Includes 4-AG split pattern for brand PMax (New Acquisition / Repeat Reorder / Cart Abandoner Recovery / Returning Browser No Purchase). Per-market mirroring (DE/FR/US) with verified Customer Match list IDs. Topic-PMax AOV split (ELITE buyers vs ORIGINAL/PRO trial). Exam-season audience overlay (4 study/exam audiences).
🔥 US Anxiety = 13,500/mo — the biggest unaddressed opportunity
DataForSEO 2026-05-11 finding. GABA ELITE positioning fits exactly. AMBER compliance — use natural-alternative-supplement framing (not treatment claim). Run UK Anxiety (450/mo) + UK Stress (210/mo) as siblings.
Arch ID
Mkt
Lane
Vol/mo
CPC
Compete
Intent
Compl
Recommended
Fin
Your decision
Feedback
Wave 5 — Meta TOF campaigns (low-intent niches that don't validate as Search)
Per Calum 11 May: "If there's low intent, then it's probably gonna be more top of funnel, and then it's gonna be more suitable for a Meta campaign." Six niches that returned ZERO Search demand validated on DataForSEO move to Meta for interest/lookalike-based discovery.
Meta ID
Mkt
Lane
Daily £
Intent
Reg risk
Compl
Source
Framing note
Recommended
Fin
Your decision
Feedback
Asset Group audit — intelligent re-segmentation opportunity
v2.18 CORRECTION (per GAQL re-audit 2026-05-12 + Calum pushback): Earlier v2.5 framing said “Customer Match lists are NOT attached to most asset groups” — partially wrong. Re-audit of all 168 PMax asset groups (ENABLED + PAUSED + REMOVED, not just the 22 enabled-only) shows that lifecycle audiences ARE wired up — they're in PAUSED AGs that the earlier audit missed. See reactivation block below.
Reactivation candidates (NEW v2.18) — paused AGs already wired with lifecycle signals
Source: GAQL SELECT asset_group_signal.audience FROM asset_group_signal WHERE campaign.id IN (...) covering all 4 main PMax campaigns. Pulled 2026-05-12.
Mkt
AG name
AG ID
Status
Audience attached (named)
Search themes
Reactivation note
UK
Brainzyme - GA4 Purchasers UK - 13/03/2025
6560152690
PAUSED
AssetGroupPersona_6560152690_2025-03-13
13 brand variants
Re-targeting signal. Unpause + asset refresh.
UK
COM - New Years - 12 Months Lapsed Customers
6652037396
PAUSED
COM New Years - 12 Months Lapsed Customers (named)
none
1st-party reactivation. Highest-ROI unpause. Asset build needed (no themes yet).
UK
COM - New Year
6651940479
PAUSED
COM New Years - Users, Purchasers
13 brand variants
Q1 wellness-resolution reactivation. Unpause.
UK
COM - Christmas
6645016184
PAUSED
COM Christmas - Users, Purchasers, In-market: Gifts & Occasions
34 themes (brand + Christmas gifts)
Q4 seasonal. Unpause Q4 2026 only.
UK
Brainzyme - GA4 All users UK - 13/03/2025
6560148160
PAUSED
AssetGroupPersona_6560148160_2025-03-13
13 brand variants
Broad GA4 retarget. Unpause as discovery layer.
DE
(REMOVED — needs rebuild)
—
REMOVED
DE New Years - 12 Months Lapsed Customers (audience survives, ID 334944124)
n/a
Audience-only survives. Build fresh AG attached to this audience.
FR
FR - New Years - 12 Months Lapsed Customers
6652094277
PAUSED
New Year - FR: 12 Months Lapsed Customers
none
1st-party reactivation. Asset build needed.
FR
FR - New Year
6651962440
PAUSED
AssetGroupPersona_6651962440_2025-12-28
13 brand variants
Q1 reactivation. Unpause.
FR
FR - Christmas
6645845410
PAUSED
AssetGroupPersona_6645845410_2025-12-14
~50 themes (brand + Christmas)
Q4 seasonal. Unpause Q4 2026 only.
FR
Brainzyme - GA4 All Users FR - 06/03/2025
6558372607
PAUSED
AssetGroupPersona_6558372607_2025-03-06
brand themes
Broad GA4 retarget. Unpause as discovery layer.
US
USA - New Years - 12 Months Lapsed Customers
6652100346
PAUSED
New Year - USA: 12 Months Lapsed Customers
none
1st-party reactivation. Smaller list (US younger market).
US
USA - New Years
6651978547
PAUSED
New Year - USA: Purchasers, Users
brand themes
Q1 reactivation. Unpause.
US
Brainzyme USA - Remarketing - All Users GA4 USA
6603194353
PAUSED
AssetGroupPersona_6603194353_2025-08
brand themes
Broad GA4 retarget. Unpause.
v2.18 cascade priority: 8 of the 12 rows above (the PAUSED ones with named lifecycle audiences) are unpause-only actions. Lowest effort, highest signal-quality. Start the cascade here.
Currently-live PMax asset groups (from GAQL SELECT asset_group, asset_group_signal FROM asset_group_signal)
Campaign (live name)
Asset Group
Audience signals attached
Re-segmentation opportunity
PMax UK (ex Legacy Smart Shopping)
Brainzyme brand (updated april 2024)
audiences/140319146 (1)
Should also attach UK Purchasers + Returning Users + Cart Abandoners for HIGHEST signal
PMax UK (ex Legacy Smart Shopping)
Brain Supplement Vitamin
audiences/123381268 (1)
Attach All Converters + Vitamins & Supplements in-market 80434 (more relevant than 80943)
PMax UK (ex Legacy Smart Shopping)
ADHD (focus pills)
NONE
UK relaxation per Calum unlocks this — needs attention/focus in-market + UK All Users 22k
PMax USA (ex Legacy Smart Shopping)
Brainzyme brand (relaunched 17.08)
audiences/322491457 (1)
Attach US Purchasers + Returning Users + Cart Abandoners
PMax DE Germany (ex legacy) - Ritalin
Ad group 1 - original (retargeting customers, visitors)
audiences/210677377 (1)
Already has retargeting tag. Attach DE Purchasers 260/860 + All Converters
PMax DE Austria - Ritalin
Ritalin AT
audiences/210168009 (1)
Austrian segment — verify market alignment with DE Customer Match lists
Existing PMax + UK New Users 8.2k + parents-of-teens lookalike seeded from Past Buyers
Layer student-season-relevant audience on top of brand demand for short windows.
Shopify-fed segment pass-through preference: Calum notes Shopify segments pass through cleanly to Google Ads while new GA4 segment creation has populated unreliably. Build new segments in Shopify Customers → sync to Google Ads rather than direct GA4 audience builders.
Recommendation: Brand search is well-covered by existing brand PMax retargeting. Total cross-market brand demand ~6,700/mo at avg LOW CPC ~£0.35. PMax retargets capture most of this organically via brand_searchers signal. Defer dedicated brand search build — not enough incremental over PMax. Revisit if PMax brand asset groups show search-term overlap leakage.
Mkt
Brand search decision
Your decision
Feedback
Wave 2 — Student exam season (URGENCY)
🔥 Exam-season heat map — ship this week, not next
Today is 11 May 2026. Student demand peaks in May across UK/DE/US. France lags to June.
Mkt
Heat NOW
Exam window 2026
Cohort context
Compliance lane available
Action
UK
PEAK STARTING 12 MAY
A-levels 12 May – 25 June · GCSEs 13 May – 19 June
Largest student cohort + highest search volume of the four markets. ~470k A-level + ~5.3m GCSE candidates.
GREEN only — UK RED on Modafinil/Ritalin/ADHD framing. Use "revision focus", "concentration supplement", "exam season focus" angles. Drop drug-comparison framing.
PRIORITY #1 — launch GREEN angle this week. Rev share dwarfs the others.
DE
PEAK NOW (Bayern)
Abitur late Apr – mid May (varies by Land). Bayern peak this week, NRW finishing
~450k Abitur candidates. "Lernen" niche is real and DE allows non-RED framing.
GREEN/AMBER — DE allows "natürliche Lernhilfe" / "Konzentration verbessern Studium". Drop "Ritalin lernen" framing per Google POM policy.
PRIORITY #2 — Bayern this week, then taper.
US
FINAL WEEK
AP exams 5 – 16 May. Past peak by 18 May. SAT/college finals roll on but quieter
~5m AP test-takers; finals already underway.
GREEN only — US RED on Adderall/ADHD framing. Use "supplements for studying", "study supplement college".
PRIORITY #3 — ship by 13 May to catch tail, or skip until autumn midterms (Oct/Nov).
FR
PRE-SEASON
Bac philosophie 16 June · Bac général through 24 June
~720k bac candidates. Heat builds late May into June.
PRIORITY #4 — schedule launch 22-25 May for run-up to Bac.
Per-market student campaign rows (recommended ranking by priority)
Pri
Mkt
Lane
Suggested kw
Vol/mo
CPC
Compliance
A/B test
Recommended verdict
Fin
Your decision
Feedback
Wave 3 + 4 — Full architecture, ranked + financialized
Per-row tables for all 47 architecture rows + 16 SO#3 pending + 11 KILL-tier orphans. Columns: refreshed CPC + new volume + targeting confidence + matrix financials + per-row verdict.
v4.0 search architecture (17 rows)
#
Mkt
Campaign
Vol/mo
Old CPC
New CPC
Δ
Signal
Band
Net £/mo
ROAS
Compl
Recommended
Fin
Your decision
Feedback
Phase B SO#3 expansion (16 net-new pending arch write)
Rank
Mkt
Lane
Vol/mo
Old CPC
New CPC
Δ
Signal
Band
Net £/mo
ROAS
Compl
Recommended
Fin
Your decision
Feedback
KILL-tier orphans pending triage
Rank
Mkt
Combo
Vol/mo
Old CPC
New CPC
Δ
Signal
Band
Net £/mo
ROAS
Compl
Recommended
Fin
Your decision
Feedback
PMax architecture (19 rows including the 4 brand Wave 1 + 15 topic)
Targeting confidence is computed from each campaign's audience signal stack. Custom-segment + retargeting = HIGH; demographics-only = LOW.
PMax ID
Mkt
Daily £
ROAS tgt
Signal quality
Time band
Signal stack
Inherited
Compl
Recommended
Fin
Your decision
Feedback
Secondary exam segment campaigns (new arch rows, v4.2)
Per Calum directive 11 May: add full set of secondary exam segment campaigns to architecture. Schema v4.2 adds time_band field for ranking by temporal urgency. Per-row decision controls below.
Arch ID
Mkt
Lane
Vol
CPC
Signal
Band
Compl
Recommended
Fin
Your decision
Feedback
Brand search campaigns (new arch rows v4.2 — defense-in-depth on PMax brand)
Per Calum 11 May: keep both PMax brand AND brand-search running. Search captures the conversions PMax retargeting misses. Cheap per-conversion. 4 new arch rows (UK/DE/FR/US).
Arch ID
Mkt
Brand kw
Vol/mo
CPC
Signal
Band
Compl
Recommended
Fin
Your decision
Feedback
Future opportunities — secondary exam markets + Meta speculative
UK student season is all ahead of us (A-levels start tomorrow 12 May). If we ship the UK GREEN-reframe in 24-48 hours we catch the full 6-week window. DE Bayern in peak this week. FR Bac ahead in June. US AP has 5 days left — only genuine miss.
Secondary exam markets (post-student season planning)
Segment
Window 2026
Volume signal
Compliance
Target conf
Notes
UK driving theory test
Year-round, ~2M/yr
HIGH — explicit kw "driving theory revision"
GREEN
HIGH
Evergreen demand. Cheap CPC. Strong target match.
ACCA / CIMA / CFA
Sep + Dec sittings
MED — niche
GREEN
HIGH
HIGH kw + custom audience (ACCA forum visitors). Professional demographic premium.
PMP / Medical boards / Bar
Quarterly
MED — US-heavy
GREEN
HIGH
US opportunity Q3/Q4. CPC higher but professional CR strong.
IB / SAT / ACT
Oct-Dec peak
HIGH — student parents
GREEN
HIGH
HIGH kw + life-stage signal (parents of teens). Premium audience.
Lower intensity than A-levels; year-round revisit.
Meta speculative targeting (Q3 opportunity, not now)
Meta Andromeda (live since Q4 2024) needs proper signposting:
Conversion API event quality — strong events (purchase, add-to-cart, sign-up), not page-views
Broad audience + creative diversity so the model can learn who responds
Custom audience seeds ≥1k purchasers ideal for lookalike-based discovery
Multi-touch creative 3-5 ad variants per ad-set minimum for Andromeda auto-optimisation
Verdict: Meta speculative is a Q3 opportunity once Wave 1 brand revival + Wave 2 student data are flowing as seed signal. Not a now-thing. We need ~1,000 confirmed purchasers as a lookalike seed before Andromeda can find more.
Notes & canonical references
Canonical Google Ads targeting reference:F:/Agentic-OS/reference/data-contracts/google-ads-targeting-options.json — real in-market segments + affinity audiences + Customer Match / Remarketing list inventory from the brainzyme account. Replaces earlier conjectured signal labels. Re-pull monthly minimum.
Targeting confidence scoring: Search keyword campaigns score HIGH by default — direct intent signal. PMax score depends on signal stack: Retargeting + Custom segments = HIGH; In-market + Affinities + Life stages + Demographics = HIGH (stack of 4); Affinities + Demographics only = MEDIUM; Demographics only = LOW.
14-day £5/day TEST framework: Validates policy approval + signal quality (CTR, CPC, search-term coverage). NOT enough volume to validate ROAS at £70 total exposure. Use real-world signal for refine/scale/kill after 14d.
4-factor RED-compliance gate (Codex 5.5 HIGH):market_claims_ok + google_policy_ok + landing_page_ok + legal_review_required. Google's drug-term policy applies all markets — UK Modafinil, US Adderall, ADHD-comparison rows hard-DEFER regardless of regulator stance.
Inbox server v2.0 needs restart for v2 envelope validation to work. Until restart, submissions return 400. Restart: cd F:/Agentic-OS && python tools/inbox_server.py --port 7392
Confirmed decisions: 0 · Feedback: 0 · double-tap a verdict to confirm