At a glance
Real-time alert: spend on any Criteo campaign that is older than 7 days and has zero attributed conversions in the trailing 30 days. Companion to Wasted Spend (which surfaces line-item / segment / product-set granularity); this card surfaces campaign-level offenders, the top of the hierarchy. The 7-day age threshold respects Criteo’s view-through lookback: campaigns younger than 7 days haven’t had their attribution window settle, so a “zero” reading is meaningless. Above 7 days, zero conversions is a real signal.
| What it counts | Sum of metrics.spend on Criteo campaigns where (a) campaign age >= 7 days, (b) trailing 30D attributed conversions = 0 (post-click + post-view). Reports the campaign list and total spend in the bucket. |
| Cost basis | Mostly CPC; sums billable cost. |
| Currency | Single advertiser-account currency. |
| Conversion attribution | 30-day post-click + 7-day post-view. The view-through lookback is why we require >7 days campaign age before this card triggers. |
| Attribution window | 30D click + 7D view default. |
| Bot / invalid traffic | Excluded from numerator (filtered pre-billing). |
| iOS 14.5+ ATT impact on the card | Material false-positive risk. ATT can produce zero-conversion reads on iOS-heavy campaigns where conversions are happening but unmeasurable. Audit Conversions API health before treating any campaign as truly wasted. |
| Catalogue-feed dependency | Catalogue-driven campaigns can flicker into and out of this bucket as feed health changes. A feed re-sync can rescue a “wasted” campaign within hours. |
| Time window | Trailing 30 days at any point in time. The card refreshes daily; alert fires the moment a campaign crosses 7 days old with zero conversions. |
| Alert trigger | >$0 on any campaign >7D old. Fires once per qualifying campaign (de-duplicates on the same campaign for a 30-day cooldown). |
| 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 6 active Criteo campaigns. Today is 02 May 26. Account currency EUR.| Campaign | Spend (€, trailing 30D) | Days live | Conversions (trailing 30D) | Status |
|---|---|---|---|---|
| Lower-funnel retargeting (PDP visitors) | 14,200 | 412 | 1,420 | Healthy |
| Mid-funnel consideration (basket abandoners) | 6,800 | 288 | 510 | Healthy |
| Commerce Media (publisher prospecting) | 4,400 | 156 | 124 | Healthy |
| Sponsored product (priority SKUs) | 1,600 | 92 | 78 | Healthy |
| Spring fashion clearance push | 1,420 | 28 | 0 | In list |
| New audience test: 365-day lapsed | 320 | 9 | 0 | In list (just qualified) |
| Account total in zero-conversion bucket | €1,740 | - | 0 | 6.4% of spend |
- Two campaigns are in the bucket. “Spring fashion clearance push” at €1,420 over 28 days and “New audience test: 365-day lapsed” at €320 over 9 days. Together 6.4% of account spend.
- The clearance campaign has had 28 days to convert and produced zero. This is real waste, not measurement noise. The diagnostic order: (a) is the clearance product-set rendering on the right placements? (b) is the audience definition over-broad (clearance buyers are price-sensitive; if the audience is general retargeting it’ll click but not convert)? (c) is the landing page set to a clearance category page or to the storefront homepage (storefront homepage tanks clearance conversion).
- The 365-day-lapsed test has only 9 days; the alert just qualified it. Recommended action: wait another 7 days (cumulative 16 days) to give view-through credit a chance; if still zero, this audience is too cold for retargeting (lapsed users beyond 90 days rarely retarget effectively).
- The clearance campaign should be paused or restructured by week 5 (35 days). Restructure options: tighten audience to “viewed clearance category”, switch landing page to the clearance category, A/B test creative against a discount-percentage hero. If after restructure it remains zero, pause.
- Compared to the same merchant’s
cri_wasted_spendwhich shows €4,260 wasted at line-item / segment / product-set level, the campaign-level read here (€1,740) is a subset. The difference (€2,520) is line-item / segment / product-set-level waste within otherwise-healthy campaigns. Both reads are valuable: this card tells you which campaigns to pause; the line-item card tells you which sub-elements to surgically fix.
- Day 0 (alert fires): log it; do not act yet.
- Day 0 to 7: audit Conversions API health, attribution-tag firings, and catalogue-feed health. False positives are usually visible by day 3.
- Day 7 to 14: if the campaign is still zero, restructure (audience, landing page, creative, bid strategy).
- Day 14 to 30: if restructure didn’t recover, pause.
- Cooldown: paused campaigns that previously triggered this alert can be re-launched after 60+ days with new structure; the 30-day deduplication cooldown prevents the alert re-firing the moment a re-launched campaign crosses 7 days old.
Sibling cards merchants should reference together
| Card | Why pair it with Criteo Zero-Conversion Spend | What the combination tells you |
|---|---|---|
| Wasted Spend | Line-item / segment / product-set granularity. | This card surfaces campaigns; Wasted Spend surfaces sub-campaign offenders. Pair to see both layers. |
| Total Spend | Denominator for the percentage. | Whether €1k zero-conversion on a €100k account matters or whether €1k on a €5k account is a fifth of spend. |
| ROAS | Account efficiency. | If account ROAS is healthy despite zero-conv campaigns, the working campaigns are subsidising the dead weight. |
| Conversion Lag | Late-arriving conversions can rescue a campaign from this list. | Don’t pause until the lookback has settled (allow 7 days minimum, 14 for Commerce Media). |
| Spend by Campaign | Full per-campaign view. | Where the alert sits in the broader spend distribution. |
| Conversion Rate Trend | Account-wide CR signal. | If CR collapsed everywhere, the zero-conv campaigns are victims of a measurement issue, not real failures. |
| AdRoll Zero-Conversion Spend | Cross-retargeting peer. | If similar audience definitions are zero on both, the audience is the problem. |
| Google Ads Zero-Conversion Keywords | Different funnel-position peer. | Google’s keyword-level zero-conv is a different shape from Criteo’s audience / catalogue-level. |
Reconciling against the vendor’s own dashboard
Where to look in Criteo’s own dashboard:Criteo Management Centre → Campaigns → All Campaigns view, sort Conversions ASC, then filter to campaign age >= 7 days.Criteo’s UI doesn’t badge “zero-conversion campaigns” explicitly; reconcile by sorting the campaign list ascending by conversions. Campaigns with 0 conversions and >7 days live should match this card’s list exactly. Why our number may legitimately differ from Criteo:
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days off | Criteo uses advertiser-account TZ; this card uses UTC. Campaigns that crossed the 7-day age threshold yesterday in advertiser TZ may not have crossed it yet in UTC. |
| View-through lookback | Ours undercounts on recent days | A 9-day-old campaign with zero conversions may pick up view-through credits over the next 5 days. The 7-day age threshold was set deliberately to match the view-through window; older campaigns are reliable. |
| Conversions API health | Ours undercounts iOS conversions | If CAPI is broken, iOS conversions silently disappear. The campaign reads zero in both this card and Criteo’s UI; the fix is restoring CAPI, not adjusting the threshold. |
| Custom conversion types | Different scoping | If the merchant added new conversion types (e.g. “newsletter signup”) mid-period, the campaign may have those conversions but no purchase conversions. This card sums all conversion types Criteo tracks; the UI breakdown shows per-type. |
| Currency | None expected | Both use account currency. |
| Archived campaigns | Same in both | Archived campaigns are excluded from both views. |
| Source | Expected relationship | What causes legitimate divergence |
|---|---|---|
adroll.adr_zero_conversion_spend | Cross-retargeting peer; campaign-level zero-conv. | If matching audience definitions are zero on both, the audience layer is the issue. |
facebook_ads.fac_zero_conversion_spend | Cross-platform peer; ad-set level zero-conv. | Meta’s failure modes are usually creative-fatigue or audience-saturation; Criteo’s are catalogue and audience-fit. Different fixes. |
google_ads.gads_zero_conversion_spend | Cross-channel zero-conv pattern. | Google is keyword-level; Criteo is campaign-level. The shape of “wasted” is different. |
| Shopify / BC / Adobe Out-of-Stock SKU report | Catalogue-feed root-cause check. | Many zero-conv Criteo campaigns are catalogue-driven and pointing at out-of-stock SKUs. |