Pulsar · Field guide · No. 31 · Where the budget lives, what each mode is for, and the creative-count math — with worked examples.
Who Holds the Budget?
One switch changes everything downstream: ABO gives every ad set its own fixed budget — tests stay readable. CBO pools the budget at campaign level — Meta feeds whatever wins. Pick by the job, not by habit.
One switch, two philosophies
Every Meta campaign answers one structural question before it spends a pound: who holds the budget? Hold it at the ad-set level (ABO) and each ad set gets a fixed daily slice no matter what. Hold it at the campaign level (CBO) and Meta's algorithm routes the pool toward whatever's converting, hour by hour.
ABO
ad-set budget optimization
You decide the split. Every ad set is guaranteed its spend — nothing gets starved, nothing gets favored. Control at the cost of efficiency.
CBO
campaign budget optimization
Meta decides the split. Money flows to the ad set (and creative) with the best signals. Efficiency at the cost of control.
Neither is "better." They answer different questions: ABO answers "which of these works?" — CBO answers "how much can the winner do?"
What actually changes underneath
The switch isn't cosmetic — it changes three real mechanics:
| ABO | CBO | |
|---|---|---|
| Spend per ad set | fixed — exactly what you set | fluid — can be 80/15/5 by tonight |
| What gets protected | the experiment — every arm gets funded | the outcome — winners get fed |
| Failure mode | money burned on losers you didn't cut | a promising arm starved before it could prove itself |
That third row is the whole decision. In a test, "Meta starved it" ruins the answer — you never learn whether the audience was bad or just unfunded. In scale mode, protecting losers is pure waste — you want starvation of the weak.
Worked example 1 — the test that stayed readable
A store wants to know which audience buys: interests, 1% lookalike, or broad. Budget: 450 EGP/day, one week, the same two creatives in every ad set (one variable: the audience).
ABO · 150 EGP each, guaranteed
After 7 days: interests 1,050 EGP → 4 purchases (CPA 262) · lookalike 1,050 → 9 purchases (CPA 117) · broad 1,050 → 2 purchases (CPA 525). Equal funding, honest comparison: the lookalike leads — and because the funding was equal, the lead means something. Fine print: 9 vs 4 in a single week isn’t yet a provable 2× gap (statistically you want ~20+ conversions in the weaker arm). So read it as direction, not proof — run it long enough to earn the call.
Now run the exact same three audiences under CBO. Broad and the 1% lookalike overlap heavily, so under one pooled budget they collide in the same auction and Meta enters whichever is momentarily cheaper — usually broad. By day 7 the pool has drifted to roughly 2,500 / 400 / 250. Hold every arm’s own CPA fixed and count what the same 3,150 EGP actually buys:
| Audience (its own CPA) | ABO — equal slices | CBO — routed pool |
|---|---|---|
| 1% lookalike · 117 | 1,050 → 9.0 | 400 → 3.4 STARVED |
| Interests · 262 | 1,050 → 4.0 | 250 → 1.0 |
| Broad · 525 | 1,050 → 2.0 | 2,500 → 4.8 |
| Same 3,150 EGP buys | 15.0 purchases · CPA ~210 | 9.2 purchases · CPA ~340 |
Worked example 2 — the scale that fed itself
The lookalike won. Now the job flips: not "which works?" but "how much can it do?" New campaign — CBO, 600 EGP/day, two proven ad sets (the 1% lookalike + a 3% lookalike to widen), 4 creatives each.
CBO · the pool follows the sales
Meta routes ~70% to the 1% lookalike while it converts, drifts spend toward the 3% as the small pool saturates, and inside each ad set concentrates on the best creative automatically. Nobody re-splits budgets at midnight. The structure does the optimizing.
The same setup on ABO would have you manually rebalancing two budgets every morning — guessing yesterday's answer to today's auction. That's a job the algorithm simply does better, once direction is proven.
Does ABO need more creatives? The real math
Common question — and the honest answer is: there's no direct rule tying budget mode to creative count. What ties them is budget-per-creative, and it pushes the two modes in opposite directions:
| ABO ad set (fixed slice) | CBO ad set (pooled) | |
|---|---|---|
| Creatives per ad set | 1–3 — few, well-fed | 3–6 — Meta routes to winners |
| Why | Meta concentrates delivery on 1–2 ads within days — 4 of 6 barely spend, so you learn nothing about them, and each creative you add later is a significant edit that resets the ad set’s learning | losers get starved automatically, so a spare creative costs almost nothing to carry |
| Across the campaign | total may still be high (many ad sets × few each) | fewer ad sets, more creatives inside each |
One myth to kill first: the learning phase is measured per ad set, not per creative — creatives inside an ad set pool their conversions toward the ~50/week bar. So a 150 EGP/day ad set makes ~21 conversions a week whether it holds 1 creative or 6; loading more creatives does not help it exit learning (to exit in a week it would need ~357 EGP/day at a 50-EGP CPA). The real cost of six creatives in a thin slice is different — and worse: Meta pushes delivery onto one or two within days, so the other four get near-zero spend and teach you nothing, and every creative you add later resets the ad set’s learning. (The tidy “150 ÷ 6 = 25 each” even split is an illustration, not how delivery behaves.) Fewer, deliberately chosen creatives beat a crowd the algorithm will ignore.
Whether an ad set can ever exit learning at a given budget is a yes/no question with its own arithmetic — the ~50 threshold lives in a rolling 7-day window that leaks, so a too-thin ad set doesn’t learn slowly, it never learns at all. That has its own calculator: No. 32 · Can this ad set ever exit learning? Run that first (can it learn?), then this one (can I read the test?).
Try your split — the ABO/CBO calculator
Enter your weekly budget, how many ad sets you'll split into (the variables you're changing — interests, ages, locations…), the creatives per ad set, your expected CPA, and the test window in weeks — and see what that structure does under each mode, with an honest risk verdict. Readability grows with the window: a 6-arm test that's noise in one week can be a real test in four.
Which audience buys? 3 arms (interests / lookalike / broad) optimizing a cheap event (~50 CPA) so each arm clears Meta's ~3×-CPA floor. Read over 2 weeks.
Under ABO · each creative in its own funded slice
Under CBO · one pool, Meta feeds the winner
An "arm" = one ad set = one value of the variable you're testing. Rules of thumb, not laws: to separate a 2× CPA gap from noise you want ~22 conversions accumulated per arm over the window (readability = conversions/arm × weeks); learning exits around ~50 per ad set per week on the optimization event; an ad set needs roughly ≥3× its CPA in daily budget to be delivered well; and below Meta's per-currency minimum daily budget for a conversion ad set, Ads Manager won't save the split at all. Outputs assume a constant CPA — a ceiling, not a forecast (real CPA rises as an audience saturates). Daily budgets are weekly averages — since Oct 2021 Meta may spend up to 75% over the daily figure on a high-opportunity day and rebalance. The CBO winner's share = max(70%, 1/arms), so with one ad set the mode is moot. (Bible Cover exits learning on Add-to-Cart at ~92/wk — but would NOT on purchases, ~35/wk — which is exactly why you optimize the cheaper event.)
The graduation path — and the one thing you never do
The two modes aren't rivals; they're stages of the same pipeline:
The mistakes that cost the most
- ×Testing under CBO. Meta's early routing bias (big, cheap audiences win the first days) silently defunds half your arms — you crown the wrong winner.
- ×Scaling under ABO. You become the router — rebalancing budgets daily by yesterday's data, always one day behind the auction.
- ×Six creatives in a thin ABO slice. Learning is per ad set, not per creative — so more creatives don’t help it exit. Worse, Meta funds only 1–2 of them within days (the rest teach you nothing), and adding more later resets the ad set’s learning. Fewer, deliberately chosen.
- ×Flipping the mode mid-flight. Learning reset + incomparable numbers. Launch new instead.
- ×ABO "tests" with unequal budgets. 300 vs 100 vs 50 isn't a test — it's three separate campaigns wearing a lab coat.
- ×Reading budget at the account level. Account spend ÷ campaign count treats paused campaigns as if they were funded — it can invent a fragmentation crisis (or hide a real one). Budget is a per-campaign fact: read spend where it actually lands.
Where this decision lives in Pulsar
In Pulsar the choice is made once, at the strategy template — exactly where structure belongs:
Structure decided at plan time, executed at launch time, never mutated mid-flight — the whole ABO/CBO discipline, enforced by where the button lives.