When to Kill a Facebook Ad Set: A Decision Framework That Doesn't Waste Money
Most media buyers kill ad sets too early or too late. Too early means you exit learning phase with nothing learned. Too late means you spend $50-200 on data you had at the $30 mark. I built a decision tree over about $600K in managed spend that cuts waste without choking winners. The short version: check leading indicators by day 3, confirm with conversion data by day 5-7, and don't kill based on a single metric.
What bad kill decisions cost
Killing an ad set is easy. Knowing whether you should have - that costs money.
I tracked 127 kill decisions across four accounts for a full quarter in late 2025. The numbers were uncomfortable. About 30% of what I paused before day 4 would have become profitable by day 7, based on how similar audiences performed. And roughly 20% of what I let run past day 7 should have been cut on day 3. I had the signals. I didn't trust them.
For a DTC skincare brand I worked with, I calculated the damage both ways over 90 days. Early kills cost about $4,800 in missed opportunity. Late kills burned roughly $6,200 on ad sets that never had a chance. Together: $11K in preventable waste on a $45K quarterly spend. Almost 25%.
The "wait for 50 conversions" problem
You'll hear this everywhere: give the ad set 50 conversions before judging it. This comes from Meta's learning phase documentation, and there's a kernel of truth. But taken at face value, it's bad advice for kill decisions.
At a $40 CPA target for B2B SaaS leads, 50 conversions means $2,000. If the ad set targets the wrong audience or has weak creative match, you're spending $2,000 to confirm what cheaper signals could have told you at $150.
The 50-conversion threshold matters for delivery optimization. Meta needs that volume to stabilize. You don't need it to spot a dud. Cheaper signals work earlier.
Spend thresholds I watch
| Spend vs. Target CPA | Metric to Check | Kill Signal |
|---|---|---|
| 0.5x CPA ($20 of $40 target) | CTR, CPM, LP view rate | CTR below 0.6% AND CPM above geo average |
| 1x CPA ($40) | Outbound click rate, bounce rate | Zero conversions AND bounce rate over 80% |
| 1.5x CPA ($60) | Any conversion event | Zero micro-conversions (add to cart, form start) |
| 2x CPA ($80) | Conversions | 0-1 conversions at 2x target CPA |
| 3x CPA ($120) | Hard kill line | Fewer than 2 conversions regardless of other metrics |
That 3x CPA line is absolute. I've tested running ad sets past it dozens of times. Maybe 5% recovered. The math doesn't justify the hope.
Day 1-2: Leading indicators, not conversion data
Conversions take time. With 7-day click attribution windows and real purchase cycles, you might wait days. But clicks, CPMs, and engagement happen in hours. These early numbers don't predict conversion rates with precision, but they tell you whether you're reaching the right people at a reasonable cost.
CPM relative to geo benchmark. Running US broad targeting and your CPM is $48 when the account average sits at $22? Something is off. Either the audience is tiny and competitive, or Meta's initial delivery test hit an expensive pocket. I give it 48 hours to settle. If CPM stays 2x+ the account average by end of day 2, that's a flag.
Feed CTR specifically. Overall CTR is misleading because Audience Network inflates it. Pull feed CTR from the Breakdown dropdown. For cold traffic e-commerce I want 1.0%+ by day 2. For B2B lead gen, 0.7%+ is workable. Below those numbers, the creative-audience match is weak.
Outbound click ratio. Outbound clicks divided by all clicks. If you see a lot of clicks but few outbound clicks, people are tapping your profile or the "See More" text, not your CTA. I've seen ad sets with 2.1% CTR and 0.4% outbound CTR. That's engagement, not intent.
None of these justify a kill on day 2 by themselves. All three together - high CPM, low CTR, poor outbound ratio - and I'll cut budget by 50% rather than killing. That caps the bleed while leaving the door open for the algorithm to find cheaper pockets.
Day 3-4: Where most decisions crystallize
By day 3 you have enough delivery data to see patterns. The metric I care about most at this stage: cost per landing page view. Not link click - landing page view, which means the page loaded. The gap between the two tells you about page speed, redirect chains, and tracking health.
Link clicks at $1.20 but landing page views at $4.80 means you lose 75% of clicks before anyone sees your offer. Don't kill the ad set for that. Fix the page.
For ad sets where the funnel is clean:
Keep running if: Landing page view cost stays within 2x of your best performing ad set. You see micro-conversions (add to cart, form start, scroll depth). CPM has stabilized or dropped from day 1.
Cut budget 50% if: Landing page views are reasonable but no micro-conversions yet. CPM holds but CTR falls day over day. Audience Network eats more budget than you intended.
Kill if: You've spent 1.5x target CPA with zero micro-conversions. CTR declined every day since launch. CPM runs 2x+ account average and keeps climbing. Relevance diagnostics show "Below Average" on both quality and engagement.
Day 5-7: Conversion confirmation
If an ad set survived to day 5, you're working with conversion data now. The question gets simpler: is the CPA trajectory moving toward your target, or away from it?
I plot three points. Day 5 CPA, day 6 CPA, day 7 CPA. If the line moves down or stays flat near target, the ad set lives. If it moves up, I check one thing before killing: does the ad set have at least 5 conversions?
Below 5 conversions, CPA swings on every new event. One $90 conversion in a $40-target account looks terrible. Two more at $25 each and you're at $47 average, which is workable. I don't trust CPA trends below 5 conversions. Instead I look at spend-to-conversion velocity.
Spend-to-conversion velocity measures the gap in dollars between each conversion. First conversion at $35 spend, second at $70 (gap: $35), third at $95 (gap: $25). Velocity is improving. First at $20, second at $65 (gap: $45), third at $140 (gap: $75). Velocity decaying. Even with 3 conversions this pattern holds up well.
Zombie ad sets: the sneakiest budget drain
Some ad sets refuse to die. They don't perform either. They spend $15-20/day, produce a conversion every 2-3 days at slightly above target CPA, and never trigger a kill rule.
Stack five or six of these and you've got $100/day producing results you'd reject from a single ad set at that budget. Each one looks marginally acceptable in isolation. Together they're a slow leak.
My rule: every Monday I sort all active ad sets by ROAS (or CPA) over the last 7 days. Bottom 25% gets one question: "If I moved this budget to my top performer, would I expect better results?" If yes, and the top performer isn't showing saturation signals, I cut the zombie.
In practice this is hard because zombie ad sets feel safe. They produce something. Killing them means a smaller active count and less perceived coverage. Four strong ad sets beat eight mediocre ones. I needed to learn this through about $8K in wasted zombie budget before it stuck.
Special cases that bend the rules
High-ticket B2B (CPA target $200+)
The timeline stretches. Spending $400 before a conversion is normal when you target CFOs. I extend all the day-based rules by 2x for anything with a target CPA above $150. The day-3 framework becomes day-6. The day 5-7 confirmation becomes day 10-14. Leading indicators still apply on the original timeline - CPM and CTR settle fast regardless of conversion cycle length.
Retargeting ad sets
Different rules. Small warm audiences. CTR should be higher (2%+ for website visitor remarketing). CPA should be lower. But the kill timeline is longer because these audiences need time to cycle through. I give retargeting 7-10 days minimum and watch frequency as the primary kill signal instead of CPA.
Post-iOS 14 attribution gaps
If reported conversions feel low, check Ads Manager vs. your analytics vs. your CRM. For one insurance client, Meta underreported by 40% compared to their CRM data. Without a correction factor, I would have killed 60% of the ad sets that were working. I add a historical discrepancy adjustment before making kill decisions on any account where I've confirmed the gap.
Seasonal CPM inflation
November CPMs can double. A $55 CPA in September becomes $90 in November for the same audience with the same creative. I adjust kill thresholds seasonally. During Q4, my 3x hard-kill line becomes 4x. I've seen ad sets that looked terrible in November become the account's best performers in January when CPMs dropped back.
The checklist, compressed
I keep this taped next to my monitor. It's the flowchart above stripped to the fastest path:
- Spent 0.5x target CPA? No - wait. Yes - check CTR. Below 0.5%? Flag, don't kill yet.
- Spent 1x target CPA? Check link clicks vs. landing page views. Gap over 50%? Fix the funnel. Any micro-conversions? Good, keep running. None? Cut budget 50%.
- Spent 1.5x target CPA? Any conversions? Project the CPA trend. Improving = keep. Flat = budget cap. Declining = flag for day-7 review. No conversions AND no micro-conversions? Kill.
- Spent 2x target CPA? Fewer than 2 conversions? One more day, cap at $20/day. 2+ conversions but CPA over 2x? Check velocity. Improving = one more day. Flat or worsening = kill.
- Spent 3x target CPA? Kill. One exception: 5+ conversions with CPA declining.
Mistakes I made for years before building this
I used to make kill decisions based on how I felt. An ad set would spend $100 with no conversions and I'd get anxious. Or one would start strong - two conversions at $15 CPA - then the third would cost $60, and I'd panic and cut it.
The framework came from cataloging every time I was wrong. The patterns were clear.
I killed too early when the creative was novel - different from what Meta had seen in the account. New creative angles need more exploration time because the algorithm doesn't have a performance pattern to match against.
I killed too late when an ad set matched a pattern I'd seen fail before but I hoped this time would be different. Same audience, similar creative, same result. Hope is expensive in this business.
The biggest improvement wasn't a better rule. It was having rules and sticking to them. Before the framework, every kill decision was a judgment call influenced by whatever else was going on that day. Now it's a checklist. My mood doesn't touch the account anymore. That alone probably saved more money than any optimization tactic I've learned.
FAQ
Q: Should I turn off an ad set or delete it?
Turn it off. Deleting removes the data for good. I review old ad sets monthly for patterns - which audiences converted, which creative angles held up. You can't do that with deleted ad sets. And if you want to restart one after a creative refresh, the pixel data is still there.
Q: What about killing individual ads within an ad set?
Same framework, smaller scale. I turn off individual ads when they've consumed more than their fair share of spend without delivering proportional results. Fair share = ad set spend divided by number of active ads. If an ad got more than that and converted worse than the ad set average, it's dragging down the group.
Q: My client insists on waiting 2 weeks before any changes.
Show them the dollar amount. Two weeks at $50/day on a bad ad set is $700. Frame it as: "I can redirect $500 of that toward working audiences by using leading indicators on day 3." Most clients care about waste more than timeline once you put a number on it.
Q: Does this work for Advantage+ Shopping campaigns?
Partially. ASC campaigns have one ad set, so the kill decision sits at the campaign level. Meta handles more optimization inside ASC, so I give it 7-10 days and $500 minimum before evaluating. CTR and CPM signals still apply, but with wider acceptable ranges.
Q: Minimum daily budget for this framework?
At least 0.5x your target CPA. Below that, you won't accumulate enough data within these timeframes. Target CPA of $40 means a budget under $20/day requires proportionally longer timelines.
Bottom line
A framework beats instinct. Not because instinct is wrong - experienced media buyers often sense when an ad set is dying. But gut feelings aren't auditable or transferable to a team member. This checklist has saved me $3-5K per quarter per account in wasted spend, mostly by killing zombies faster and protecting slow starters longer.
Print the decision tree. Use it for 30 days before you modify it. A mediocre framework followed every time beats the best framework applied on some days.