Paid Ads Decision Surface

as of 2026-08-12 · generated 2026-08-12T10:51:01+00:00
Vinty_Paid_Ads_Operating_Framework_v1 §5 (ratified 20/07/2026) · thresholds: paid-ads/engine/switch.py
conversions: GA4 ecommerce_purchases by campaign (Option A)

Observe mode — every verdict below is a proposal under review, not an instruction that has been ratified. Nothing here executes; the loop's only effect is writing this page. Promotion is a manual flag after four clean weekly spot-checks (AT6).

Monday — the full switch

Scope: google only. meta: not pulled yet — frequency-KILL and Meta ROAS unavailable.

EntityWindowGA4-true ROASConvFreqSpendAuditVerdictRyzeAction prompt
PMax-NeilEllis funnel · google 28d 0.00x / 0.31x 0 R 408 HOLD Hold - note for next week below_conversion_floor
PMax-SalesGeneral funnel · google 14d 1.49x / 1.29x 6 R 7,782 CUT Throttle -20%
PMax-XCellar-2512 funnel · google 28d 1.69x / 3.43x 7 R 9,807 HOLD Hold - note for next week
SEARCH-BRAND-v2605 campaign · google 28d 41.44x / 49.26x 10 R 505 HOLD Hold - note for next week destination_audit_unknown
SEARCH-NONBRAND-v2605 funnel · google 28d 3.72x / 1.65x 8 R 3,808 HOLD Hold - note for next week
SEARCH-SALES-v2602 funnel · google 28d 0.84x / 0.00x 2 R 2,789 HOLD Hold - note for next week below_conversion_floor

Thursday — safety subset

Safety subset — Gate 0, KILL candidates and pace only. CUT and SCALE are structurally absent (AT3).

EntityWindowGA4-true ROASConvFreqSpendAuditVerdictRyzeAction prompt
PMax-NeilEllis funnel · google 28d 0.00x / 0.31x 0 R 408 HOLD Hold - note for next week below_conversion_floor
PMax-XCellar-2512 funnel · google 28d 1.69x / 3.43x 7 R 9,807 HOLD Hold - note for next week
SEARCH-BRAND-v2605 campaign · google 28d 41.44x / 49.26x 10 R 505 HOLD Hold - note for next week destination_audit_unknown
SEARCH-NONBRAND-v2605 funnel · google 28d 3.72x / 1.65x 8 R 3,808 HOLD Hold - note for next week
SEARCH-SALES-v2602 funnel · google 28d 0.84x / 0.00x 2 R 2,789 HOLD Hold - note for next week below_conversion_floor

This surface proposes. It never executes an ad change — ratification happens at the gate, and execution routes through the governed executor with post-write read-back.