Skip to main content
Metrics type: Key MetricsCategory: Ad Platform

At a glance

Pacing of Criteo media spend against the configured budget cap for the current period: SUM(metrics.spend) / budget_cap for in-flight campaigns or the account-level monthly budget, expressed as a percentage with a target line at 100% × (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.

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. What this pacing pattern says:
  1. Account-level pacing is on target (-1pp). Headline number is fine; do not act on it as-is.
  2. 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).
  3. 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.
  4. 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.
  5. 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.
Quick sanity checks for pacing:
  • 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

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: Cross-connector reconciliation: Pacing is single-platform by definition; cross-connector reconciliation is portfolio-level only.

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:
  1. 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.
  2. Catalogue feed re-sync unlocked stalled SKUs, dynamic ads can now render against more inventory, auction wins increased, spend rose accordingly.
  3. Competitor pulled back, your auction win-rate jumped because a competing bidder dropped out (often visible after a competitor’s quarter-end budget exhaustion).
Check (1) via Spend by Hour, (2) via Criteo Feed Manager → Diagnostics, (3) via the auction-insights side of Criteo Management Centre. Why is my Criteo pacing 30% behind linear? Three usual causes:
  1. Catalogue feed health degradation, top SKUs out-of-stock or image-rejected. Most common cause; check Feed Manager first.
  2. 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.
  3. Bid-strategy regression, an audit log change in the past 14 days altered the bid logic. Check Settings → Activity Log.
Should I cap budgets at the campaign-group level or account level? Both, with the right hierarchy. Account-level cap as the hard ceiling (finance discipline). Campaign-group caps as soft floors that let the bidder reallocate within the account but prevent any single group from absorbing more than its allocation. Without group-level caps, Commerce Yield will silently drain prospecting budgets into retargeting, this is what the bidder is supposed to do for ROAS, but it undermines the merchant’s strategic allocation. Set group-level caps at 110 to 130% of strategic allocation to give the bidder some slack. My Commerce Media budget hasn’t moved in 5 days; what’s wrong? Commerce Media campaigns can stall when the publisher inventory pool runs dry (rare) or when Criteo’s bid floor for the publisher network is too high (common). The bidder won’t enter auctions where it can’t beat the floor. Lift the bid by 15 to 25% in Campaign Settings → Bid Strategy and observe; if delivery resumes, the floor was the issue. If not, check audience size, prospecting audiences need at least 100k profiles to fill at scale. My pacing alert fired but the campaign hasn’t actually exhausted, why? The alert is forward-looking. >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.

Tracked live in Vortex IQ Nerve Centre

Spend vs Budget is one of hundreds of KPI pulses Vortex IQ tracks across Criteo and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.