Spot creative fatigue on Meta and TikTok, and know what to make next.

On Meta and TikTok, creative fatigue shows in frequency and click-through rate before Ads Manager marks an ad as fatigued. Check it per creative, with enough impressions to trust the drop, and decide on a recut or a replacement while the ad still pays. Nupact flags it on every creative, with that call drafted for your approval.

By Federico Baravalle, co-founder of Nupact · Platform details checked October 2026

What is creative fatigue?

Creative fatigue is the fall in response to an ad as the same people see it again: click-through rate drops and cost per result climbs while targeting and offer stay the same. Meta's own analytics team found the likelihood of a conversion about 45% lower by the fourth exposure to the same creative. To check for it, compare each creative or concept with its own previous week, read frequency, CTR and cost per result together, and wait for enough volume: at a 1% CTR you need about 35,000 impressions in each window to confirm a 20% drop. A good fatigue tool does this across Meta and TikTok and tells you whether to recut, replace or widen the audience.

Book a DemoRun Your Numbers

What did Meta's research find?

The 45% figure above comes from Meta's own analytics team. Its May 2023 analysis of repeated exposures found click likelihood falling with each earlier exposure as well, and no evidence, for direct-response objectives, of a wear-in period in which response first improves (Analytics at Meta, 2023).

Meta's analysis also separates creative fatigue from audience saturation, and the difference decides the fix. Fatigue belongs to one creative, whose siblings in the same ad set hold their CTR while it falls. Saturation hits every creative in the audience at once and needs a wider audience or less budget, since a new creative won't help for long.

In the product

Fatigue flagged per creative, with the next move drafted.

The creatives, frequencies, CTR changes, statuses and next steps come from the creative monitor in our product demo. We added weekly impressions and the CTR levels behind each change as an example, so the volume check below can be worked through. The CTR change compares the previous seven days with the last seven.

Nupact · creative monitorLast 14 days
CreativeStatusCTR · 14d changeFreq · 7dImpr. · 7dCTR · prior 7d → last 7dHook · 0–2sNext
UGC-kitchen-01
TikTok · Spark-DE · UGC video
Fatiguing−34%6.1210,0001.52% → 1.00%problem shotRotation pending review
founder-demo-02
TikTok · Spark-DE · UGC video
Healthy+8%2.396,0001.25% → 1.35%founder to cameraScale candidate
restock-carousel-03
Meta · Retargeting-DE · Carousel
Early fatigue−12%4.8126,0000.92% → 0.81%price anchorRecut brief drafted
New asset · restock-ugc-04.mp4 · tagged on arrival
Hook · unboxingAngle · restock urgencyFormat · UGC 9:16Offer · bundleLanguage · DE
Winners travel: founder-demo-02 cleared for NL, with pixel, catalogue, landing URL and copy remapped · held for reviewApprove remapOpen

Example figures, built on our product demo. UGC-kitchen-01 fell from 1.52% to 1.00% CTR, a 34% drop on 210,000 weekly impressions. The carousel's 12% drop is smaller, so it needs more data: about 111,000 impressions a week at that CTR, which its 126,000 clear. Impressions divided by frequency gives weekly reach, about 34,000 people for UGC-kitchen-01.

How Nupact does it

Four things Nupact does with every creative.

The core difference

Every fatigue flag says recut or replace.

A recut keeps the concept and changes the opening, for when the idea still converts and the first seconds have worn out. A replacement retires the concept, for when every variant of it is sliding. Nupact reads fatigue from frequency and CTR drift on social campaigns and from IPM decay on gaming and app networks. Each rotation waits as a draft for your approval in Slack, unless you have let that action type run on its own inside your guardrails.

01

Tagged the moment it lands

Every asset is AI-tagged on arrival with its hook, format, angle, offer and language. Nobody encodes meaning into a file name again, and a winner can be compared with every other asset that shares its hook or its offer.

02

Winners travel between markets

A creative that wins in Germany can launch in the Netherlands with the pixel, catalogue, landing URL and copy remapped for NL. The remap is held for review like any other change.

03

Changes land where you buy

Nupact rotates creatives on Meta and TikTok, and on Google Ads and Amazon Ads, at the autonomy level you set per campaign and action type. AppLovin and Unity are connected for data and monitoring: IPM decay there is flagged with the same recut-or-replace call, and your team applies it in the network.

04

Every rotation leaves a receipt

Trigger, reasoning, confidence, approver and outcome are logged for each rotation, rejected proposals included, with a revert control on every row. If a conversion feed goes stale, automation pauses and the team is paged.

How do I check ad fatigue in Meta Ads?

