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 runs Google, Meta, TikTok, and Bing inside the rules you set — 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 — segments sync to Meta, Google, TikTok, and Klaviyo as audit-trailed writes, 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 meta_advantage::US-LAL-3 EUR 320/d
trigger blended_roas 7d 3.44 > floor 3.20
pmax_ctr 7d -19% vs 28d
advantage_roas 7d 4.71
guardrails channel_split max 60/40 — OK
daily_cap unchanged — OK
rate_limit 1/24h per group — OK
mutation google_ads.campaign.budgetUpdate
meta_ads.adset.budgetUpdate
reverse_op restore prior split (1-click)
status APPLIED
operator auto (gate=allow, kill_switch ON)// 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.
// what performance marketers are saying
“The ad_decision_log is the killer feature. Every move is a row we can audit and reverse. My CFO sleeps better, my agency stopped asking 'why did you change that' on Mondays, and I stopped writing post-mortems about overnight pacing.”
// 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.
Kill switch ON by default · Dry-run from day one