Using Snapchat? Check out PBA for Snapchat
Predictive Budget Allocation (PBA) is an advanced artificial intelligence feature that continuously moves your budget between ad sets or campaigns based upon their performance in order to maximize the number of future conversions and minimize CPA levels.
Why use Predictive Budget Allocation?
- Save time - that you’d otherwise spend analyzing campaign results and making manual budget adjustments every day.
- Better Decisions - our artificial intelligence can make better choices than a human
- More Conversions & Better ROI - maximizes delivery towards top-performing ad sets automatically, resulting in lower overall CPAs and better ROI.
- Let PBA and CBO work together — add CBO campaigns into a Budget Pool, and Smartly.io optimizes the spend between campaigns while Facebook optimizes across the ad sets within a campaign
Why use Predictive Budget Allocation instead of Facebook Campaign Budget Optimization?
Smartly.io s feature Predictive Budget Allocation has evolved since 2014 to use world-class artificial-intelligence and improve results. In 2017, Facebook launched Campaign Budget Optimization (CBO) in Ads Manager. Here are the additional benefits of using PBA instead of CBO:
- Budget Pools. Maximize performance across multiple campaigns.
- Third-party conversions. With PBA you can optimize towards non-Facebook conversions like MMP metrics, Google Analytics metrics, or custom App Events.
- Budget Scaling. With Budget Scaling you can automatically scale your spend while meeting target CPA/ROAS.
- Weekly Seasonality Modelling. We automatically learn and adjust for weekday performance fluctuations.
- Excluding ad sets. You can exclude individual ad sets from PBA if you want to control their budget manually.
- More attribution options. You can select any attribution window towards which to optimize.
- No minimum number of conversions. Facebook can fail to deliver your Ads if you do not have enough conversions for the optimization goal, but PBA works with any number of conversions (however, the budget changes are smaller when there is less data). This means that you can optimize towards a less common bottom-funnel goal with PBA, and use an intermediate conversion as a Facebook optimization goal.
- If your conversions happen after a long delay. PBA can handle situations where your conversions can take a long time to come in, such as big-ticket items (e.g. cars or homes) and services such as insurance or banking. Because CBO and delivery optimization (bidding) use the same goal, and bidding requires conversions to come quickly, CBO can't handle conversions that come after the 7-day window.
Why use Budget Pools together with Facebook Campaign Budget Optimization?
The 2 features work seamlessly together. Facebook probably does a better job when optimizing Facebook's native conversions, such as Pixel or App Events — but CBO can't optimize across campaigns. Let Budget Pools allocate the budgets optimally across campaigns. By adding your CBO campaigns to a Budget Pool, you can:
- Optimize for 3rd party metrics across campaigns
- Optimize towards ROAS across campaigns
- Utilize Budget Scaling to maximize spend while reaching a CPA/ROAS goal
- Read more about Budget Pools
You can read more about Facebook Campaign Budget Optimization in Facebook's materials.
PBA and CBO together in a single campaign?
You might be surprised that you can toggle on PBA in a campaign that also has CBO enabled. But in practice, this is just so that you can use the Budget Scaling feature. Use it to scale your CBO campaign's total budget up/down based on your performance goals (Facebook, 1st or 3rd party metrics).
If PBA and CBO are enabled in a single campaign (in contrast to multiple campaigns, using a Budget Pool), the PBA algorithm will not interfere with the CBO algorithm. Since CBO means that ad sets don't have individual budgets, PBA won't try to change them at all. If you toggle on CBO and PBA but no Budget Scaling or Budget Pool, the PBA algorithm won't do anything.
Predictive Budget Allocation (PBA) aims to allocate your budget optimally across ad sets or campaigns while minimizing future cost per action (CPA) or maximizing future expected return on ad spend (ROAS). The PBA algorithm automatically reallocates the campaign budget optimally every midnight (in the ad account's timezone) between all active ad sets in the campaign, or campaign pool, to maximize your campaign's results.
In short, the Predictive Budget Allocation algorithm takes into account historical conversion and clicks data with time decay, forming a multi-armed bandit problem and solving it with Bayesian hierarchical models to find an optimal allocation of your budgets, within a campaign or a Budget Pool. Read more technical details here.
What you'll learn by watching the video:
- What is Predictive Budget Allocation?
- How to enable Predictive Budget Allocation when creating a new campaign.
How to enable Predictive Budget Allocation in Smartly.io?
- When creating a campaign: Enable on the Optimization tab of the campaign creation wizard.
- For an existing campaign: Enable by clicking Edit on the top-right of the campaign ad set list view, then selecting Predictive Budget Allocation in the Optimization tab, setting it up and clicking Save.
This is what you see in the above screenshot:
To optimize within the ad sets (audiences) of this campaign, choose "In this campaign". To make budget fluid across multiple campaigns, choose "Between multiple campaigns" and select a pre-defined Budget Pool.
If you want to get the cheapest conversions possible, choose "Conversions" and then choose your conversion event, e.g. Pixel event: Purchases. You can also choose 3rd party metrics, such as Google Analytics, MMP or suitable Custom Metrics (see Using Custom Metrics as Optimization Goals).
To optimize for Revenue, towards the highest ROAS, choose "Revenue" and make sure that your event is reliably sending revenue data. Optimizing towards revenue is supported for app and Pixel events and S2S events. Note that when using Revenue optimization with S2S events, Smartly.io needs to receive individual events, not daily aggregates. For example, sending aggregated MMP data via an S2S integration will not work.
Revenue optimization cannot be used with Custom Metrics, MMP events, or with Custom Conversions imported from a file.
You can also have the feature scale up your total budget automatically, if the CPA is below / ROAS is above your target, by enabling Budget Scaling.
Minimum budget for each ad set / campaign
There is an advanced feature for setting a minimum budget per ad set (or per campaign for campaigns that use CBO). When PBA runs next midnight, it will set the budget of each ad set to at least this limit. There is, however, one exception: if the sum of min ad set budgets is higher than the total budget to be allocated, the total budget is respected. In this case, the total budget will be divided evenly across all ad sets.
Note that Facebook also enforces a minimum budget for each ad set. This is usually $0.50 or 1.00€ but can be higher in some cases.
If you would like to use this feature, contact your account manager or Smartly.io support.
Use custom attribution window
To define the attribution window that should be used for evaluating your ad sets' performance against each other & the CPA/ROAS targets you have set for budget scaling, click Advanced Settings > Use custom attribution. Note: this very much affects how big or small your Budget Scaling CPA/ROAS target is.
Even though all campaigns and ad sets have a budget on Facebook, their behavior is very much dependent on the campaign / ad set / ad statuses. Let's review the relevant budget terminology:
- Total budget: the sum of all budgets, including paused, ended and scheduled (not started yet) campaigns and ad sets, excluding archived campaigns and ad sets
- The logic is, archived items will always remain archived, but paused items can be re-activated and ended campaigns can be extended
- Active daily budget: the budget of active ad sets in active campaigns
- Available as a column in Campaigns View: "Active campaign budget"
- In Budget Pool settings, if you manually adjust the budget, it is the Active daily budget that is affected
- The budget of scheduled campaigns will only be included in Active daily budget once the campaigns have started
- Delivering budget: the budget of active ad sets that have active ads
- For example, an active ad set in an active campaign is not delivering, if none of its ads are active
- PBA only touches the Delivering budget when optimizing budget
For the Predictive Budget Allocation to work properly, the campaign should have the following properties:
- Daily budget
- Multiple active ad sets
- Most of the ad sets can spend their full budget
- Ad sets get at least some conversions every day
- When optimizing towards conversions, ad sets should optimally use the same bid and bid type
- This is because PBA does not take into account if ad set A's conversions are more valuable for you than ad set B's conversions — it will just get you the cheapest conversions
- If you have ad sets with different bid values, consider using Revenue optimization instead
Additional requirements when optimizing for revenue
- Revenue data should be sent as part of Pixel or app events, or be included in a S2S event.
- Every event should have a non-zero positive revenue.
Using Optimization triggers with Predictive Budget Allocation enabled
- Do not use triggers that change the budget of an ad set
- When setting a trigger to change a campaign budget, please consider setting it to start at 1 a.m to make sure it runs only after the Predictive Budget Allocation algorithm.
If the ad sets cannot spend their daily budgets, the budget reallocation cannot improve the results because the budget is not a limiting factor.
In these cases, the budget allocator will just allocate the budget based on audience size. In such cases, consider optimizing bidding.
Best results are obtained when there are more than 20 daily conversions per ad set with the initial budget allocation. However, it's always best to optimize towards the real final goal. PBA does the optimal allocation even if there are just a few conversions resulting usually to more uniform allocation. In such a case, you could consider combining ad sets or having higher budgets to get more conversions. That is beneficial also regarding Facebook conversion-optimized bidding.
Monitoring the results
You can get an overview of the campaign level performance in the campaign view by clicking Show details next to "Predictive Budget Allocation statistics:".
You can monitor the changes made by Predictive Budget Allocation in the campaign view as seen above. Below the budget, you will find the information about the proportion of the budget allocated to the ad set in the last budget allocation run. Hover your cursor above the tooltip to get more details, including the latest budget allocation time, the changes made, and the predicted conversion rates, CPA levels, and revenue KPIs that are behind the Predictive Budget Allocation.
Note: by default, the feature uses your account's default attribution window, but you can override that setting in the feature's "Advanced settings" (see above in this article). In this case, if you are viewing the campaign results in another attribution window, the algorithm's actions might seem off.
Warnings and errors
No data, or budget not fully spent
If the campaign has not gotten enough conversions or some ad sets are not able the spend their budgets, you will see a warning in the campaign view. The color of the budget proportion text changes to red in those ad sets that have warnings.
Having these warnings for a single ad set is not alarming. It just means that this ad set doesn't deliver much, or that it cannot deliver results. PBA will handle the situation by allocating that budget to the other ad sets instead. You can consider, for example, increasing its audience size, increasing the bid, or adding more creatives.
If all ad sets have the same warning, that could mean something is wrong. If none of the ad sets can spend their budgets fully, then PBA cannot optimize anything. If none of your ad sets have enough conversion data, you should check if your Pixel/MMP/S2S integration is working correctly; if your ad sets are using the correct Pixel/app ID; and if you have selected the correct conversion event for PBA to optimize.
No revenue data
If you chose Revenue (ROAS/ROI) optimization, but the chosen optimization goal does not have revenue data available, there will be a warning in the campaign view about this. Don't worry! PBA will automatically fall back to optimizing towards conversions in this case.
Frequently Asked Questions
Why is PBA putting more spend to a campaign/ad set that has a higher CPA?
Find answers to this and many more questions in the FAQ article: Predictive Budget Allocation FAQ
Can I activate PBA for campaigns created in Ads Manager?
Yes, PBA works also for campaigns not created in Smartly. We recommend you though to re-create campaigns in Smartly to benefit from full Smartly functionalities and better editing experience.