You can check for ad fatigue in Meta Ads with five steps in Ads Manager, no third-party tool needed.

  1. Group by creative, not by ad. A creative that graduated from a testing campaign into a scaling one tires across both. Group by ad creative in Ads Reporting, or filter Ads Manager to every ad using the same post.
  2. Compare the creative with its own past. Set the last 7 days against the previous 7, or against the creative's first 30 days. An account average mixes new and old creatives and hides the slope.
  3. Read four signals together. Frequency, link CTR, CPM and cost per result. One metric moving alone usually has another cause; the table below shows which pattern points where.
  4. Check Meta's own delivery status. Ads Manager can mark an ad Creative limited when its cost per result is higher than your past ads achieved, and Creative fatigue when it is at least twice as high (Meta Business Help Center, checked October 2026; also covered by Jon Loomer, 2025). It arrives late, because cost per result has to double first.
  5. Judge prospecting and retargeting separately. Retargeting audiences are small, so frequency climbs faster there and a weekly frequency of 5 can be normal.
What you seeLikely causeWhat to do
Frequency up, CTR down, CPM flat, other creatives in the ad set holdingCreative fatigueRecut the hook if the concept still converts, replace it if every variant is falling
Frequency up on every creative, reach growth flattening, all CTRs downAudience saturationWiden targeting, open another market or lower the budget; new creative alone won't hold
CPM up, CTR flatAuction pressure from season or competitorsCheck other campaigns in the same market before touching the creative
CTR flat, cost per result upLanding page, offer, stock or trackingCheck on-site conversion rate and whether the conversion feed is complete

You'll find a frequency of 2.5 quoted as Meta's fatigue threshold on many blogs. We couldn't find it in Meta's documentation, and Meta's own fatigue statuses are based on cost per result. Jon Loomer, who has tracked Meta's ad tools for years, puts it plainly: "If results aren't tanking, I don't care what your frequency is."

When I traced the frequency thresholds in circulation, I found six: 2, 2.5, 2.8, 3, 3.5 and 5. The 2.5 goes back to one uncited sentence on a vendor blog that credits Meta. The original "3" from 1970s media planning was a minimum, never a ceiling.

Federico Baravalle, co-founder of Nupact · adapted from a LinkedIn post, August 2026

How many impressions do you need before you call fatigue?

A fatigue call on a single creative often rests on too little data. Statistically, a week-on-week CTR comparison is a test between two proportions, and its sample size follows a standard formula. At 95% confidence and 80% power, the impressions needed in each window are n = 7.85 × [p1(1−p1) + p2(1−p2)] ÷ (p1 − p2)², where p1 is the CTR in the earlier window and p2 the CTR you want to be able to detect. At a 1% CTR, confirming a 20% drop takes about 35,000 impressions in each week. The table is our calculation.

Starting CTRDrop you want to detectImpressions per window
0.5%20% (to 0.40%)about 70,300
1.0%10% (to 0.90%)about 147,700
1.0%20% (to 0.80%)about 35,000
1.0%30% (to 0.70%)about 14,700
2.0%20% (to 1.60%)about 17,300

Conversion rate is harder still: confirming a 20% fall from a 2% conversion rate needs about 17,300 clicks per window, roughly 1.7 million impressions a week at a 1% CTR. Few single creatives get there, so CPA alone flags fatigue too late to act on.

Three checks before you call fatigue on a creative:

How is TikTok ad fatigue different?

TikTok ad fatigue shows up first in attention, because viewers decide within a second or two whether to keep watching. TikTok Ads Manager reports what you need (TikTok Business Help Center): 2-second video views, 6-second video views, average play time per video view, and views at 25%, 50%, 75% and 100% of the video. Hook rate and hold rate are practitioners' names for ratios built from them.

SignalHow to compute itWhen it falls
Hook rate2-second video views ÷ impressionsThe opening has worn out: recut the first two seconds
Hold rate6-second video views ÷ 2-second video viewsThe hook still stops people and the next seconds lose them: recut the middle
Average play time per video viewReported in Ads ManagerWith a steady hook rate, the body or the offer has gone stale
CTR and cost per resultClicks ÷ impressions; spend ÷ resultsWith attention holding, look at the offer and the landing page before the creative

Attention metrics also solve the volume problem. A hook rate sits far above a CTR, so the same formula needs far fewer impressions: a fall from 25% to 20% can be confirmed with about 1,100 impressions per window, against 35,000 for a 20% CTR drop at 1%. On TikTok you can call a tired hook within days.

TikTok publishes no refresh cadence. Its official guidance is 3 to 5 unique creatives per ad group, and Ads Manager suggests adding more when an ad group has fewer than three (TikTok Business Help Center). The "refresh every 5 to 7 days" rule you'll find online comes from vendor blogs. Measure your own instead: for your last ten TikTok winners, count the days until the hook rate fell 20% below its first week, and use the median as your refresh interval.

