Ad fatigue: when to refresh creative (and when your data is lying)
How to tell a fatigued ad from a bad market week, which frequency thresholds matter on Meta, and when to refresh creative without killing a winner too early.
How to tell a fatigued ad from a bad market week, which frequency thresholds matter on Meta, and when to refresh creative without killing a winner too early.
Your best ad has carried the account for three weeks. This Tuesday its CTR sits 19% below last week's average, frequency reads 2.7, and someone on the team has already typed "fatigue?" into Slack. You now have two expensive ways to be wrong. Kill it too early and you throw away a creative that still had a month in it. Let it run too long and you keep paying rising CPMs to show a worn-out ad to people who started scrolling past it days ago.
I have made both mistakes, on accounts spending around €150k a month. The second one cost more, but the first one hurt more, because I did it to a winner.
The takeaways
An ad is fatigued when its CTR has been declining for several consecutive days while the rest of your account holds steady. Both halves of that sentence matter. The multi-day slope filters out daily auction noise, and the account-wide comparison filters out a market dip that has nothing to do with your creative.
Most buyers skip the second check, and it is the one that saves winners. CPMs swing with competitor budgets, seasonality, even a news cycle. When the whole vertical gets pricier on a Tuesday, every ad's efficiency drops together, and the creative that happens to be under review takes the blame. I built this exact comparison into Adscalr's fatigue detection: the CTR slope of one ad is read against market-wide movement over the same days, so a bad market day is charged to the market.
One down day means nothing. Three to five days of decline, isolated to one ad, means something.
For cold prospecting audiences on Meta, the agency benchmarks you will find in every fatigue guide cluster between 2.5 and 3, and that matches what I have seen in my own accounts. Meta's Ads Manager backs this from the platform side: it shows a "creative fatigue" delivery status when an ad's cost per result rises alongside high repetition.
Treat 2.5 as the start of the watch zone, an early checkpoint. Frequency is a lagging signal: by the time the average viewer has seen an ad three times, the CTR slope has usually been pointing down for days. In my own automation I set the hard kill at a frequency of 3.5, and in practice the slope catches a dying ad first almost every time.
Retargeting plays by different rules. A warm audience tolerates 5 to 8 exposures because the job there is reminding people who already know you. Apply the prospecting threshold to a retargeting campaign and you will refresh creative that was doing fine.
Plenty of tools sell a "creative half-life", a tidy number of days after which your ad supposedly loses half its power. I build ad software for a living, so let me say plainly: nobody can compute that honestly. The inputs shift daily (audience saturation, competitor entries, auction pressure), and a curve fitted to last month's decay says little about this month's.
What can be measured honestly is narrower and still useful: that this ad's response has been declining for several days, and that the decline is specific to this ad rather than shared by the market. That is what Adscalr's detection claims and nothing more. It will not tell you why the ad is dying, and it will not promise a date of death. Anyone who does is selling false precision, and false precision is what gets winners killed early.
The hook. The first three seconds of a video, or the headline and lead visual of a static. That is the part your audience has tuned out; the offer and the body usually still work. Swap only the hook, keep everything else identical, and you get a clean read on whether the refresh worked, because only one variable moved.
Two habits make this cheap. First, have the next batch approved before the current one fatigues, so a dying ad never pressures you into shipping something half-baked. Second, give proven winners a slower trigger than fresh tests. A three-week veteran with a two-day dip has earned patience; a four-day-old ad with a wild early score has earned skepticism, for reasons that are their own trap.
Refreshing creative is the easy part. The hard part is the read that comes before it: is this slope real, is it mine, has this ad earned the benefit of the doubt. That read is what the ad-intelligence side of Adscalr automates, fatigue flags from multi-day CTR slopes with the market check built in, sitting next to the test scoring so a fatigued veteran and a lucky rookie stop looking like the same problem. If your refresh decisions currently hang on one glance at yesterday's CTR, this is the part of the product built for you.
This is the thinking behind Adscalr.
See the product →