You can specify the exact intra-day time slots when you want the campaign to run by using our scheduling features under the Campaign tab in the campaign creation wizard. It consists of two different options: scheduling for lifetime budgets and for daily budgets.
(For scheduling spend over longer time periods, see also: Smart Budget Scheduling.)
Lifetime budgets: Daily Budget Pacing (recommended)
We highly recommend using this option, since it paces the budget by using Facebook's pacing algorithm. Thus, the performance of the campaign should be better than it would be if you use the scheduling for daily budgets. Pacing maximizes an advertiser's profit for a given budget. The adset status will be shown as "Running" since the lifetime budget scheduling changes only the budget pacing, not the real status of the adset. The schedule is in the ad receiver's timezone.
Note: in campaign creation you can only add a campaign level schedule. If you want to have a different daily budget pacing schedule for different ad sets, create the campaign first and the edit the budget pacing rules from the 'Ad sets' tab (see screenshot below). This is regardless if you use CBO or not.
Daily Budget Pacing can only be enabled in newly created campaigns – it can't be disabled or enabled in existing campaigns. If you want to disable it, consider editing the ad set schedules to cover all day every day, instead. If you want to enable it, you'll need to create a new campaign.
Daily budgets: Dayparting Schedule
Because Facebook's Daily Budget Pacing feature only works with lifetime budgets, we created a feature of our own at Smartly.io: Dayparting Schedule. We offer a similar daily/hourly scheduling interface, and automatically pause and activate the whole campaign at predetermined times. Thus, you will see the campaign status change on its own.
The upsides are:
- This feature is available with daily budgets
- You can use it together with Accelerated Delivery to enable e.g. Flash Sales campaigns
The downside is, since Facebook doesn't know this schedule, Facebook might not spend the whole daily budget during the times that the campaign is active. Therefore, the campaign won't spend its whole daily budget. You can work against this by simply setting a slightly higher budget, but it's impossible to predict accurately how much will be spent.
Note: Dayparting only touches the campaign status – it won't activate or pause your ad sets or ads. If you manually pause or activate a campaign that has Dayparting enabled, Dayparting will automatically be disabled from now on. The schedule is in the account's time zone.
Facebook budget pacing in general
Facebook's budget pacing is the control logic that determines how an advertiser's budget should be spent relative to time. An analogy is to an athlete running in a race: Sprint too early and the athlete risks fading away before the finish line, but sprint too late and the athlete never makes up the distance. Pacing ensures uniform competition throughout the day across all advertisers and automatically allocates budgets to different ads. Pacing is a core part of optimization that ensures that return on investment (ROI) is maximized for advertisers. Read More.
Other limitations
Dayparting Schedule doesn't work well with the feature Ad Rotation. Ad Rotation uses triggers to pause ads on the background depending on some conditions. Thus, when Dayparting pauses the whole campaign it will cause the ads to be excluded from the rotation once the Ad Rotation statistics are checked at midnight.
Note: take this into account during seasons where certain types of ads don’t want to be shown during certain time slots such as Ramadan.
Campaign level Triggers and Dayparting Schedule
The way scheduling for Daily Budgets works is that Smartly.io automatically checks the status of a campaign with a certain frequency, and switches it to correspond the Dayparting schedule you have set. Thus if you have also configured Campaign level Triggers to change the status of the campaign, they will almost certainly conflict. You might want to consider not using dayparting, setting up the triggers on ad set level or instead of pausing controlling budgets.