Skip to main content

Budget optimizer

Why this matters for your business

Most ad spend is allocated weekly at best, monthly at worst. "Meta gets $20K, Google gets $15K, TikTok gets $5K." A campaign that's underperforming burns through its $20K for the rest of the month before anyone notices and rebalances. A campaign crushing it stays bottlenecked at its allocation when scaling it would print money.

The budget optimizer rebalances continuously. Every hour, it reads ROAS across every campaign and every platform; if a campaign is over-performing the target by 30%, it shifts more budget to it; if a campaign is under-performing by 40%, it throttles. Within guardrails you set, the system makes hundreds of small adjustments per day — adjustments your team would never make manually.

The result: same total budget, ~25% better ROAS. The same money spent more wisely.

What this typically unlocks

OutcomeResult
Cross-platform ROAS at flat budget+25% typical lift
Time spent on weekly budget rebalancing0 (was ~3h/week)
Wasted spend on saturated campaigns−40%
Velocity of scaling winnerssame-day vs. weekly
Surprise overspend incidentsnear 0 with budget gates

What you actually get

CapabilityDescription
Hourly ROAS readAcross every campaign on every connected platform
Within-platform reallocationMove budget between campaigns on Meta, etc.
Cross-platform reallocationMove budget from Meta → TikTok if TikTok ROAS is winning
Budget gatesHard caps that the optimizer will never exceed
Manual approve mode (default)Suggestions surface; you click approve
Auto-approve within bounds (Agency+)Auto-execute changes ≤ X% of total spend per day
Audit logEvery reallocation logged with reasoning
Pause / disableOne-click revert to baseline

How it works

What you set up once

SettingPurpose
Target ROAS per goal"Acquisition campaigns target 3×; retargeting 5×"
Total budget per periodDaily / weekly / monthly cap; never exceeded
Per-platform min/max"Meta no more than 60% of spend; TikTok at least 10%"
Per-campaign min"Brand-awareness campaign always gets at least $100/day" (protects strategic spend)
ModeManual approve / auto within X% / fully auto (Agency only)
Reallocation aggressivenessConservative (slow drift) / standard / aggressive

Reallocation in action (example)

Day 0 baseline:

  • Meta acquisition: $200/day (ROAS 4.2× — at target)
  • Meta retargeting: $100/day (ROAS 6.1× — over target)
  • Google search: $150/day (ROAS 3.8× — at target)
  • TikTok awareness: $50/day (ROAS 2.1× — under target)

Day 1 (after one day of optimizer):

  • Meta acquisition: $200/day (no change)
  • Meta retargeting: $130/day (+$30) — outperforming
  • Google search: $160/day (+$10) — slight outperform
  • TikTok awareness: $10/day (-$40) — throttled, will reassess in 7d

Total daily: $500 (unchanged). Reallocation: $40 moved from underperformer to overperformers.

Over a month: ~$1,200 of "wasted" TikTok spend redirected to campaigns earning 4-6×. Net: ~$3,600 more revenue at flat budget.

Holdout-based validation (Agency+)

A 5-10% always-on holdout on the optimizer itself lets you measure the optimizer's incremental value:

PeriodCohortAvg ROAS
Q1 2026Treatment (optimizer ran)4.4×
Q1 2026Holdout (manual baseline)3.5×

Lift = +0.9× ROAS = +25.7% at the same total spend. That's the optimizer's actual contribution, not just an attribution claim.

Real merchant scenarios

Scenario A — DTC brand sees +28% ROAS in 90 days

Setup. $40K/month ad spend across Meta + Google. Manual reallocation weekly.

Switched to optimizer in manual-approve mode. Reviewed suggestions daily for first 2 weeks; trusted thereafter.

Result over 90 days:

  • ROAS: 3.6× → 4.6× (+28%)
  • Spend: $40K/month (unchanged)
  • Daily ROAS variance: tightened (high days less high, low days less low — optimizer smooths)

Scenario B — Agency runs auto-approve for clients

Setup. Agency tier, manages 12 brands. Configured each client's optimizer in auto-approve mode with ±20% daily cap.

Operational gain: Agency staff spend ~30 min/day per client on ads (reviewing optimizer decisions in audit log) vs. 2-3 hours/day pre-optimizer.

Per-client lift: Average +22% ROAS across the portfolio.

Scenario C — Brand catches a runaway campaign before it ran away

Setup. New campaign launched, optimizer in manual mode.

Day 1 of campaign: Suggestion appeared: "Throttle this campaign by 80% — ROAS 0.4× vs. target 3×."

Investigation: Campaign was targeting wrong audience due to typo in saved audience definition.

Result: Caught at $80 wasted instead of $1,500. Audience fixed, campaign relaunched. Optimizer's daily check is the canary.

Best practices

Start in manual-approve mode for the first month. Build trust by reviewing suggestions; flip to auto-approve when you trust the rebalancing.

Set per-campaign minimums for strategic spend (brand awareness, new-market tests). Without minimums, the optimizer will starve them in favor of attribution-rich performance campaigns.

Use holdouts to prove the lift — especially if justifying the platform internally.

Review the audit log weekly — not the dashboard. The log tells you why changes happened; the dashboard only shows what happened.

Don't run optimizer on a campaign without enough data. Below 100 conversions, ROAS is noise — the optimizer respects this and won't act on low-data campaigns, but verify before launching.

Don't override the optimizer's throttle suggestions manually. If the system says "this campaign isn't earning," investigate why before re-pushing budget at it.

Don't set aggressive mode on day 1. Conservative for first 30 days; standard thereafter unless you have a reason.

Plan tiers

CapabilityFreeStarterProAgencyEnterprise
Hourly ROAS monitoring
Manual-approve mode
Within-platform reallocation
Cross-platform reallocation
Budget gates
Auto-approve mode
Holdout-based validation
Custom optimization rules

See also