13th April, 2026

By the time your blended CAC has visibly drifted upwards on the weekly review, the damage is already 1 - 2 weeks old. The creatives that caused it have been quietly degrading for a while. You’re paying a 25% ‘fatigue tax' on the same orders for the same ad compared to its peak. The fix, refreshing the creatives, takes another week or two to land in your account. So you spend the next month trying to catch up to a problem that started two weeks before you noticed it.
This is the core problem with managing Meta ads through bottom-line metrics alone. CAC, ROAS and contribution margin are all lagging indicators. They tell you what already happened. They do not tell you what is about to happen. And in a channel where creative is the single biggest lever on performance, the gap between "something is going wrong" and "I can see it in the numbers" is exactly where most paid social budgets quietly bleed out.
Meta ad fatigue, tracked properly, closes that gap. It is the earliest reliable signal that your paid performance is about to deteriorate, often a week or more before any of your headline metrics move. This post walks through what fatigue actually is, why it lags into the bottom line, and how to use it as a leading indicator so you are acting on problems before they cost you orders.
What meta ad fatigue actually is
Ad fatigue is the gradual decline in an individual ad's efficiency as its target audience becomes saturated with it. The same creative that converted at a £24 CAC in week one might be running at £38 by week four, not because the offer got worse, but because the people most likely to buy from that specific ad have already seen it, clicked it, and either bought or decided not to.
The mechanics are well documented. Frequency climbs, click-through rates soften, the algorithm pushes the ad to incrementally less qualified audiences to maintain delivery, and the cost of acquiring each new customer creeps up. Crucially, this happens at the individual ad level before it shows up in your account-level numbers, because your account-level CAC is a blended average across dozens of ads at different stages of their lifecycle. A handful of strong ads can mask a creeping fatigue problem in the rest of the portfolio for weeks.
That masking effect is exactly why fatigue tracking matters. You are looking for the early warning signal in the noise, the specific ads that are starting to degrade, before the average drags everything down with them.
Why CAC and ROAS are the wrong place to look first
Most operators monitor paid performance the same way: open the platform, look at this week's CAC versus last week's, and react if the number has moved. The problem is that by the time CAC has moved enough to be meaningful, three things have already happened.
First, the underperforming ads have been spending money for at least a week, possibly longer, at increasingly poor efficiency. Second, your CAC trend line is now trailing the actual problem by the length of your reporting window, typically 7 to 14 days. Third, any fix you put in place, new creative concepts, fresh hooks, refreshed UGC, will take its own ramp time before it starts contributing meaningfully to the blend.
Add those three lags together and you are routinely 3 to 4 weeks behind the curve. In a channel that should be your most responsive, you are operating like it's a slow-feedback brand campaign.
The shift that matters is moving from monitoring outcomes to monitoring the inputs that drive those outcomes. Individual ad health is one of those inputs. If you can spot an ad starting to degrade a week before it shows up in your blend, you can pause it, replace it, and never feel the impact at the account level.
How to classify fatigue properly
The naive version of fatigue tracking is to set a frequency threshold (say, 3.5) and pause anything above it. This is better than nothing but it misses most of the signal, because frequency alone does not tell you whether an ad is actually degrading in efficiency or just running broadly to a large audience without saturating.
A more rigorous approach assesses every active ad daily against two things: its own historical best, and the blended performance of the campaign type it sits in.
The first comparison, how much worse is this ad's current rolling CAC compared to its own peak, tells you whether the ad has degraded from what it is capable of. An ad whose rolling CAC is now 30% worse than its best week has clearly drifted, regardless of how it compares to anything else.
The second comparison, how much worse is this ad's CAC compared to the blended average of all active ads in the same campaign type, tells you whether the issue is portfolio-wide or specific to this creative. If an ad is running 25% above the blend, that is a different problem to an ad that has degraded from its own peak but is still in line with the rest of the account.
Layering those two axes together, with a few protections against single-day noise (a 4-day rolling window, a requirement that the trend is actually declining rather than just having a bad day, and a confirmation step before flagging an ad as fully fatigued), gets you to a daily classification you can actually act on. Each ad falls into a clear state: healthy, fatiguing (early warning), fatigued (act now), low efficiency (campaign-wide issue), improving (recovering), or ramping (too early to call). For the full methodology, the Crux Meta Ad Fatigue Report documentation walks through the classification hierarchy and the thresholds in detail.
The output is a daily list of which ads to leave alone, which to monitor, and which to refresh or pause. No averages, no guesswork, no waiting for the blend to move.
Why this is the leading indicator that actually works
The reason fatigue classification works as a leading indicator is straightforward. CAC is a function of two things: which ads you are running and how much they each cost to acquire a customer. If the underlying ad-level efficiency is degrading, your blended CAC will follow. The lag between the two is the early warning window you get to act in.
In practice, that window usually sits anywhere between 5 to 14 days. An ad that crosses the fatigued threshold today will, if left running, continue to spend at increasingly poor efficiency for the next week or two before its drag on the blend becomes statistically obvious in your weekly review. That is your window. Refresh or pause within it, and the bottom-line impact is avoided.
Compare that to the alternative. If your only signal is the blended CAC trend, you are reacting after the damage. You are also reacting to something noisier, because blended CAC moves for many reasons (seasonality, promo timing, channel mix, audience expansion, landing page changes), and it is hard to isolate the creative cause from the rest. Ad-level fatigue tracking is cleaner because it is comparing each ad against itself and against its own cohort, with day-of-week seasonality already normalised out.
There is a second, related benefit. Once you have fatigue classification running daily, you stop having debates about which ads to pause. The data tells you. The conversation moves from "I think this one is tired" to "these four ads have been fatigued for two days, here are the replacements". Decision speed goes up, and the political tax of pausing someone's pet creative goes down.
Common pitfalls
Pausing on a single day's data. Ads have noisy days. A creative that looks fatigued on Tuesday can look healthy again by Thursday because of a Tuesday delivery quirk. Build in a confirmation step: an ad should be classified as fatigued only after the trend has held for multiple days, and ideally only after passing through an "early warning" state first.
Ignoring the campaign-type blend. Comparing an ad only to its own peak misses portfolio-wide problems. If your entire prospecting campaign type is running 30% above its historical efficiency, that is not a creative fatigue issue, it is a structural one (audience saturation, bidding changes, landing page degradation). The blended-average comparison catches this.
Treating ramping ads as fatigued. New ads have noisy early days while they accumulate spend and find their audience. Set a minimum spend or impression threshold before any ad is eligible for fatigue assessment. Otherwise you will pause perfectly good creatives before they have had a chance to prove themselves.
Acting without a refresh pipeline. Knowing which ads to pause is only useful if you have something to replace them with. Fatigue tracking will surface the gap in your creative production pipeline very quickly, because ads age out faster than most teams can replace them. The data turns "we should make more ads" into "we need 6 new ads in market by next Monday".
What success looks like
When fatigue tracking is working, three things change in how you run paid social.
The weekly CAC review becomes much less dramatic, because you are no longer reacting to surprises. Most issues have already been caught and addressed at the ad level before they reach the blend. The conversation in those reviews shifts from "what went wrong" to "what is the trend telling us about the next two weeks".
Creative production becomes a planned activity rather than a panic. You can see, from the survival rates of past ads in your account, roughly how long the average creative stays viable. That gives you a realistic weekly production target, instead of the usual "we'll make some more ads when CAC starts climbing" approach that always lands too late.
And the account itself becomes more stable. You are no longer running a portfolio where a few strong ads are quietly subsidising a long tail of degrading ones. The mix is healthier, the spending is more efficient, and the blended CAC line on your weekly chart looks a lot less like a heart rate monitor.
If you are running Meta at any meaningful scale and still relying on blended CAC as your primary signal for when to refresh creatives, you are almost certainly acting too late. At Crux, we build daily ad-level fatigue classification into the reporting layer for Shopify brands in the £2-20M range, alongside the rest of the data warehouse and dashboards. If this is something you are wrestling with, drop me a message at matt@gocrux.io and I'll happily talk through how we approach it.
Analytics and Reporting