Skip to main content
Metrics type: Key MetricsCategory: Cross-Platform

At a glance

A cross-platform alert that joins Criteo campaign spend against the live rejection status of the product catalogue each campaign depends on, and flags any budget flowing into a campaign whose linked feed has active rejections. This is the single highest-leverage card in the Criteo manifest because Criteo is feed-driven by design: dynamic creative is rendered from the catalogue, so when items are rejected, no creative renders for them, and any spend the campaign keeps pacing is wasted on whatever fallback inventory remains. Feed rejections are silent, they do not stop the campaign, they just hollow it out. This card turns a buried diagnostics warning into a money figure: here is exactly how much spend is exposed to a feed that is partly broken right now.

Calculation

Calculated automatically by joining your Criteo campaign spend with your connected catalogue feed status. 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 DTC homeware retailer on BigCommerce runs four Criteo campaigns off a single product catalogue. On 02 Jun 26 a bulk product-description edit introduced banned promotional text in the title field, and Criteo rejected a large batch of SKUs. Account currency EUR. Window is the rolling 30 days. What the pattern tells you:
  1. Three campaigns sharing the main catalogue breached; the one on a separate priority feed did not. That instantly localises the fault to the main catalogue, not to any campaign’s bidding or audience. The shared dependency is the story.
  2. Roughly EUR 15,900 of spend is exposed to a feed that is 59% rejected. That is the number this card exists to surface. Buried in Feed Manager Diagnostics it is just a warning count; expressed as exposed spend it becomes an urgent, costed problem an owner or marketer can act on.
  3. Conversions fell hardest where the rejection share is highest. The full-catalogue retargeting campaign (most dependent on the rejected SKUs) dropped 41%, while Commerce Media prospecting (less dependent on the exact rejected items) dropped only 22%. The conversion damage tracks the dependency.
  4. The campaigns did not stop, which is the trap. A feed rejection does not pause a campaign. It keeps pacing against the surviving 41% of the catalogue and any generic fallback, so spend looks normal while effectiveness has collapsed. Only a feed-aware join makes this visible.
  5. The fix is at the feed source, not in Criteo. Open Criteo Feed Manager Diagnostics to read the rejection reason (here, banned text in the title field), correct the product data on the storefront feed export, and force a re-sync. The rejected SKUs re-enter the auction within 24 to 72 hours and conversions recover.
  6. Until the feed is fixed, the exposed spend keeps accruing. If a same-day fix is not possible, consider reducing budget on the worst-affected campaign so you are not pacing full spend against a half-broken catalogue.
Quick sanity tests:
  • Multiple campaigns breach + they share a catalogue = feed-level fault, fix the catalogue.
  • One campaign breaches + others on the same catalogue are fine = campaign-specific issue, not the feed.
  • Conversion drop scales with rejection share = confirmed feed-driven effectiveness loss.
  • Breach clears after a feed re-sync = confirmed, no campaign restructure needed.
  • High exposed spend + high rejection share = reduce budget until the feed is fixed.

Sibling cards merchants should reference together

Reconciling against Criteo

Where to look in Criteo’s own dashboard:
Criteo Management Centre → Feed Manager → Diagnostics for the rejection reasons and rejected-item counts, and Reporting → Performance Report grouped by campaign for the spend on each campaign linked to the affected catalogue.
Criteo holds both halves of this story but never puts them on the same screen: Feed Manager Diagnostics shows what is rejected, and the Performance Report shows what each campaign spent, but Criteo does not connect “this campaign depends on that rejecting catalogue, and here is the spend exposed”. That join is exactly what this card does. To reconcile manually, read the rejected-item list and rejection reasons from Diagnostics, identify which campaigns link to that catalogue, then sum their spend in the Performance Report; the total should match this card’s exposed-spend figure within rounding. Why our number may legitimately differ from a manual check: Cross-connector reconciliation: This card is inherently cross-platform, joining ad spend to catalogue-feed status:

Known limitations / merchant FAQs

Why is this called the highest-leverage card on Criteo? Because Criteo is feed-driven at its core. Dynamic creative is rendered from the catalogue, so a feed rejection does not just dent one metric, it hollows out the creative that the whole platform depends on, while the campaign keeps spending. Catching exposed spend the moment a feed breaks prevents the most expensive and most common failure mode on the platform. Fixing the feed is repeatedly the single biggest ROAS lever on a Criteo account. A feed rejection did not pause my campaign, so why is it a problem? That is precisely the problem. A rejection silently removes affected SKUs from the eligible pool but leaves the campaign running, pacing budget against the surviving SKUs and generic fallback. Spend looks normal while effectiveness has quietly collapsed. The campaign not stopping is what makes feed rejections so easy to miss and so expensive, which is why this card converts the warning into a money figure. What causes feed rejections most often? The usual suspects are banned or promotional text in title and description fields, image-quality failures (low resolution, watermarks, overlay text), price mismatches between the feed and the landing page, missing required attributes, and broken or expired product URLs. Criteo Feed Manager Diagnostics names the reason per item. A bulk product-data edit on the storefront is a frequent trigger, as in the worked example. Should I pause the campaign or fix the feed? Fix the feed. Pausing throws away the still-working part of the catalogue and your warm audiences. The right sequence is to read the rejection reason in Diagnostics, correct the product data at the feed source, force a re-sync, and let the rejected SKUs re-enter the auction within 24 to 72 hours. Reduce budget on the worst-affected campaign only as an interim measure if a same-day feed fix is not possible. Does iOS ATT or attribution loss affect this card? Very little. The card keys off feed-rejection status and spend, both observed directly rather than attributed, so iOS ATT and Safari ITP do not distort the exposed-spend figure. The conversion-drop context shown alongside it is attribution-sensitive, but the core “spend exposed to a rejecting feed” signal is high-confidence. My SKU is fine on my storefront but Criteo rejected it, how? Criteo applies its own catalogue rules on top of your storefront data. A product that is perfectly valid in your store can still fail Criteo’s text, image, or price-consistency checks. The feed export is the bridge, and the fix is to make the exported product data satisfy Criteo’s rules, for example removing promotional phrasing from the title or supplying a higher-resolution image, even though the storefront listing itself was never broken.

Tracked live in Vortex IQ Nerve Centre

Spend on Campaigns with Active Feed Rejections 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.