Three platforms. One plan. One approver.
Plan-driven Google + Meta + TikTok ad management. Hourly budget reallocation based on attribution-engine ROAS rollups. Per-account token-bucket throttle. Approval gates for high-blast-radius actions. Every mutation snapshot-and-undo, every action audit-logged.
Three ad platforms. Three sets of dashboards. Three sets of rate-limits.
Most teams run them in parallel and reconcile in spreadsheets. The reconciliation is the bug.
"Where does each dollar go?"
Operators allocate $X to Google, $Y to Meta, $Z to TikTok manually. ROAS comparisons happen in a Looker dashboard the next day. Decisions lag.
429s eat the day.
Run a bulk update across 14 client accounts. Half the calls 429. Half succeed. State diverges. Now you reconcile by hand.
Bad bid set, no rollback.
An operator pushed bids 30% high to Meta. By the time anyone noticed, $14k was spent. No snapshot, no undo.
Plan. Allocate. Approve. Dispatch.
Every campaign action is a node in the plan DAG, gated by ROAS thresholds + approval rules.
Plan defined as DAG
Operator defines campaigns, budgets, target ROAS, approval thresholds. Plan persists as a typed graph; phases have explicit transitions.
Hourly optimizer runs
Reads attribution-engine ROAS rollups across all platforms, proposes hourly budget shifts. Recommendation-only at Pro; auto-apply at Enterprise (above approval threshold).
Gate at thresholds
Bid adjustments above plan threshold (e.g. >$500/day) route to approval queue. Full context — simulated impact, historical ROAS, traceId — surfaces in one card.
Throttled mutation
Per-account token bucket. 429 → backoff → retry. Snapshot before, audit after, undo on demand. Every mutation traces back to the plan + the approver.
Three platforms. One planner. Hourly cadence.
The exact runtime topology. Hover any node to inspect.
Three concrete moves customers made.
Anonymised but representative.
Three platforms, one plan
An agency runs $1.4M/mo across Google + Meta + TikTok for a single brand. Sumeru's planner shifts budget hourly between campaigns based on attribution-engine rollups. The agency reviews the plan; the runtime executes.
Budget optimizer caught a tail dip
TikTok ROAS dropped 8% on a Tuesday afternoon. The optimizer proposed shifting $4,200/day to Meta where ROAS held. Approver one-clicked. Blended ROAS recovered within 36 hours; lift sustained 4 weeks.
Approval queue for high-blast actions
Bid adjustments above a $500/day threshold route to a human approver. The full plan, the simulated bid impact, and the historical ROAS context land in one card. Approver clicks once. Mutation dispatches with audit.
What's available where.
| Capability | Starter | Pro | Agency | Enterprise |
|---|---|---|---|---|
| Google Ads · read + write | ✓ | ✓ | ✓ | ✓ |
| Meta Ads · read + write · CAPI | — | ✓ | ✓ | ✓ |
| TikTok Ads · read + write · Events API | — | ✓ | ✓ | ✓ |
| Multi-platform plan DAG | — | — | ✓ | ✓ |
| Daily budget optimizer | — | ✓ | ✓ | ✓ |
| Approval queue · agency-tier | — | — | ✓ | ✓ |
| Per-account token-bucket throttle | ✓ | ✓ | ✓ | ✓ |
| Plans + ad accounts (max) | 1/2 | 20/10 | 100/50 | 999/999 |
See orchestration on your own ad accounts.
We connect to your Google + Meta + TikTok, run the optimizer in dry-mode for an hour, and walk through every recommendation with traceback to ROAS data.