Your CPI — the cost to get one new app install — was ₹18 a month ago and it's ₹27 today, and nobody touched the campaign. Before you blame the market, the season, or the algorithm, check the most likely culprit: creative fatigue. "Creative" just means the ad itself — the video, image, and words people see. When the same ad runs too long against the same people, they stop noticing it, the platform has to pay more to keep showing it, and your costs drift up while results drift down. It happens slowly enough that you don't notice until the damage is real. That is why your CPI is rising.

Here is how to catch fatigue early using a few clear numbers, how often to swap in fresh ads based on how big your audience is, and five ways to refresh your ads without accidentally making things worse.

A rising CPI with an untouched campaign almost always means one thing: the creative died before the campaign did. Fix the asset, not the budget.

Creative fatigue — the signals that name it

Creative fatigue isn't a feeling — it shows up in your numbers. Stop guessing and watch a few signals together. Compare each one against the same ad's own average over the last 7 days (a "rolling baseline" — it simply moves with each new day, so you're always comparing this week to last week). Here are the practical warning levels:

Signal Fatigue threshold What it means
CTR (share of people who click your ad)Down 15%+ vs 7-day baselineAudience has stopped clicking
CPM (cost per 1,000 times your ad is shown)Up 10%+ in same windowPlatform paying more to deliver the ad
Hook rate (share who watch the first few seconds of your video)Down 20%+Earliest tell — the first 3 seconds stopped landing
Frequency (average times one person has seen the ad)Above ~3.5 on cold audiencesSame people seeing it too often

The single most important thing to watch is CPM versus your results. If your CPM is rising but your sales or installs aren't, that's the classic sign of fatigue. Here's why it happens: the more times the same people see your ad, the less they react. So the platform has to show it more times to get the same result, and it pays more to keep reaching the shrinking group who still respond. That's not the market getting more expensive — that's your ad getting tired.

One catch: fatigue doesn't always show up as a rising CPM. Sometimes CPM stays low while CTR and hook rate quietly fall — you're still reaching people cheaply, they've just stopped caring. That's why you watch all the signals together, and why a falling hook rate on a video is usually the earliest warning of all.

Refresh cadence — scaled to audience size

How fast an ad gets tired depends mostly on how big its audience is. A small audience sees the same ad over and over; a big one barely notices it. So how often you swap in a fresh ad should match the size of the audience:

  1. Small audiences (under ~100,000 people) — swap every 7–10 days. These are usually retargeting pools — people who already visited your site or app — and they're small, so they see the ad fastest. Plan to give them a fresh ad every week.
  2. Mid-size audiences (100,000–1 million) — swap every 14–21 days. Big enough to run an ad for a couple of weeks before too many people have seen it too often.
  3. Large cold audiences (over 1 million) — swap every 21–30 days. These are "prospecting" audiences — brand-new people who don't know you yet. The pool is so big a strong ad can run for a month before tiring.

As a simple default on Meta (Facebook and Instagram), swapping in a new ad every 2–4 weeks keeps most accounts ahead of fatigue. If you spend a lot and your ads get seen often, push that faster — a new ad every 2–5 days for your biggest spenders. The point isn't a fixed calendar; it's having the next ad ready before the current one dies.

The goal isn't to replace ads on a schedule. It's to have the next winner queued before the current one dies.

Five ways to refresh without killing ROAS

Here's the trap. A panicked founder sees CPI rising, deletes the campaign, and rebuilds it from scratch. But every time you rebuild, the platform's algorithm has to re-learn who to show your ads to (this restart is called the "learning phase," and it's slow and expensive). Now you have fatigue and a re-learning penalty. So fix it carefully instead — here are five ways, cheapest first:

  1. New hook on a proven video. The hook is the first few seconds — the part that grabs attention. Keep your winning video and just swap those opening seconds. This is the fastest, cheapest fix, and it's often enough to win attention back and pull your costs down.
  2. New concept, new angle. The strongest fix — a genuinely different idea: a new problem to lead with, a different proof point, or a fresh story. This is what the small "testing" part of your budget exists to produce.
  3. Change the format. Turn a still image into a vertical Reels-style video, or a person talking to camera into a product demo. To a tired audience, a new format reads as a brand-new ad.
  4. Swap the person on camera. A different presenter — or a real customer filming their own clip (often called UGC, user-generated content) — can win back people who'd tuned out the last face.
  5. Add fresh ads into your existing winning campaigns. Drop the new ads into campaigns that are already working instead of starting over. You get fresh creative without triggering that slow, expensive re-learning phase.

That last one is what separates a clean refresh from an expensive mistake. Don't tear everything down unless you truly have to — frequent rebuilds cost you money on top of the fatigue you were trying to fix.

This is core to how we run app marketing accounts: a steady pipeline of new ads that keeps the next winner ready, so your CPI never gets the chance to drift up. Because we only get paid on results, a rising CPI is our problem to solve — not just a line on your report.

Common fatigue mistakes

  1. Blaming the market for an ad problem. If your CPI rose and nobody touched the campaign, suspect fatigue first — not the season.
  2. Watching only one number. CPM on its own misses the kind of fatigue where costs stay low but clicks dry up. Watch CTR, hook rate, frequency, CPM, and your results together.
  3. Fixing it by rebuilding. Tearing campaigns down restarts that slow learning phase. Drop new ads into your working campaigns instead.
  4. No pipeline of new ads. If you only make a new ad after the old one dies, you're always one step behind. Have the next one ready in advance.
  5. Calling a colour change "a new ad." A recoloured version of a tired ad gets tired again right away. Change the hook, the idea, the format, or the person on camera.

Frequently asked questions

Watch these warning levels against each ad's own average over the last 7 days: CTR (the share of people who click) drops 15% or more, CPM (the cost to show your ad 1,000 times) rises 10% or more, hook rate (the share who watch the first few seconds of your video) drops 20% or more, or frequency (how often one person has seen the ad) on cold audiences goes above about 3.5. The clearest sign is a rising CPM while your results stay flat — the platform is paying more to keep showing a tired ad to people who've stopped responding.
The more times the same people see your ad, the less they react to it. So the platform has to show it more times to get the same result, and it pays more to keep reaching the shrinking group who still respond — which pushes your CPM (the cost to show the ad 1,000 times) up. A rising CPM while your results stay flat or fall is fatigue, not the whole market getting more expensive.
How often to swap in a fresh ad depends on how big the audience is. Small audiences (under ~100,000 people, usually people who already know you) need a new ad every 7–10 days; mid-size audiences (100,000–1 million) hold 14–21 days; large cold audiences of brand-new people (over 1 million) last 21–30 days. On Meta — Facebook and Instagram — a new ad every 2–4 weeks is a sensible default. If you spend a lot and your ads are seen often, you may need a new one every 2–5 days.
Not always. Fatigue can also show up as a falling CTR (fewer people clicking) or hook rate (fewer people watching the start of your video) even while your CPM stays low — you're still reaching people cheaply, they've just stopped reacting. That's why you watch several signals together (CTR, hook rate, frequency, CPM, and your results) rather than any single one. The earliest warning is usually a dropping hook rate on a video.
The learning phase is the slow, expensive period when the platform is still figuring out who to show a new campaign to. To avoid restarting it, add fresh ads into campaigns that are already working instead of rebuilding from scratch, and bring new ideas in before the old ads fully die so the campaign never loses momentum. Don't tear everything down unless you truly have to — frequent rebuilds throw the platform back into learning and cost you money on top of the fatigue you were trying to fix.
No — and that's what makes refreshing affordable. A genuinely new idea (different hook, angle, or proof point) is the strongest refresh, but you can also re-cut a winning video with a new opening, change just the first three seconds, switch formats (a still image into a Reels-style video), or feature a different person on camera. The fastest, cheapest refresh is usually a new hook — new opening seconds — on a video that already works.

In closing

Creative fatigue is the quiet tax on every account that grows — and the rising CPI it causes is fixable the moment you stop blaming the market and start reading the numbers. Watch your CTR, hook rate, frequency, and CPM against each ad's own recent average. Swap in fresh ads on a schedule that matches your audience size. And refresh by adding new hooks and ideas into campaigns that already work, not by rebuilding from scratch. Do that, and your CPI stops creeping up on its own.

Want us to check whether your rising costs are fatigue or something deeper? Book the 45-minute private audit (free) and we'll read your creative signals on the real account. More on our app marketing approach here.