Budgets pace inside your guardrails, not against them
Daily caps, lifetime caps, channel splits, blended ROAS floor — Magistry adjusts bids and budgets nightly without breaching a single rule you set.
// for performance marketers
Magistry's Campaign Specialist executes on Google Ads inside the rules you set — with Meta, TikTok, and Bing reached through the ad connectors and feed syndication — while the Marketing Brain holds one plan across channels inside a budget envelope and a verdict engine scores every applied move win or loss. Budget pacing, bid switches, Customer Match audiences, anomaly response — every move a row in ad_decision_log. Every move reversible.
// why performance marketers pick magistry
Daily caps, lifetime caps, channel splits, blended ROAS floor — Magistry adjusts bids and budgets nightly without breaching a single rule you set.
ROAS down 23% on a winning ad-group at 11pm? Magistry pauses the bleed, writes an explanation, and queues a creative brief for the morning — without waking you.
Refunders, complainers, LTV repeaters, lapsing buyers — cohorts push to Google Ads UserLists as audit-trailed writes (GA4 audiences flow to Ads), with Meta and TikTok syncs queued as proposals. Not CSV uploads from a coffee shop.
Magistry watches CTR + frequency curves per ad. The moment decay starts, it briefs replacement RSAs and statics — never the day after the budget has already bled.
// this week
// from your dashboard
ad_decision_log #12,884 ── 2026-05-25 02:41 UTC
agent campaign_specialist
action BUDGET_SHIFT
from google_pmax::all_products EUR 320/d
to google_search::top-converters EUR 320/d
trigger blended_roas 7d 3.44 > floor 3.20
pmax_ctr 7d -19% vs 28d
search_roas 7d 4.71
guardrails campaign_split max 60/40 — OK
daily_cap unchanged — OK
rate_limit 1/24h per group — OK
mutation google_ads.campaign.budgetUpdate
revert restore prior split (1-click)
status APPLIED
operator auto (gate=allow, kill_switch off)// what you actually see
You wake up to a one-line summary: what shifted, why, and whether anything needs your call. The CFO question is answered before they ask it — because the row says so.
// measurement
// why the log matters
The ad_decision_log is the point: every pacing decision, audience write, and creative brief lands as a row you can audit and reverse. When finance or an agency asks ‘why did that change?’, the answer is a row with the evidence attached — not a reconstruction from memory.
// spend, audited
Spin up a tenant, connect Google, Meta, TikTok, and Bing, and watch every pacing decision, audience write, and creative brief land as a reversible row in ad_decision_log.
Operator-owned kill switch · Dry-run from day one
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