Knowledge Base/Ad Testing/Building an Automated Ad Fatigue Detection System
Ad TestingOptimization

Building an Automated Ad Fatigue Detection System

You can detect ad fatigue manually by watching metrics. You can also automate it. A practical guide to setting up fatigue alerts before performance crashes.

By Wreltik Research Team

Building an Automated Ad Fatigue Detection System

Manual fatigue monitoring works until you forget to do it. By the time you notice the ROAS drop, the ad has been underperforming for days or weeks, burning budget that could have been reallocated. A simple automated system catches fatigue earlier and costs almost nothing to implement.

The core metrics

The two metrics that reliably signal fatigue:

Frequency. How many times has the average person in your target audience seen this ad? Track frequency per ad, per week. When frequency crosses your threshold (typically 3.0-4.0 for most advertisers), flag the ad for review.

CTR trend. Is the click-through rate declining week over week? A consistent decline across two or more weeks, especially when coupled with rising frequency, is the clearest fatigue signal.

Secondary signals:

  • Hook rate (3-second views / impressions) declining — people are recognizing the ad faster
  • CPM rising — the platform is working harder to find people who haven't seen the ad
  • Conversion rate declining — even people who click are less motivated

The automation setup

The simplest version works in any spreadsheet:

  1. Export your ad performance data weekly (platform, ad ID, impressions, clicks, CTR, frequency, conversions).
  2. Add a column that compares this week's CTR to last week's CTR. Flag any ad where CTR has declined two weeks in a row.
  3. Add a column that checks whether frequency exceeds your threshold. Flag any ad above threshold.
  4. Ads flagged on both criteria get reviewed. Ads flagged on one get monitored.

This takes 15 minutes per week. It catches most fatigue events before they become expensive.

More advanced automation

If you have access to your platform's API, automate the data pull and the flagging logic. A simple script that runs weekly and emails you a list of ads meeting fatigue criteria is within reach for anyone comfortable with basic scripting.

The output isn't fancy: a list of ad IDs, their current frequency and CTR trend, and a flag indicating whether they need review. Fancy dashboards add visual appeal. Simple lists add clarity. Clarity is more valuable for this use case.

What to do when the system flags an ad

The system tells you the ad is likely fatiguing. It doesn't tell you what to do. Human judgment is still required:

  • If the ad is still performing above your target, let it run but prepare a replacement.
  • If the ad is at or near your target, launch the replacement within a week.
  • If the ad is below your target and frequency is high, kill it immediately — the budget is better spent on anything else.

The system's job is to surface the information early enough that you can make these decisions before the ad has burned through thousands in wasted spend. It does that job well. The rest is still on you.