💡 In this article you'll learn how Facebook's Campaign Budget Optimization (CBO) works, how to enable it in Smartly.io, and what its key requirements and limitations are. For more detailed information on how to use CBO to maximize performance, see the article on CBO best practices.
In April 2020, Facebook announced that there will be no forced migration to CBO (Campaign Budget Optimization). Ad set budgets will remain an available option alongside CBO for all advertisers. Read more about it here.
What is Campaign Budget Optimization (CBO)?
Also known as CBO or simply campaign level budget, Campaign Budget Optimization is a way to control and optimize budgets in your Facebook campaigns. Instead of having a budget for each audience (ad set), you set a total budget on the campaign level, and Facebook decides how much to spend on each audience (ad set).
The following diagram from Facebook's post introducing CBO illustrates how Campaign Budget Optimization works:
Benefits of using CBO
There are several benefits to using Facebook CBO:
- With CBO, Facebook is free to spend your total budget in an optimal way across your targetings and biddings.
- Most likely, automation can achieve better results than reallocating budgets manually.
- Facebook is able to estimate which audience will bring the most cost-effective results, relative to your bid, in real time.
- You only have to specify how much you are willing to pay for a conversion in each audience (or use Lowest Cost bidding), and Facebook will ensure that your campaign budget is spent optimally.
- CBO can be combined with Smartly.io optimization features to increase the degree of automation and improve optimization further. See the article on best practices for using CBO for more information.
How to enable or disable CBO in Smartly.io
ℹ️ Note: Before enabling CBO, read through the requirements and limitations below to determine if they apply to your setup.
To enable CBO when creating a new campaign, set Budget level to Campaign (CBO):
To enable/disable CBO in existing campaigns:
- Go to Campaigns
- Select one or more campaigns and click Edit > Campaigns > Enable CBO (or Disable)
- When you click Enable CBO, a pop-up opens, listing all campaigns where you can make the change
- The pre-set budget values are the sums of currently active ad sets' budgets. You can keep them as they are, or edit them in bulk, or override the values individually.
- When you click Disable CBO, a pop-up opens, listing all ad sets, requiring you to define a new budget for each of them
- The pre-set budget values are simply the old campaign budget divided equally among all non-archived ad sets
- When you click Enable CBO, a pop-up opens, listing all campaigns where you can make the change
Ad set level spend controls in CBO campaigns
While CBO generally means that Facebook decides how much each ad set should spend, you can set minimum spend targets and maximum spending limits for ad sets. For more information and detailed instructions on how to enable ad set spend limits, see our article on Ad set minimum and maximum spend limits in CBO campaigns.
ℹ️ Note: Trying to control spending manually might hurt performance. CBO is designed to optimize your spend, but if you limit its freedom of spending optimally in each ad set, performance may decline. The same goes for Predictive Budget Allocation and Budget Pools: if you set ad set level spend limits, some campaigns might not be able to spend their budget fully.
Requirements for using CBO
- Minimum campaign budget is $1 or €1 or equivalent per ad set.
- When creating a new ad set, you might see this error message: "Budget must be at least 21€".
- The campaign budget must also be higher than the sum of minimum spend targets you might have set on ad set level.
- A CBO campaign can contain a maximum of 200 ad sets.
- Smartly.io's Predictive Budget Allocation (PBA) also works best if the number of ad sets per campaigns is <200.
Requirements for enabling CBO in an existing campaign
- Campaign must have no more than 200 non-archived ad sets.
- All non-archived ad sets must use the same bid strategy.
- If the bid strategy is Lowest Cost without Cap, then all non-archived ad sets must have the same optimization goal.
- All non-archived ad sets must have the same budget type (daily or lifetime).
- Accelerated Delivery must be either off for all non-archived ad sets, or on for all.
- Daily Budget Pacing must not be enabled in any of the non-archived ad sets.
- Daily Budget Pacing is Facebook’s hourly + daily scheduling feature that only works with lifetime budgets.
Limitations when using CBO
- It's not yet possible to change the Bid Strategy of an existing CBO campaign in Smartly.io.
- You can change the bid strategy in Ads Manager and wait for the change to be synced to Smartly.io
- ⚠️ Caution: do not change the bid strategy in Ads Manager for Automated Ads or Automated Post Boosting campaigns. If you do, they won't be able to create new ad sets anymore.
- With Automated Post Boosting campaigns, we do not recommend using lifetime budget + CBO + the "Each ad to own ad set" campaign structure.
- This combination could lead to unexpected situations: if there happens to be only one ad set with a short lifetime, Facebook will spend the whole budget in that short lifetime.
- Read more about Automated Post Boosting with CBO.