signal_collector
Reads live performance per ad-group, search-term volume, audience overlap, and conversion lag. Builds the rolling window every cycle starts from.
// writes
performance_window
// campaign specialist
Magistry manages your Google Ads account against Shopify margin data, not just platform ROAS. Budgets move within clamps you set, tROAS targets shift only on evidence, PMax runs feed-only, RSAs get rewritten, and negative keywords are mined from search terms every cycle. Eight specialist skills run as one planner-judge-executor loop, and every change lands as a scored ad_decision_log row you can read — and reverse in one click.
cycle : 2026-05-25T09:00Z
channel : google_ads
campaign : pmax 'EU/Linen/Throws'
planner : 3 candidate moves
├─ ADJUST_BUDGET +18%
├─ BID_STRATEGY → target_roas
└─ NEGATIVE_TERMS +4
judge : score 0.91 (above 0.85 floor)
policy_mode = autonomous
rate_limits = within bounds
executor : applying 1/3
→ ADJUST_BUDGET applied
─ BID_STRATEGY queued (24h)
─ NEGATIVE_TERMS queued (judge2)
logged : ad_decision_log#21498
next_cycle : 2026-05-25T13:00Z// eight skills
Reads live performance per ad-group, search-term volume, audience overlap, and conversion lag. Builds the rolling window every cycle starts from.
// writes
performance_window
Adjusts budgets inside hard ±20% clamps and steers tROAS targets within policy windows. Reasons cited by anomaly headroom — never pace-blind raises.
// writes
ADJUST_BUDGET · TARGET_ROAS
Detects creative fatigue per ad-group via decay slope. Briefs fresh angles — RSAs, image concepts, copy variants — before the budget bleeds.
// writes
CREATIVE_BRIEF
Turns briefs into ready assets — on-brand RSA copy, generated images, and video — naming conventions enforced, stored and ready for push.
// writes
creative_assets
Uploads through AssetService and links via AdGroupAssetService. Idempotent — re-runs never duplicate, every push leaves an ad_decision_log row.
// writes
Google Ads
Maintains Customer Match lists via OfflineUserDataJobService — refunder exclusion, complaint cohorts, high-LTV repeaters, all rebuilt nightly.
// writes
AUDIENCE_WRITE
Subscribes to Catalog Specialist transitions. When a SKU becomes ON_DISCOUNT, its ads update copy + bid; when DRAFTED, ads pause. No human relay.
// writes
cross-agent bus
Watches for spend spikes, conversion drops, MER breaks. Auto-pauses inside rate-limit bounds, files the evidence, pings the operator with the row.
// writes
PAUSE · RESUME
// the real product

// channels
Google Ads API · live execution
Connector · proposal-only
Connector · proposal-only
Connector · proposal-only
// customer match
Anyone refunded twice in 90d, excluded from prospecting.
Top decile LTV, repeat customers — fed as lookalike seed and lifecycle retargeting.
Customers who triggered escalations, suppressed from acquisition until resolved.
Bought within 48h of a discount window — primed for clearance offers, suppressed from full-price.
// how it works
Every list ships with a counterpart suppression list — your refunders never see a prospecting ad again.
// ad_decision_log
agent : campaign
skill : bid_pacing
channel : google_ads
target : pmax 'EU/Linen/Throws'
action : ADJUST_BUDGET
delta : +18% daily cap (€640 → €755)
window : 14d perf window
reason : MER 4.1 → 4.8 (↑17%)
search-impr-share headroom = 38%
competitor-overlap delta = −9%
evidence : [signal_window#11203,
anomaly_check#771,
confidence=0.91,
policy_mode=autonomous]
rate_limit : budget_changes_per_week 3/8 (ok)
applied_at : 2026-05-25T09:14:02Z
applied_by : campaign_agent.bid_pacing.v3
status : APPLIED
reversal : ADJUST_BUDGET delta=−18% (1-click)// llm cost tracking
// llm_monthly_cap_usd
$240
Per store, configurable per channel.
// purpose tags
18 unique
Every call attributed to a skill, never anonymous spend.
// auto-degrade
read-only
Over cap → cease generative writes, alert operator.
// campaign specialist
OAuth your ad accounts and the Campaign Specialist will run its first plan-judge cycle in dry-run inside an hour. Flip the policy mode to autonomous when you trust what you see.
Rate-limited · Reversible · Append-only
We use cookies to run this site, to see which pages help, and to measure which ads bring people here. You choose per category; everything except the strictly necessary is off until you say otherwise. Cookie policy · Privacy