weight or an explicit budget, and at launch every staged media buy splits into one package per
period.
The schedule
A schedule has 1–52 periods. Periods must sit inside the flight and can’t overlap. Gaps are allowed:
leave a pause out of the periods rather than weighting it 0. In budget mode the period budgets can’t
add up to more than the campaign budget.
How budgets resolve
- Weight mode splits the budget by days × weight. In the example, Launch gets 7 × 3 = 21 shares, Sustain 14 × 1 = 14 and Holiday push 9 × 2 = 18.
- Budget mode uses the amounts as written.
budget.
Set it on a campaign
PasspacingPeriods to save_campaign on create, or on an update with expectedRevision. An update
sends the full schedule; null clears it. The result’s pacingApplicationNote says how many draft
buys will use the schedule (”… will use this schedule the next time the campaign launches; live media
buys are unaffected.”). Over REST, pass the same field on POST /api/v2/buyer/campaigns and PUT /api/v2/buyer/campaigns/{id}.
Per media buy
update_media_buy (or PATCH /api/v2/buyer/media-buys/{id}) also takes pacingPeriods, replacing
the campaign’s shape for that one buy. It’s stored on a draft or pending buy and used at launch.
At launch
Each staged buy splits into one package per period per product. Each package covers its period’s dates and carriespacingPeriod (index, one-based, and label). In weight mode a product’s budget
splits by days × weight; in budget mode each period’s budget is shared across products in proportion
to their budgets.
A campaign launched mid-flight skips periods that have already ended, and their share goes to the
periods still ahead, so each product keeps its full budget.
Changing a schedule after it starts
A period that has started is locked:- it can’t be changed or removed (”… has already started, so it can’t be changed or removed.”), and the schedule can’t be cleared;
- the mode can’t change once any period has started;
- every period can’t be in the past: a schedule needs at least one period still ahead.
Appending periods to a live campaign
On a live campaign, adding periods to the end of the schedule, with the existing ones unchanged and in order, is pushed to its paced buys as new packages. The update returns apacingCascadeResult:
A buy whose seller doesn’t support adding packages to a live buy is
unsupported. In weight mode, an
appended period keeps the buy’s current spend rate per weighted day.