what to scale/kill
When to kill a Meta ad vs give it more time: a decision framework
A three-question framework that beats the single spend threshold most buyers kill on
By the AdBrain team5 min read
Kill a Meta ad once it has spent enough to be judged, sits below your CPA or ROAS target across a rolling 3 to 5 day window, and the loss is real rather than one noisy day. Before that point you are not making a decision, you are guessing. And guessing early throws away the exact thing you paid Meta to build: the learning that tells the algorithm who your buyer is.
Most kill posts hand you a single number. Spend 50 dollars, spend 100, wait three days, then cut. That rule fails because it answers only one of the three questions a buyer actually has to answer, and it answers them out of order. Here is the order that holds up.
Question 1: Is it even judgeable yet?
You cannot kill what you cannot judge. Three things have to be true before an ad is fair game.
First, it is out of the learning phase. Meta is still testing delivery during learning, and the cost per result swings hard while it does. A kill call made here is a call made on noise. Let it exit learning, or get close, before you read the numbers as signal.
Second, it has a real sample. A common floor is around 1,000 impressions and 50 to 100 dollars in spend before the data means anything, and you scale that floor to your average order value. A 40 dollar product and a 400 dollar product do not deserve the same judging bar. Higher AOV needs more spend before one purchase or zero purchases tells you the truth.
Third, materiality. If an ad has spent a tiny slice of its ad set budget, it has not been given a real chance to perform, so its bad number is not a verdict. Do not kill an ad that never got enough of the ad set's delivery to be judged. That is the ad set starving it, not the ad failing.
If any of the three is missing, the answer is give it more time, full stop. You have not earned a decision.
Question 2: Is it actually losing, or just having a bad day?
Once an ad is judgeable, ask whether it is truly below target. This is where the rolling window matters. Judge on a rolling 3 to 5 day window, never a single day. Meta reporting is jumpy day to day, attribution windows fill in late, and a Tuesday spike in cost can be gone by Thursday. One bad day is weather. A five day trend is climate.
Compare that rolling number to your target, not to your best ad and not to your hopes. If your break-even ROAS is 1.8 and the ad is holding 1.2 across five days with a clean sample, it is losing. If it is bouncing between 1.6 and 2.4 and averaging out near target, it is noisy, not dead. Noisy ads get time. Clearly-below-target ads move to the next question.
Watch the trend line too. An ad drifting down week over week on the same creative is often fatigue, not a fundamentally weak ad, and fatigue has a different fix. Refreshing the creative can reset it. Read the fatigue signals that mean refresh, not kill before you cut something that only needs new frames or a new hook.
Question 3: Is the ad the problem, or the ad set and offer?
This is the question the single-threshold crowd skips, and it is the one that saves good creative. An ad lives inside an ad set. If the audience is wrong, the budget is throttled, or the offer is weak, even strong creative will post weak numbers. Before you blame the ad, rule out the container.
Ask: are sibling ads in the same ad set also underperforming? If the whole ad set is soft, the problem is upstream, and killing one ad just reshuffles a losing setup. Check whether the ad set is budget-constrained, aimed at a saturated or mismatched audience, or carrying an offer that is not converting anywhere. Killing the ad will not fix any of those. You will kill five ads in a row and wonder why nothing works.
Only when an ad is judgeable, clearly below target on a rolling window, and failing inside an ad set where other ads are fine, does kill become the right call. That is a genuinely weak creative. Cut it.
Kill vs keep at a glance
| Condition | Kill | Keep or wait |
| --- | --- | --- |
| Still in learning phase | No | Wait |
| Under the sample floor for your AOV | No | Wait |
| Spent too little of ad set budget to judge | No | Wait |
| One bad day, noisy across the window | No | Keep |
| Below target every day across 3 to 5 days | Yes | -- |
| Whole ad set is soft | No, fix the ad set | Fix upstream |
| Slow decline on aging creative | No, refresh first | Refresh |
| Judgeable, clearly losing, siblings fine | Yes | -- |
The cost of getting the timing wrong
Kill too early and you waste the learning you already paid for. Every impression before the sample floor was tuition, and cutting at day two burns it with nothing to show. Kill too late and you pour spend into a creative the window already told you was dead. The framework exists to keep you out of both ditches: enough patience to let signal form, enough discipline to act once it has.
The hard part is doing this across dozens of ads every day without drifting back to gut feel. This is where a system helps. AdBrain checks sufficiency and materiality first, and will not tell you to kill an ad that has not earned a verdict, which keeps the panic cuts off the table.
One more habit worth building: the same three questions run in reverse tell you what to pour more into. When an ad is judgeable, clearly beating target on a rolling window, and doing it inside a healthy ad set, that is your signal to push. Here is when to scale instead. And if you want the reasoning behind every scale, refresh, and kill call in one place, that is what AdBrain is built to give you.
Written by the AdBrain team from established Meta and Google media-buying practice, AI-assisted and reviewed for accuracy. We do not invent statistics, results, or case studies; figures are sourced to the platforms' own documentation where cited.