Every media buyer has pulled a creative too early, and every media buyer has left a fatigued creative running two weeks too long. Both mistakes come from the same root problem: no clear definition of what counts as a fatigue signal versus what counts as noise. This isn't a post about what ad fatigue is, it's about how to detect ad fatigue with actual numbers, specific rolling windows, and thresholds you can apply the next time a dashboard looks a little off.
The five metrics worth watching, and why most of them lie alone
No single metric tells you a creative is fatigued. Frequency, CTR, CPM, CPA, and comment sentiment each move for reasons that have nothing to do with fatigue: a budget increase, a competitor's promo, a platform algorithm re-learning after an account change, a seasonal spike in auction pressure. Detecting fatigue means reading these five signals together, over a defined window, not reacting to any one of them in isolation.
| Metric | Fatigue signal | Normal noise |
|---|---|---|
| Frequency | Steady climb past 3 to 4 impressions per user within the campaign's flight, with no audience expansion to explain it | A one-time bump right after a budget increase or audience broadening, then flattening out |
| CTR trend (7-day rolling) | A sustained downward slope across the rolling window, week over week, with no recovery | A single low day followed by a return to baseline within 48 to 72 hours |
| CPM drift | CPM rising steadily at a stable bid, with no seasonal or competitive event to explain it | A short-lived spike tied to a known event (holiday, competitor flash sale) that settles back down |
| CPA drift | CPA climbing in lockstep with declining CTR and rising frequency, across multiple days | A one-day spike from a tracking glitch or a small-sample statistical blip |
| Comment sentiment | Repeat-viewer comments shift toward negative or repetitive ("seen this already") rather than engaged | A handful of off-topic or spam comments unrelated to creative wear |
The pattern across all five rows is the same: fatigue is a trend, not a data point. If you're trying to figure out how to detect ad fatigue reliably, the discipline is in defining a window (typically 5 to 7 days of delivery) and asking whether the metric moved in one consistent direction across that window, not whether yesterday looked worse than the day before.
Set a rolling window, not a single comparison
Comparing today to yesterday is the single most common way teams talk themselves into a false fatigue call. Daily ad performance is noisy by nature, audience size, time of day, day-of-week effects, and auction dynamics all introduce variance that has nothing to do with creative wear. A 7-day rolling average smooths that noise out and reveals the actual slope.
Baseline the first 3 to 5 days
Every creative has a learning and stabilization period. Don't judge fatigue against day one performance, judge it against the stabilized baseline that forms once delivery normalizes.
Track a 7-day rolling average for CTR and CPA
Plot the rolling average, not the raw daily number. A rolling average that's been sloping downward for a full week is a far stronger signal than any single day.
Overlay frequency on the same window
Frequency climbing alongside a declining rolling CTR average, in the same window, with the same audience, is the strongest combined signal you'll get.
Check the cluster, not just the one creative
If a single creative is soft but its sibling creatives (same offer, different visual) are holding steady, that's more likely a one-off dip than fatigue. If the whole cluster is declining together, that's the real pattern.
Confirm with a second full window before acting
One rolling window showing decline is worth watching. Two consecutive windows showing the same downward slope, with no external cause, is the point to act.
A single bad day is not fatigue. A sustained multi-day decline across a cluster of related creatives, confirmed over two rolling windows, is what fatigue actually looks like in the data.
Why cluster-level detection beats single-creative detection
Reviewing one creative's performance chart at a time is how fatigue gets missed for days. Fatigue usually hits a cluster of creatives that share a hook, a visual template, or an offer angle, all at roughly the same time, because they're all being shown to the same fatigued audience. Looking at creatives one by one in a native ads dashboard makes that shared pattern nearly invisible, each individual chart looks like normal daily variance until you're several days into a real decline.
This is exactly the gap Clarifyad's batch analysis and pattern-fatigue detection is built to close. Instead of scanning creatives one at a time, Clarifyad analyzes a whole set together, applying the metric-and-window logic above across the cluster automatically, and flags which group of creatives is trending down before the spend has fully drained away chasing an angle that's already worn out.
Turning a confirmed signal into a benchmark
Thresholds on frequency, CTR decline rate, or CPA drift are only useful relative to a baseline, what's normal for this account, this vertical, this audience size. Clarifyad's Creative Intelligence & Scoring includes benchmarks & percentile scoring, so a fatigue signal isn't judged against a generic industry number, it's judged against how this creative and its cluster have historically performed, which is what makes the difference between real signal and normal fluctuation meaningful in the first place.
From detection to action
Detecting the decline is only half the job, the other half is not scrambling once you've confirmed it. Once Clarifyad's Fatigue → Fix flags a fatigued cluster, it drafts a scored, on-brand replacement brief automatically, and a one-click approve turns that draft into a ready-to-produce asset. Clarifyad can also evaluate a defined fatigue threshold against a connected ad account and log a pause or scale recommendation (this is in beta, and it's worth being clear that it logs the recommendation rather than executing the change directly on the platform, that write capability is on the roadmap pending expanded ad-account permissions).
The takeaway
Learning how to detect ad fatigue comes down to three habits: track the right five metrics together instead of any one alone, judge them against a rolling window instead of a single day, and look at the cluster instead of the individual creative. Get those three right and you'll catch real decline early without pulling creative that was just having an off day.