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

At a glance

Per-campaign drill-down of zero-conversion spend. The companion to Wasted Spend: that card sums, this card lists. Each row is a campaign that’s been live more than 7 days and produced zero attributed purchases. The 7-day filter excludes Learning-Phase campaigns (TikTok’s algorithm typically needs 25, 50 conversions before delivery stabilises; campaigns younger than 7 days are still in that learning window).

Calculation

Calculated automatically from your TikTok Ads 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 US Gen-Z DTC accessories brand. 30-day window 02 Apr 26 to 01 May 26. Account currency USD. Events API live. iOS share 36%. What this is telling you, row by row:
  1. Cold prospect, hypebeast 18-24 ($1,840, 28 days, zero conversions). CTR 1.17% is healthy for TikTok cold traffic. The audience clicks but doesn’t buy. That’s the audience-mismatch signature, hypebeasts on TikTok scroll, save, screenshot for price comparison; they don’t convert in-session. Pause this audience entirely. Don’t refresh creative; the issue isn’t the hook, it’s the buyer intent of the segment.
  2. Catalog Sales, summer drop SKUs ($1,420, 21 days). CTR 0.99% is low; impressions still high (318k) means delivery is fine but the creative isn’t engaging. Catalog ads on TikTok work best with seasonal hooks; “summer drop” feels stale by week 3. Refresh the catalog creative template (new music, new transition pattern, fresh on-screen text). Don’t pause the campaign, refresh the creative.
  3. Spark Ads, creator @taylor_drips boost ($920, 14 days). CTR 2.94% is excellent (well above platform average). Zero conversions despite strong engagement is the awareness-tier shape: people watch, save, follow the creator, but don’t click through to buy. Watch, don’t pause. Spark Ads have brand-equity value (UGC rights, creator association) that doesn’t show up here. Judge on a 60, 90 day MMM read.
  4. Conversions, lookalike 5% (video viewers) ($680, 11 days). CTR 0.83% is below platform average, conversions zero. LAL based on video-viewer signal is structurally weak (video views are a noisy intent signal on TikTok; viewers are casual, not buyers). Pause, redirect to LAL 1% (purchasers) or LAL 1, 3% (engagers).
  5. BHC support, #DripCheckChallenge ($480, 9 days). Reach-objective campaign, 1.84M impressions. Zero attributed purchases is expected for reach-objective. Don’t read this row as waste. The signal that the BHC worked lives elsewhere (branded-search lift on Google, organic site traffic, follower growth on the brand TikTok account). Filter or exclude reach-objective campaigns from this card’s read by configuring objective != 'REACH' in the alert rule.
Action priority:
  1. Pause the hypebeast cold prospect and the LAL 5% video-viewer adset today (clearest waste, $2,520 freed).
  2. Refresh creative on the Catalog Sales summer-drop campaign within 48h (don’t pause; the SKUs are still active).
  3. Re-allocate $2,520 to LAL 1% (purchasers) and the cart-abandoner retargeting pool (already at 5+ ROAS).
  4. Filter BHC support out of this card’s alert (configure objective != 'REACH' in the trigger rules).
Quick sanity tests:
  • Row count rising while account ROAS holding = experimentation cost. Expected.
  • Row count rising while account ROAS dropping = systemic creative fatigue. Refresh creative across the account.
  • Same campaign appearing here for 3+ consecutive periods = the audience or creative is broken; pause or rebuild.
  • Reach-objective campaigns appearing = configure the alert filter to exclude them.
  • High-CTR campaigns with zero conversions = post-click problem (landing page, pricing, audience intent mismatch). Don’t fix at the ad level; fix downstream.

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in TikTok Ads Manager: TikTok Ads Manager > Campaigns > sort by “Complete payment” ascending, filter Cost > 0, filter Created > 7 days ago. The list of campaigns at the top of the sort with non-zero cost and zero purchases is the same set this card lists. Other relevant Ads Manager views:
  • Reports > Custom > Campaign Performance: same data downloadable.
  • Audience Insights per campaign: helps diagnose audience-mismatch waste.
  • Delivery > Learning Phase status: campaigns still in Learning shouldn’t be counted here (the 7-day filter approximates this).
