TL;DR
- Meta's Business Help Center now calls CBO Advantage+ campaign budget, and Sales, Leads and App promotion campaigns have it switched on by default.
- After Advantage+ campaign budget is turned on or off, Meta requires a 2-hour minimum before it can be switched again.
- Meta allows up to 200 ad sets under one campaign budget but recommends no more than 70, since more ad sets and ads can lengthen the learning phase.
- Meta's documentation says ad set minimum spend is a best-effort target, not a guarantee, and advises using ad set spend limits sparingly or not at all.
CBO is Campaign Budget Optimization: you set the ad budget at the campaign level in Meta Ads Manager and the system distributes it across the campaign's ad sets in real time. Meta no longer uses the CBO name. Its Business Help Center calls the feature Advantage+ campaign budget, and the campaign setup screen may show it as "Campaign budget" or "Budget with Advantage+ on". The opposite approach, which media buyers call ABO, sets a separate budget on each ad set. This article explains how the two differ, where the setting lives, why spend tends to pile up in one ad set, and when to choose each.
A quick note: CBO is also an abbreviation for executive titles such as Chief Business Officer or Chief Brand Officer. This article covers CBO only in the sense of Facebook and Instagram advertising.
What CBO is, and what Meta calls it now
CBO stands for Campaign Budget Optimization, the original name of the feature that lets advertisers set one budget on the campaign instead of entering a budget on every ad set. Meta's Business Help Center pages on the topic use the name Advantage+ campaign budget and says the feature is "also known as campaign budget or budget with Advantage+ on". Some of Meta's product pages and Marketing API documents use Advantage campaign budget, without the plus sign. All of these are the same feature. If you search for CBO and cannot find a menu with that name in Ads Manager, look for the Advantage+ campaign budget toggle in the campaign setup step instead.
ABO, the term media buyers pair with it, stands for Ad set Budget Optimization. It is not an official Meta name. Meta's documentation calls this approach ad set budgets: each ad set has its own budget and the system does not move money between them.
How CBO works
With Advantage+ campaign budget switched on, you set a single budget at the campaign level. It can be a daily budget or a lifetime budget. Meta's system then keeps distributing that budget, throughout the campaign, to the ad sets with the best opportunities at each moment. Ad sets with more opportunity get more budget; ad sets producing fewer results get less. With a lifetime budget you can also run ads on a schedule, and the system still optimizes budget even when the active ad sets have different start and end dates.
The point to understand from the start is that Meta states plainly that Advantage+ campaign budget may not spend equally across ad sets. Meta's own example: with two active ad sets, the system might spend most of the budget on one of them if that gets the best overall result. That is why Meta recommends analyzing results at the campaign level rather than ad set by ad set. The numbers to watch are the campaign's total optimization events and the average cost per optimization event at the campaign level.
Another detail many people miss: a campaign budget is designed to be spent over the course of the campaign, while ad set budgets can be spent as soon as delivery opportunities appear for that ad set. This difference means the daily spending pattern of the two approaches is not the same, even with the same total.
How CBO and ABO differ
This table summarizes the main differences between campaign budgets and ad set budgets, as Meta describes them on its About campaign budgets and ad set budgets page.
| Point | CBO (Advantage+ campaign budget) | ABO (ad set budgets) |
|---|---|---|
| Where the budget sits | One budget at the campaign level | A separate budget on each ad set |
| Who splits the budget | Meta's system shifts budget to ad sets with better opportunities in real time | The advertiser sets it; the system does not move budget across ad sets |
| Goals it suits | All ad sets valued the same, results measured at campaign level, simpler setup | Per-ad-set spend control, very different ad set values, very different audience sizes, or mixed optimization goals and bid strategies |
| How to read results | At the campaign level; unequal spend per ad set is normal | Ad set comparisons are cleaner because each ad set gets the budget you set |
Beyond these two, Meta offers a third option called ad set budget sharing, available on campaigns that do not use a campaign budget. You still set each ad set's budget, but the system can share up to 20% of an ad set's daily budget with other ad sets in the campaign when they have better opportunities. It suits advertisers who need fairly tight per-ad-set control but still want some automatic movement.
Where to set up Advantage+ campaign budget
You can turn it on while creating a new campaign or by editing an existing one. The steps on Meta's Set up Advantage+ campaign budget page are:
- In campaign setup, turn on the Advantage+ campaign budget toggle.
- Choose a daily budget or a lifetime budget.
- Enter the budget amount.
- Choose a campaign bid strategy.
- With a lifetime budget, you can choose to run ads on a schedule; the actual schedule is set inside each ad set.
- Click Next, choose your start date under Budget & schedule, then finish your ad set settings.
Three things to know. First, Sales, Leads and App promotion campaigns have Advantage+ campaign budget turned on by default; if you want ad set budgets you have to switch it off yourself. Second, once you switch the toggle on or off, there is a required 2-hour minimum before you can switch it again. If you turned it on less than 2 hours ago and need to stop using it, Meta suggests pausing the campaign and creating a new one with ad set budgets. Third, the campaign has to meet basic eligibility rules:
- All ad sets use the same budget type, either all daily or all lifetime.
- All ad sets use the same bid strategy: highest volume, bid cap or cost per result goal.
- With highest volume, all ad sets use the same optimization event.
- All ad sets use the standard delivery type.
On ad set count, Meta allows more than 70 and up to 200 ad sets per campaign. Its best-practices page, however, recommends staying at or below 70, because above that number some edits are restricted after publishing, and the more ad sets and ads a campaign has, the longer it may spend in the learning phase.
Why spend piles up in one ad set
The most common question from people new to CBO is: I set up three ad sets, one took almost all the budget and the other two barely delivered. The answer is that the system does this on purpose. Advantage+ campaign budget aims for the best overall campaign result, not equal spend between ad sets. Meta's documentation points to several reasons:
- Audience sizes differ. Meta says that when audiences are significantly different in size, ad sets with the largest audiences will likely receive the most budget.
- That ad set has more opportunities right now. The system moves budget based on opportunities it sees in real time. An ad set that gets little budget today may get more on another day.
- Some ad sets cannot deliver. If an ad set is not getting delivery, there are no opportunities to send budget to. Meta recommends making sure every ad set can actually deliver.
- Pausing and unpausing ad sets manually. The system reserves budget for active ad sets. Pause one and the whole budget goes to the rest; by the time you unpause it, there may be no budget left in the campaign.
Meta also warns against pausing ad sets with low delivery, because pausing them stops the system from finding tomorrow's opportunities and can raise the cost per action (CPA) of the remaining ad sets. If an ad set is getting little budget, the better route is to check delivery issues using Meta's Troubleshoot Advantage+ campaign budget guide.
Using ad set minimum and maximum spend limits
Advantage+ campaign budget lets you set minimum and maximum spend limits on each ad set. They are useful when one ad set has a specific budget requirement, for example making sure an existing-customer audience gets at least a certain amount, or stopping a broad audience from going past a ceiling. In the Marketing API the minimums are called daily_min_spend_target or lifetime_min_spend_target, and the maximums daily_spend_cap or lifetime_spend_cap. Daily values require a daily campaign budget; lifetime values require a lifetime campaign budget.
The key detail is that a minimum is not a guarantee. Meta's documentation says the minimum target does not guarantee you spend that amount, but the system makes a best effort to reach it. The maximum is a cap the ad set will not exceed. An illustrative example (hypothetical numbers): a campaign with a 3,000 baht daily budget and three ad sets. Set a 500 baht minimum on the existing-customer ad set and the system will try to spend at least 500 baht there while moving the other 2,500 baht by opportunity. Set a 1,500 baht cap on the broad ad set and it will not get more than 1,500 baht, even if the system sees more opportunity there.
Meta recommends using ad set spend limits "sparingly, or not at all". The more budget you lock into specific ad sets, the less flexibility the delivery system has. Meta adds a specific caution about combining spend limits with cost or bid controls, because stacked constraints can make an ad set deliver less than it should, or not at all. If every ad set has strict budget requirements, Meta itself says you may want to use ad set budgets instead.
CBO and the learning phase
The learning phase is the period when the delivery system is still learning who to show ads to, so results are not yet stable. CBO does not remove the learning phase, but Meta lists several points that tie the two together:
- The more ad sets and ads in a campaign, the longer it may spend in the learning phase.
- If you need to change settings, make the changes in bulk. Changing one thing at a time can send the campaign back into learning each time.
- When you add a new active ad set, it can take about 2 hours for the budget distribution to readjust. Meta therefore recommends adding ad sets in bulk after the initial setup.
In practice, a CBO campaign that gets touched often, with ad sets paused and resumed, added one by one, or the daily budget changed several times, is harder to read than it should be, because both budget distribution and learning keep resetting. The cleaner approach is to finish the structure before launch and let the campaign run long enough to show campaign-level results.
When to use CBO and when to use ABO
Meta does not say one is better in every case, but it gives clear goals to decide by. The Advantage+ campaign budget page also says the feature is best suited to campaigns with at least two ad sets. With a single ad set, moving budget between ad sets means nothing.
When CBO fits
- You are fine with budget flowing between ad sets and you measure results at the campaign level.
- All ad sets have similar value to the business, such as several interest audiences selling the same product.
- You want fewer budgets to adjust by hand, especially in accounts with many campaigns.
When ABO fits
- You need firm control of spend per ad set, for example budgets split by branch, by brand or by a partner agreement.
- Ad set values differ greatly and you cannot express that difference through manual bidding.
- Audience sizes differ greatly, such as a small remarketing audience next to a broad nationwide one.
- Ad sets in the campaign use different optimization goals or bid strategies.
How to test creative without CBO swallowing the budget
The classic problem: you put new creative in separate ad sets inside a CBO campaign, the system pours budget into the existing ad set with the better history, and the new creative never gets enough delivery to judge. The system is doing its job, which is to find the best overall result, not to give every option an equal test. Options that work:
- Use a separate test campaign. Set up a test campaign with ad set budgets so each creative group gets the budget you assign, then move the winners into the main CBO campaign. This matches Meta's advice that strict per-ad-set budget requirements call for ad set budgets.
- Use the A/B test tool in Ads Manager. It splits the audience between versions directly, which gives a fairer comparison than letting the system distribute budget on its own.
- Use ad set minimums carefully. If you must test inside a CBO campaign, a small minimum on the new-creative ad set can help, but remember the minimum is only a best effort, and every extra constraint reduces the campaign's flexibility.
- Put several creatives in one ad set. If the goal is to find usable creative rather than a precise comparison, letting the system pick ads within one ad set is an option. The result is not a controlled experiment.
Whichever route you take, decide in advance which metric will settle the test, how much time or how many results you need, and how much budget you are willing to spend on testing. Changing the criteria midway makes the test result unusable.
What this means for Thai marketers
For Thai businesses running Facebook and Instagram ads on modest daily budgets, this has several practical effects:
- Check the toggle every time. Sales, Leads and App promotion campaigns have Advantage+ campaign budget on by default. If you intend to split budget by ad set, switch it off before publishing, and remember you cannot switch back within 2 hours.
- Small budgets, few ad sets. With a low daily budget split across many ad sets, each one gets little opportunity and the system will still concentrate spend in one. Consolidating audiences into fewer ad sets usually makes results easier to read.
- Split by language and area only for a reason. If a campaign targets both Thai and foreign audiences, and those two groups differ greatly in size and the business needs a minimum spend on each, ABO or separate campaigns give more direct control.
- Report at the campaign level to management or clients. Reporting a CBO campaign ad set by ad set invites the question of why one ad set got so little budget, even though that is normal system behavior. Explain how to read the results before the campaign starts.
- Budgets split by branch or brand. Franchises and groups with separate branch budgets usually need ad set budgets or separate campaigns, because CBO does not guarantee an even split.
Frequently asked questions about CBO
What is CBO in Facebook advertising?
CBO is setting the ad budget at the campaign level and letting Meta's system distribute it in real time to the ad sets with the best opportunities. Meta now calls the feature Advantage+ campaign budget, and the setup screen may show it as "Campaign budget".
Is CBO or ABO better?
Neither is better in every case. CBO suits campaigns where all ad sets have equal value and results are measured at the campaign level, while ABO suits cases that need per-ad-set spend control, very different ad set values or audience sizes, or mixed optimization goals and bid strategies.
Will an ad set minimum spend limit always be reached?
No, it will not always be reached. Meta's documentation describes the minimum as a target the system makes a best effort to reach, not a guarantee; the maximum is a cap the ad set will not exceed, and Meta recommends using spend limits sparingly.
Can I turn CBO on and then switch it off right away?
Not right away, because Meta requires at least 2 hours between switching Advantage+ campaign budget on or off. If you just turned it on and need to stop, pause the campaign and create a new one with ad set budgets.
Why shouldn't a CBO campaign have too many ad sets?
Because Meta says more ad sets and ads can keep a campaign in the learning phase longer, and it recommends no more than 70 ad sets per campaign even though up to 200 are allowed.
Summary
CBO, now Advantage+ campaign budget, is not a button that improves every campaign on its own. It hands the budget-splitting decision to the system in exchange for less per-ad-set control. Once you accept that spend will follow opportunity, read results at the campaign level and use ABO where you really need fixed budgets, the two approaches can live side by side in the same account. If you would like help structuring your campaigns, see Relevant Audience's Facebook ads service, Instagram ads service or social media advertising service.







