Skip to content
Module 05 · Campaign Orchestration · live

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.

Platforms
0
google · meta · tiktok
Plans
0
agency · concurrent
Reallocation
1h
budget shift cadence
Throttle
429
retry · backoff · per-account
The problem

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.

No unified plan

"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.

No throttle

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.

No undo

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.

How it works

Plan. Allocate. Approve. Dispatch.

Every campaign action is a node in the plan DAG, gated by ROAS thresholds + approval rules.

01 · Plan

Plan defined as DAG

Operator defines campaigns, budgets, target ROAS, approval thresholds. Plan persists as a typed graph; phases have explicit transitions.

02 · Allocate

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).

03 · Approve

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.

04 · Dispatch

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.

The pipeline

Three platforms. One planner. Hourly cadence.

The exact runtime topology. Hover any node to inspect.

ORCHESTRATION · PIPELINE plan · allocate · approve · dispatch
Cadence · hourly · 3 platforms · live
google ads campaigns · bids · MCC meta ads CAPI · audience sync tiktok ads events api · cv upload attribution rollup ROAS · per-channel plan dag phases · transitions ORCHESTRATION ENGINE idempotent · audited · multi-tenant 01 · ALLOCATE 02 · APPROVE 03 · DISPATCH Optimizer ROAS-aware shifts · read rollup· compute Δ· propose plan· score risk hourly cadence Gate at threshold agency · enterprise · >$500/d gate· approval queue· context card· 1-click apply· or auto · enterprise blast-radius gated Per-platform mutation throttled · audited · token bucket· 429 → backoff· snapshot · undo· audit row 145 RBAC permissions · 365d audit retention · snapshot + undo on every action google · bid mutate MCC-aware · CV upload meta · CAPI audience · CV upload tiktok · events api audience · CV upload audit log 365d · plan · approver
5 sources · 3 stages · 3 ad platforms · 4 outputs
How it is used

Three ways this earns its place.

Capability, not customer outcomes - we have none to report yet. Each of these is demonstrable in the architecture review.

3
ad platforms, one plan

Three platforms, one plan

Google, Meta and TikTok execute from a single plan, with budget reallocated hourly against attribution-engine rollups rather than each platform's own conversion count. You review the plan; the runtime executes it. Spend-affecting changes serve the 7-day dry-run first, however confident the planner is.

Hourly
reallocation cadence

Reallocation on the hour, not the week

When ROAS slips on one platform mid-afternoon, the optimizer proposes moving budget to where it is holding and shows the attribution rollup it based that on. A human approves the shift. Whether hourly cadence beats your current weekly review depends on how volatile your auctions are - which is measurable before you buy.

1-click
approval gates

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.

By tier

What's available where.

CapabilityStarterProAgencyEnterprise
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/220/10100/50999/999
30-minute call

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.