At a glance
Pacing of Criteo media spend against the configured budget cap for the current period:SUM(metrics.spend) / budget_capfor in-flight campaigns or the account-level monthly budget, expressed as a percentage with a target line at100% × (days_elapsed / days_in_period). Catches auto-bidder runaway, catalogue-feed re-syncs that unlock previously-stalled inventory, and budget exhaustion before month-end surprises. Especially important on Criteo because Commerce Yield’s optimiser can front-load spend by 30 to 60% on high-conversion-probability days.
| What it counts | Period-to-date spend as a percentage of the period’s budget cap. Defaults to monthly cap at the campaign-group level, with rollup to the advertiser-account total when the merchant runs an account-level master budget. Includes lower-funnel retargeting, mid-funnel consideration, Commerce Media Network, and sponsored-product retail-media. |
| Cost basis | Mostly CPC-priced spend on Criteo; the card sums billable cost regardless of bid type. |
| Currency | Single advertiser-account currency. Multi-currency advertisers run separate accounts per currency and pace each independently. |
| Conversion attribution | Not relevant for pacing. (For ROAS pairing on Criteo, default 30D click + 7D view.) |
| Attribution window | N/A for pacing. |
| Pacing target | Linear by default: a 30-day campaign should be at ~50% of cap on day 15. Commerce Yield-optimised campaigns may pace 30 to 60% above linear on high-conversion days, this is by design and self-corrects over the campaign’s flight. |
| Catalogue-feed dependency | Pacing reads can flicker around feed events. A feed re-sync that unlocks previously-stalled SKUs lifts spend within hours; a feed outage drops spend by 30 to 60% within 24 hours. Pace alerts are most reliable averaged over 3 to 7 day windows. |
| iOS 14.5+ ATT impact on the card | None on the pacing math. Indirectly, ATT-driven CPC inflation can push spend 15 to 30% higher per unit-volume than pre-ATT, so the same campaign hits cap sooner. Plan budgets accordingly. |
| Time window | T/30D (today vs 30D plan). For weekly or quarterly budgets, the card scales the target line to the period. |
| Alert trigger | >90% used before 80% of period. Fires when spend has consumed more than 90% of the budget before 80% of the period has elapsed, signal that the campaign will exhaust before period-end without intervention. |
| Roles | owner, marketing, finance |
Calculation
Calculated automatically from your Criteo data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A French electronics DTC retailer running Criteo across catalogue retargeting and Commerce Media. Monthly Criteo budget €30,000, period 01 Apr 26 to 30 Apr 26. Today’s date 18 Apr 26 (day 18 of 30, 60% elapsed). Commerce Yield bidding enabled.| Campaign group | Period budget (€) | Spend MTD (€) | % of cap | Linear target | Variance from target |
|---|---|---|---|---|---|
| Lower-funnel retargeting | 16,000 | 11,200 | 70% | 60% | +10pp ahead |
| Mid-funnel consideration | 8,000 | 4,400 | 55% | 60% | -5pp behind |
| Commerce Media (publisher prospecting) | 5,000 | 1,400 | 28% | 60% | -32pp behind |
| Sponsored product (retail media) | 1,000 | 600 | 60% | 60% | 0pp on target |
| Account total (this card) | €30,000 | €17,600 | 59% | 60% | -1pp on target |
- Account-level pacing is on target (-1pp). Headline number is fine; do not act on it as-is.
- Per-campaign-group variance is the real signal. Lower-funnel retargeting is 10 percentage points ahead (will hit cap on day 24, ~6 days early). Commerce Media is 32 percentage points behind (will only spend 47% of allocated cap by period-end without intervention).
- Commerce Yield is doing what it’s supposed to. It’s pulled spend out of Commerce Media (low ROAS, ~3×) and into lower-funnel retargeting (high ROAS, ~10×). This is the right behaviour if you trust the bidder’s ROAS read. If the merchant intentionally allocated €5,000 to Commerce Media for incremental reach reasons, this re-allocation is silently undermining strategy; manually cap the lower-funnel daily budget and lift Commerce Media’s bid floor.
- Lower-funnel retargeting hitting cap on day 24 triggers two follow-on issues: (a) revenue cliff for the last 6 days of the month as retargeting goes dark, (b) finance-side under-spend on Commerce Media that won’t carry over to next month. Decision needed by day 22: lift retargeting cap by €1,500 (if marginal ROAS still beats break-even), or reallocate €1,500 from Commerce Media to retargeting.
- The 90%-before-80% alert hasn’t fired yet because account-level pacing is on target. Per-campaign-group alerts (configured separately) would have fired on retargeting at day 16 when it hit 90% × 16/30 = 48% of target consumed. Always run pace alerts at campaign-group level, not just account level, the rolled-up number masks the underlying redistribution.
- Pacing on target on day 15: business-as-usual; do not act.
- Pacing 5 to 10 percentage points ahead on day 15: monitor; common after a feed re-sync unlocks new SKUs. Self-corrects in 3 to 7 days.
- Pacing 15+ percentage points ahead on day 15: investigate. Check (a) was a manual budget lift made? (b) did Commerce Yield front-load? (c) is there a competitive auction-pressure spike?
- Pacing 10+ percentage points behind on day 15: investigate. Check (a) feed health, (b) bid-strategy regression, (c) Commerce Yield throttling against a CPA target that’s now too tight, (d) audience saturation reducing fillable inventory.
- Pacing flat (no movement) for 48 hours: campaign paused, audience exhausted, or feed outage. Most common is feed outage; check Criteo Feed Manager → Diagnostics first.
- Pacing >100% before period-end: budget cap was lifted mid-period, or Criteo over-delivered (Commerce Yield can over-deliver up to 20% on any single day; corrects within the flight).
Sibling cards merchants should reference together
| Card | Why pair it with Criteo Spend vs Budget | What the combination tells you |
|---|---|---|
| Total Spend | The numerator in absolute terms. | Whether absolute spend rose or pacing target is unusually low. |
| ROAS | Pacing-decision context. | Pacing ahead at high ROAS is a green light to expand cap; pacing ahead at low ROAS is a stop signal. |
| Spend by Campaign | Per-campaign-group pacing. | Account-level on-target masks per-group variance. |
| Wasted Spend | Drag on pacing. | Zero-conversion line items still count toward cap; pause them to free pacing capacity. |
| Conversion Lag | Lag between spend pacing and revenue settling. | Lets you avoid pacing-based cuts that ignore late-arriving view-through revenue. |
| Total Revenue | The “is it worth pacing?” check. | Spend ahead but revenue flat = pacing into ineffective inventory. |
| Shopify / BC / Adobe Total Revenue | Commerce-platform truth-side check on Criteo-attributed revenue. | The reality check before requesting a cap lift. |
| Google Ads Spend vs Budget | Cross-channel pacing peer. | If Criteo is on-target but Google is exhausted, reallocate cross-channel for the rest of the period. |
Reconciling against the vendor’s own dashboard
Where to look in Criteo’s own dashboard:Criteo Management Centre → Campaigns → Budget Pacing Report (filter to the same advertiser-account, campaign group, and budget period used in this card).The Budget Pacing Report shows per-campaign-group consumption against cap with a target line. The header summary shows account-level pacing. This card pulls the same underlying spend and cap data via the Management API and computes the percentage; reconciles within sub-percent rounding. Why our number may legitimately differ from Criteo:
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days off | Criteo’s pacing target uses the advertiser-account time zone day-of-month boundary; this card uses UTC. For most accounts the gap is sub-percent; for US Pacific accounts on a calendar-month period the boundary can shift the figure 2 to 4%. |
| Mid-period cap changes | Either direction | If the merchant lifted or cut the budget cap mid-period via Criteo Management Centre, the card’s percentage recalculates against the latest cap. Historical screenshots in Criteo may show pre-change percentages. |
| Commerce Yield over-delivery | Same in both | Up to 20% over-delivery on a single day is normal under Commerce Yield; corrects within the flight. Both views show the over-delivery. |
| Ingest lag | Ours lower for “today” | 2 to 4 hour lag means today’s spend (and pacing percentage) is incomplete until catchup. |
| Currency | None expected | Both views use account currency. |
| Multi-budget rollups | Card defaults to account-total | If multiple campaign groups have separate budgets and the merchant wants per-group pacing, configure separate budget IDs in the card config. The default rollup view sums them. |
| Source | Expected relationship | What causes legitimate divergence |
|---|---|---|
adroll.adr_spend_vs_budget | Independent retargeting platform pacing. | Use to rebalance cross-platform retargeting allocation in mid-period. |
facebook_ads.fac_spend_vs_budget | Independent platform pacing. | Cross-channel allocation decision: if Criteo is on-target and Meta is exhausted, redirect new budget to Criteo; vice versa. |
google_ads.gads_spend_vs_budget | Independent platform pacing. | Same as Meta. |
| Accounting / GL system (Xero, QuickBooks, NetSuite) | Period budget here should match the budget-line in the GL planning module. | If the GL says €30k allocated to Criteo for April but this card shows a €25k cap, the cap was set incorrectly in Criteo Management Centre. Fix the cap. |
Known limitations / merchant FAQs
My Criteo budget says I’m at 95% on day 22; will I exhaust before month-end? Probably yes without intervention. At 95% on day 22 of 30, daily run-rate of (95% / 22) × (30 / 100%) projects to ~129% of cap by day 30, you’ll exhaust around day 23 to 24. Decision tree: (a) is marginal ROAS still beating break-even? If yes, lift the cap by 25 to 30% to maintain delivery. (b) If marginal ROAS is below break-even, let it exhaust early; the channel goes dark for the last week, accept it. (c) Reallocate from a behind-pacing campaign group like Commerce Media if that’s running below 50% pace. Why is my Criteo pacing 25% ahead of linear even though I haven’t changed anything? Three usual causes:- Commerce Yield front-loading, the bidder identified a high-conversion-probability window (often Sunday evening or a known high-traffic day) and spent more. Self-corrects across the flight.
- Catalogue feed re-sync unlocked stalled SKUs, dynamic ads can now render against more inventory, auction wins increased, spend rose accordingly.
- Competitor pulled back, your auction win-rate jumped because a competing bidder dropped out (often visible after a competitor’s quarter-end budget exhaustion).
- Catalogue feed health degradation, top SKUs out-of-stock or image-rejected. Most common cause; check Feed Manager first.
- Commerce Yield throttling against a CPA target, the bidder hit your configured CPA ceiling and pulled back delivery to maintain efficiency. Loosen the CPA target if you want more volume.
- Bid-strategy regression, an audit log change in the past 14 days altered the bid logic. Check Settings → Activity Log.
>90% used before 80% of period projects exhaustion before period-end based on current trajectory. The campaign hasn’t physically exhausted yet, but it will if you don’t intervene. The alert is the early warning, not the failure event.
My Criteo monthly budget rolled over because the campaign didn’t fully spend; how does that look here?
Criteo doesn’t roll over unspent budget; each period’s cap is fresh. If your March cap was €30k and you spent €27k, the unspent €3k is forfeit; April starts at €30k regardless. For roll-over discipline, manage roll-over at your finance / GL layer, not in Criteo. This card shows the cap as configured in Criteo Management Centre, which doesn’t know about your accounting roll-over policy.
Can I forecast next period’s required budget from this card?
Yes, with two adjustments: (1) take this period’s actual spend as a baseline; (2) overlay any planned bursts (sale events, product launches, seasonal pulses); (3) add 10 to 15% for CPC inflation if your account is iOS-heavy (post-ATT CPC drift) or in a high-competition vertical. Forecasts further than one period out are unreliable; Criteo’s auction dynamics shift quarterly with broader programmatic market trends.
Why does the pacing percentage sometimes go down day-over-day?
Almost always because the budget cap was lifted by the merchant or by a Criteo client-services rep mid-period. The numerator (spend) keeps rising but the denominator (cap) rose more, so the percentage dropped. Check Settings → Activity Log for cap changes. The other (rare) case is a credit applied retroactively, lowering the spend; this happens for IVT credits or catalogue-rejection refunds.
Does the alert account for Commerce Yield front-loading?
The default alert fires on the simple rule (>90% before 80% of period) without learning the front-loading pattern. On Commerce Yield accounts the alert can be noisy in the first 7 days of a period. Best practice for Commerce Yield: tune the alert to fire only after day 7 of a 30-day period (skip the front-load window), or switch to a 7-day rolling pacing comparison rather than period-to-date.