Why our number may legitimately differ from TikTok: Cross-connector reconciliation:

Known limitations / merchant FAQs

Why is the same campaign appearing here for 3 weeks running? Three possibilities, ordered by probability:
  1. Audience-creative mismatch (most common). The audience clicks but doesn’t buy; the campaign won’t convert no matter how many creatives you swap in. Pause and rebuild around a different audience.
  2. Frequency cap too high. The same audience is seeing the ad 5+ times in 7 days; saturation kills conversion. Cap at 3, 4 in 7d.
  3. Tracking failure. Pixel mis-fires on the landing page, Events API event_id duplication, or Conversions API event mapping wrong. Audit in Events Manager > Test Events.
The campaign just started, why is it on this list? The 7-day age filter should exclude very new campaigns. If a 2-day-old campaign appears, the alert configuration is overriding the default; tighten the rule to campaign_age_days >= 7 (or 10, 14 days for low-volume accounts). My BHC support campaign always appears here, is that a problem? No. Reach-objective campaigns systematically appear because they don’t optimise to purchases. Configure the alert to exclude objective in ('REACH', 'VIDEO_VIEWS', 'TRAFFIC') to filter them out. They have value (branded-search lift, follower growth) measured elsewhere. Should I pause every campaign on this list? No. Triage by:
  1. CTR shape. High-CTR / zero-conversion = downstream problem (landing page, pricing, intent mismatch). Don’t pause; fix downstream.
  2. Creative age. Older than 14 days with declining performance = creative fatigue. Refresh, don’t pause.
  3. Audience size. Smaller than 100k = audience may be exhausted; rebuild with a broader signal.
  4. Spend size. Below $50 cumulative = often a test that didn’t get enough volume to learn. Either kill or scale up to give it a chance.
Why is the iOS share of these campaigns higher than my account average? Common pattern. iOS-heavy campaigns are over-represented here because Pixel-only attribution misses iOS purchases, making them appear zero-conversion. Cross-check against GA4 (Consent Mode v2) and Shopify UTM-tagged orders before pausing. A campaign that’s “really” converting on iOS but invisible to Pixel is a tracking problem, not a creative or audience problem. Events API rolled out, this list got shorter. Is that real or a measurement artefact? Both. Events API recovers iOS conversions that were genuinely happening (real measurement) and re-attributes them to specific campaigns (so those campaigns drop off the zero-conversion list). The shorter list post-Events-API is genuine in that the attribution improved, but the underlying campaign performance didn’t change. Don’t claim a creative or audience win from a list-shrinkage event. How do I tell creative-fatigue waste from audience-mismatch waste? Look at the campaign’s history in Campaign Comparison:
  • Creative fatigue: campaign converted historically (e.g. ROAS 3+ for 2, 3 weeks), then dropped to zero. Same audience, different time. → Refresh creative.
  • Audience mismatch: campaign never converted from launch, multiple creatives tested. → Pause and rebuild.
What about campaigns that converted but at terrible ROAS? They won’t appear here (this card is zero-conversion only). For negative-ROAS analysis use Worst Performing Campaigns. Some campaigns straddle both lists during transitions; that’s normal. Spark Ads always appearing here, why? Spark Ads (creator-boosted posts) often look zero-conversion because their value is off-platform (UGC rights, organic spillover, brand association). Direct conversion attribution is the wrong measurement. Either filter Spark Ads out of this card’s alert or judge them on a 60, 90 day MMM read, not on direct attributed conversions. The list keeps growing week-over-week, what’s the systemic issue? On TikTok this is almost always broad creative fatigue across the account. The For You feed cycles same creative to same audience faster than other platforms; if you’re not refreshing creative every 2, 3 weeks, fatigue compounds. Plan a creative-refresh cadence: budget 15, 25% of spend for new variations every fortnight on cold-prospect campaigns.

Tracked live in Vortex IQ Nerve Centre

Zero-Conversion Spend is one of hundreds of KPI pulses Vortex IQ tracks across TikTok Ads 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.