Detection: Ad sets spending without converting
Key: zombie_adset
Severity: High
Confidence: 85–95%
What this detection looks for
We flag an ad set as a "zombie" when all three of these are true:
- The ad set is active (not paused, not deleted)
- It has spent $500 or more within the audit date range
- It has run for 14 days or more with zero purchase conversions
Why this matters
When an ad set has run for two weeks with five hundred dollars of spend and no purchases, Meta has had ample opportunity to find converting audiences inside your targeting. The continued absence of conversions tells you one of three things:
- The audience is too narrow to find buyers
- The creative is not driving purchase intent
- The conversion event is not firing correctly
In all three cases, more time and money will not solve the problem. Pausing the ad set and redirecting the budget is almost always the right move.
How we calculate confidence
| Condition | Confidence |
|---|---|
| Spend ≥ $750 AND ≥ 14 days AND 0 purchases | 95% |
| Spend $500–$750 AND ≥ 14 days AND 0 purchases | 85% |
| Any of the above conditions not met | We don't surface the finding |
How we calculate the estimated monthly cost
We take the spend observed over the audit date range and project it forward to a 30-day month at the same daily run rate.
monthly_cost = (observed_spend / days_in_range) × 30
What would change our mind
A zombie ad set finding can be a false positive in a small number of cases:
- A long sales cycle. If your average purchase happens 30+ days after first click, a 14-day window won't capture conversions. We'd recommend extending the audit date range and re-running.
- Pixel/CAPI not firing correctly. If your Purchase event isn't being
recorded properly, real conversions are happening that we can't see. Check
Events Manager → Test Events to confirm. (We also have a separate detection
for this:
weak_event_coverage.) - A new product launch. If the ad set just launched and you're in the Meta learning phase, results in week 1 are noisy. Wait until day 14 before acting.
How to fix it
- Pause the ad set in Meta Ads Manager
- Note the targeting and creative used — these are signals about what doesn't work for your audience
- Reallocate the budget to an ad set that has been converting
- If most of your ad sets in a campaign are zombies, the issue is likely creative or offer, not targeting — refresh creative before launching new ad sets
What we look at to make this detection
effective_statuson the ad set objectspendinsights metric, summed across the audit date rangeactionsinsights metric, filtered tooffsite_conversion.fb_pixel_purchaseandoffsite_conversion.custom.<your-purchase-event>- Account-level
attribution_settingto know which window we're summing over
Source
This methodology page is generated from apps/api/app/services/detections/zombie_adset.py.
The detection code is open for inspection. We do not have hidden rules.