Free tool
Meta Ad Fatigue Checker: Spot Creative Fatigue
Paste a day-by-day export of a Meta ad: impressions, reach or frequency, link clicks or CTR. The tool charts CTR and frequency, compares each day with the ad’s first days, and flags the first day CTR drops while frequency climbs. You know when your creative is due for a refresh.
In its developer documentation, Meta explains that fatigue rises as an audience sees the same creative repeatedly, which usually shows up as a falling click-through rate and a rising cost per action. Meta defines frequency as the average number of times each person saw your ad, an estimated metric, and reach as the number of accounts that saw your ads at least once.
- Baseline days
- Daily CTR
- CTR, 3-day moving average
- Daily frequency
- Baseline levels (dashed)
- Signal day
See the day-by-day detail
The frequency shown here is each day’s frequency. Meta defines it as the average number of times each person saw your ad, and reach counts each person once over the requested period: in a day-by-day export, someone who sees your ad on Monday and Tuesday counts in the reach of both days. A day’s frequency therefore does not add up over the period; for the frequency of the whole period, export the total without a daily breakdown, or open the reach and frequency calculator.
Sources read on November 6, 2026: Meta for Developers, Ads Insights (frequency, reach, impressions, inline_link_clicks, inline_link_click_ctr, ctr, cpm, cost_per_inline_link_click, spend, time_increment) and Meta for Developers, Creative Fatigue webhook. The baseline and the drop threshold are settings of the tool, measured against your own first days.
Are Your Meta Ads Wearing Out Faster Than You Refresh Them?
With monthly Meta Ads management, I track how each ad wears and create the ad visuals that take over.
20 minutes · No commitment · 100% confidential
How the tool spots the first signal
Signal = first day when the 3-day moving average of CTR is at least X% below the baseline, and the day’s frequency is above the baseline frequency
The tool reads one row per day. Frequency comes from the Frequency column or, if it is missing, from impressions ÷ reach; CTR comes from the CTR column or, if it is missing, from link clicks ÷ impressions. The baseline is the average of the first days (3 by default), for CTR and for frequency alike. The moving average smooths CTR over 3 days, so a single weak day does not raise a signal on its own. For a single CTR, the CTR calculator is enough.
Example: over the first 3 days, 1,000 impressions a day for 20, 22 and 18 clicks, with a reach of 1,000: the baseline is a 2.00% CTR and a frequency of 1.00. On day 7, reach goes down to 625 for 1,000 impressions, a frequency of 1.60. CTR on days 5, 6 and 7 is 1.70%, 1.50% and 1.40%: the moving average reaches 1.53%, 23.3% below the baseline. With the 20% threshold, the tool flags day 7.
Below the baseline you set plus 3 days, the tool draws no conclusion: the moving average is not complete yet. A CTR that drops while frequency stays flat is not flagged: the drop then has other possible causes, which the tool leaves open. The baseline and the threshold are settings of the tool, measured against your own first days. Meta reports its own fatigue level (LOW, MEDIUM or HIGH) through a webhook meant for developers; the tool does not reproduce that level and does not make up an equivalent. To judge how a video hooks viewers, open the hook rate calculator.
What the checker gives you
- Refresh a creative at the right time: the signal day tells you when to get the next one ready. In its sample message, Meta suggests creating a new ad with different images or videos in the same campaign, or expanding your audience.
- Compare two creatives: paste the export of each, one after the other, and see which one keeps its CTR longer at the same frequency. To prepare the next one, the Facebook ad mockup shows the result before it goes live.
- Read frequency at the right level: the chart shows each day’s frequency; for the cumulative frequency of a period, the reach and frequency calculator starts from the reach and impressions of the whole period.
Frequently asked questions
Which Meta Ads export should I paste?
An export broken down by day, one row per day, for a single ad or for the total of your ads. It needs a date column (Day or Reporting starts), frequency or reach with impressions, and CTR or link clicks with impressions. Amount spent, CPM and cost per result are read when present. A date repeated on several rows is reported, and a total row for the period is skipped.
Why 20% and 3 days?
They are the tool’s default settings, and you change them above the chart. The 3-day baseline is your own first days, and the 20% threshold measures the gap to that baseline: these are not figures from Meta. An ad with a slow start benefits from a longer baseline; a lower threshold flags earlier.
Does Meta flag fatigue itself?
Yes, according to its developer documentation: Meta sends an ad’s fatigue level (LOW, MEDIUM or HIGH) through a webhook meant for apps connected to the Marketing API, and notes that fatigue usually shows up as a falling CTR and a rising cost per action. The tool does not reproduce that level: it reads your figures day by day, with the settings you choose.
Is my export sent anywhere?
No. The analysis runs in your browser: nothing is uploaded or stored, and the export is gone when you close the page.