What does creative fatigue look like on app and gaming networks?

On app install campaigns the fatigue metric is IPM, installs per 1,000 impressions. Read each creative's IPM against its own first weeks on AppLovin, Unity and the app campaigns you run on Meta and TikTok. The volume rule from above applies unchanged: an IPM of 5 is an install rate of 0.5% per impression, so confirming a 20% IPM drop needs about 70,000 impressions in each window.

App campaigns add two traps. A high-IPM creative that promises a different game from the one people install brings cheap installs that churn, so check day-7 retention or ROAS by creative before scaling it (Lancaric on creative frameworks). Fatigue can also arrive from outside your account. When a format becomes the category default, players have seen the idea in other games' ads before they meet yours, and copycat creatives tend to stop scaling within a week (AppAgent).

Nupact reads IPM decay on gaming and app networks, with AppLovin and Unity connected for data and AppsFlyer or Adjust for installs. It acts on Meta and TikTok app campaigns. On AppLovin and Unity it flags and recommends, and your team makes the change.

Why did the creative win, and what should you make next?

Frequency caps and audience exclusions keep the worst cases away, and a tired ad gets paused eventually. Choosing its replacement depends on knowing why it won in the first place.

Most of the money sits in a few winners. In a study of about 1 million creatives on the Gunosy ad network in Japan, the 18.6% that ran for seven days or more generated 81.8% of sales (Kitada, Iyatomi and Seki, 2022). Knowing when a winner is wearing out, and what it did that the others didn't, pays more than catching losers early.

To answer why a creative won, tag every asset by hook (problem shot, founder to camera, unboxing), format, angle, offer and market, then read results by tag. One tagged winner tells you little. Ten winners and forty losers tagged the same way show which hooks and offers keep converting in which market, and that is the next brief.

Plan production from the retirement rate. If two winners retire each week and one concept in five becomes a winner, you need ten new concepts a week to keep the same number of winners live. Recuts of a winning hook are cheaper and extend a winner's life, so plan for those too.

A winner in one European market is often the cheapest next creative for another, and moving it means remapping the pixel, the product catalogue, the landing URL and the copy. Check all four before launch, since a Dutch ad that still sends people to the German landing page spends the NL budget on a page they can't read.

Which approach to creative fatigue fits your team?

Each of the common approaches is enough for some teams.

ApproachEnough whenFalls short when
Meta's delivery status and frequency columnsYou run mostly Meta with a handful of creatives per ad setThe fatigue status fires once cost per result has doubled, and it covers Meta only
Automated rules on Meta or TikTokThe account is stable and you trust a threshold, such as pausing below a set CTRA fixed threshold ignores volume and can't see the same creative in other ad sets
Spreadsheet or BI dashboardSomeone owns it every week and spend sits on one or two platformsCreative-level frequency is slow to assemble, and the check stops when its owner is on holiday
Creative analytics toolYour main need is tagging and reporting on creative performanceYou still make each rotation and budget change by hand in every platform
An LLM on exported dataYou want a quick read of one accountAnswers shift with the prompt and nothing is logged
NupactYou run Meta and TikTok in several markets and want every fatigue call and rotation logged in one placeYou run one platform with a few creatives and no approval flow; Meta's status column may be all you need

What should a creative fatigue tool do?

Use this list when you compare creative fatigue detection tools, including ours.

What else do people ask about creative fatigue?

What frequency is too high on Meta?

Meta publishes no frequency ceiling, and the 2.5 figure quoted on many blogs has no Meta source we could find. Treat frequency as context: it matters when CTR or cost per result moves with it. Retargeting runs at higher frequency than prospecting by design, so compare each campaign type with its own history.

Is it creative fatigue or audience saturation?

If one creative is falling while others in the same ad set hold, it's creative fatigue and a new creative or a recut will help. If every creative falls together while frequency rises and reach stops growing, the audience is saturated, and you need a wider audience, another market or a smaller budget.

How often should you refresh TikTok creatives?

TikTok publishes no refresh cadence. Its guidance is to keep 3 to 5 unique creatives in each ad group. Set your interval from your own history: the median number of days your past winners held their 2-second view rate before it fell 20% below their first week.

Can Nupact rotate creatives automatically?

Yes, on Meta, TikTok, Google Ads and Amazon Ads, at the autonomy level you choose: alert only, propose and approve, or full autonomy inside guardrails such as campaigns blocked from autonomous action. On AppLovin and Unity, Nupact monitors and flags, and your team makes the change. Every rotation is logged and can be reverted.

See it on your accounts

Bring one Meta or TikTok account.

On a founder-led call we walk through how fatigue flags and market remaps would run on that account's creatives. Nupact is built in Berlin and hosted in the EU.