Skip to main content

// for performance marketers

Spend smarter across every channel — auditably.

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.

4 channels, one spine Customer Match audit-trailed Per-action rate limits

// why performance marketers pick magistry

A teammate that watches the channels you can't keep five tabs open on.

Pacing, bids, audiences, creative briefs, anomaly response — Magistry runs the cycle inside your floor and ceiling, so you focus on the bets, not the babysitting.
01

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.

02

Anomaly responder catches drops before the dashboard does

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.

03

Customer Match cohorts rebuild themselves nightly

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.

04

Creative fatigue triggers briefs the day it shows up

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

What Magistry did across your channels this week.

An illustrative week with the Campaign Specialist in live mode — every bid, budget, audience, and brief a row in ad_decision_log.
  • Caught Meta CTR decay on the hero static at frequency 4.2 — proposed the pause, briefed 3 replacement statics, queued for your sign-off by 09:00 Tuesday.
  • Shifted €1,840 from PMax to branded Search overnight after blended ROAS broke 3.4 — every reallocation a row in ad_decision_log with the reverse op.
  • Rebuilt Customer Match cohorts: refunders -1,121, lapsing 90d +3,408, LTV>€400 +192 — pushed to Google Ads UserLists in audit-trailed writes.

// from your dashboard

One spend shift. One reason. One reverse op.

Every campaign move Magistry makes is a row in ad_decision_log — bid changes, budget shifts, audience writes, RSA drafts. Here's an example row from a nightly anomaly response.
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

One Slack ping. One reason. One revert.

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.

otto: 02:41 — shifted €320/d PMax → Search · blended ROAS 3.44 > floor · revert

// measurement

Your bids are only as good as your data.

Magistry ships its own measurement stack: server-side tracking on your domain, an identity graph across devices, conversion delivery to Google, Meta, TikTok, and Pinterest — and POAS bidding that optimizes spend on verified profit instead of platform-reported revenue.
  • Pixel-loss-proof: events captured first-party, server-side
  • One purchase = one journey, not four platform claims
  • POAS gated on Tier-A verified costs — never on guesses
  • Attribution model you can inspect, not a black box
Explore Tracking & Attribution →
app.magistry.io/dashboard/tracking
Trackingserver-side · first-party
pixel-loss proof
event stream · live
  • purchase$86.00identity · 3 touchpointsevt_8f31
  • add_to_cart$129.00identity · 1 touchpointevt_8f2e
  • page_viewnew visitorevt_8f2b
conversion delivery
  • Googledelivered
  • Meta CAPIdelivered
  • TikTokdelivered
  • Pinterestqueued
profit on ad spend
2.1poasROAS 3.4
bidding on margin, not revenue

// why the log matters

Every ad move, a row you can audit and reverse.

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

Stop reconciling four ad dashboards. Run one spine.

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