FrameNotion

How to Calculate a Creative Fatigue Score for Video Ads

A step-by-step formula for turning CTR, CPA, frequency and hook-rate data into a single creative fatigue score you can track per ad and act on.

FrameNotion Team9 min read

If your CTR is sliding and CPA is creeping up on an ad that used to perform, you need a way to tell whether that's normal day-to-day noise or real creative fatigue. Learning how to calculate a creative fatigue score for video ads gives you a single number you can track per ad, compare across campaigns, and use to decide when to refresh a creative instead of guessing from a gut feeling.

What a Creative Fatigue Score Actually Measures

A creative fatigue score for video ads is a composite number that tracks how much an ad's performance is declining relative to its own earlier baseline, adjusted for how much exposure the audience has had to it. It is not a platform metric — no ad platform hands you a single fatigue number — so you build it yourself from metrics you already have in Ads Manager or your analytics export.

The score answers one question: is this specific creative losing effectiveness because the audience has seen it too many times, or is something else going on (targeting, seasonality, landing page, pricing)? Isolating the creative variable matters because the fix is different each time. If the score is high, you refresh the creative. If performance is dropping but the score is low, look elsewhere first.

For background on what fatigue looks like before you put a number on it, see 7 signs of creative fatigue in video ads.

The Metrics You Need Before You Start

You can calculate a usable score with data most advertisers already have. Pull these at the ad level, not the campaign level, over a rolling window (weekly is a good starting point to test):

  • Frequency — average impressions per person over the period. This is your main proxy for exposure.
  • CTR (link click-through rate or thumb-stop/outbound CTR) — compare the current period to the ad's own best period, not to other ads.
  • CPA or CPM trend — whichever your account optimizes for. A rising CPA on flat or improving targeting usually signals the creative, not the audience.
  • Hook rate or hold rate (3-second view rate, or video watched to 50%) if your platform reports it — this isolates whether the opening seconds are losing impact as frequency climbs.
  • Spend and impressions, so you can weight the score by how much budget is actually riding on that creative.

If you are not yet comfortable pulling and reading this data cleanly, start with how to track creative testing performance in Meta Ads Manager before building the score — the formula below only works if the inputs are accurate.

A Simple Formula You Can Build in a Spreadsheet

There is no universal fatigue formula handed down by platforms, so treat the one below as a template to adapt, not a fixed rule. The idea is to normalize each metric's decline into a comparable scale (0 to 1, or 0 to 100), then combine them with weights that reflect what matters most for your account.

A workable starting structure:

Creative Fatigue Score = (W1 × CTR decline) + (W2 × CPA increase) + (W3 × frequency factor) + (W4 × hook rate decline)

Where each "decline" or "increase" term is calculated as: (baseline value − current value) ÷ baseline value, expressed as a positive number when performance has worsened. The frequency factor is simpler — it is just current frequency divided by a frequency cap you decide is acceptable for your funnel stage (for example, a cold-audience ad might set that cap lower than a retargeting ad).

The weights (W1 through W4) should add up to 1. Which weight you assign to which metric is a judgment call based on what you optimize for — an account bidding for purchases should weight CPA heavier; an account early in testing with little conversion volume should weight CTR and hook rate heavier since they have less statistical noise.

A Worked Example

Say an ad's baseline CTR was 2.0% and it has dropped to 1.5% this week. That's a CTR decline of (2.0 − 1.5) ÷ 2.0 = 0.25. If baseline CPA was €20 and current CPA is €26, that's an increase of (26 − 20) �v 20... more precisely (26 − 20) ÷ 20 = 0.30. Frequency is currently 4.5 against a cap of 3, giving a frequency factor of 1.5 (over cap, which you may choose to clip at 1 or let run higher to flag severity). Using weights of 0.3 CTR, 0.3 CPA, 0.3 frequency, 0.1 hook rate (assume no decline, so 0):

Score = (0.3 × 0.25) + (0.3 × 0.30) + (0.3 × 1.0, clipped) + (0.1 × 0) = 0.075 + 0.09 + 0.3 + 0 = 0.465

On a 0–1 scale, a score in that range is a signal worth watching, not yet an emergency — but it tells you the trend is real across more than one metric at once, which is the whole point of combining them instead of reacting to a single wobble in CTR.

Step-by-Step: How to Calculate Your Creative Fatigue Score

  1. Pick your reporting window. Weekly works for most accounts; daily is too noisy, monthly is too slow to catch fatigue before it costs real budget.
  2. Export ad-level data (not campaign-level) for CTR, CPA or CPM, frequency, and hook/hold rate if available.
  3. Set a baseline for each ad — usually its best 3–7 day window in the first two weeks of running, before frequency built up.
  4. Calculate the decline or increase for each metric against that baseline, as shown above.
  5. Decide your weights based on what you optimize for, and keep them fixed for at least a full testing cycle so you can compare scores over time.
  6. Calculate the frequency factor using a cap appropriate to your funnel stage.
  7. Combine the weighted terms into a single score per ad, per reporting window.
  8. Log the score in a simple spreadsheet — one row per ad per week — so you can see the trend, not just a snapshot.
  9. Set an action threshold (see below) and flag any ad that crosses it for two consecutive windows.

Setting Thresholds That Trigger Action

A score is only useful if it leads to a decision. Build a simple threshold table and treat the exact cutoffs as something to test and adjust for your own account rather than a fixed industry standard.

Score range (0–1 scale)What it likely meansSuggested action
0.0 – 0.2Normal week-to-week varianceNo action, keep monitoring
0.2 – 0.4Early signs, possibly frequency-drivenWatch next window; consider adding a new audience or placement before touching the creative
0.4 – 0.6Consistent decline across metricsPlan a refresh: new hook, new A/B variant, or new creative entirely
0.6+Clear fatigue, budget efficiency droppingPause or replace the creative; don't wait for the next reporting cycle

Two consecutive windows above your threshold is a stronger trigger than one spike — a single bad week can be media buying noise, an audience overlap issue, or a tracking glitch rather than true fatigue.

Common Mistakes That Skew the Score

  • Calculating at the campaign level instead of the ad level — a strong new variant can mask fatigue in an old one if you average them together.
  • Using a baseline from the very first day an ad ran, when learning-phase volatility is highest and not representative.
  • Ignoring spend weight — a fatigue score on an ad getting almost no budget doesn't deserve the same urgency as one carrying most of your spend.
  • Comparing frequency across very different audience sizes without adjusting the cap — a broad cold audience can sustain a much lower frequency before fatigue sets in than a small retargeting list.
  • Treating the score as permanent — recalculate every window; a refreshed hook on the same base creative can bring the score back down, so don't assume a one-time fatigue flag means the whole concept is dead.

Turning a High Score Into a Fast Refresh

The point of calculating a creative fatigue score is to catch the decline early enough that you still have time to act before the budget is wasted. The bottleneck for most teams isn't the math — it's producing a genuinely new creative fast enough to swap in before the old one drags down account-level performance. If your refresh cycle takes weeks because every new ad needs a shoot, an editor, and a review round, your fatigue score will keep flagging the same tired creative long after you noticed the problem.

This is where a faster production path matters as much as the formula. FrameNotion turns a product link or page into a finished 30-second vertical video ad with FrameNotion AI, built from scratch with its own hook, problem, benefit, proof, offer and call to action rather than a template — in about 10 to 20 minutes. When a fatigue score crosses your threshold, you can generate a fresh hook variant or an entirely new angle the same day, test it against the fading ad, and keep the account moving instead of waiting on a production queue. See example ads for a sense of the variety FrameNotion can produce from a single product link, and check pricing — the first ad is free, no card required.

If you're managing fatigue scores across several products or accounts at once, pair this with a repeatable workflow like how to batch produce video ads for multiple products so refreshes don't become a bottleneck of their own.

Worth noting: FrameNotion generates the creative itself — it does not publish directly to ad platforms or report on ad performance, so you'll still run your fatigue score calculations in your ads manager or spreadsheet and upload the finished MP4 yourself.

Keeping the Score Honest Over Time

A fatigue score is a decision tool, not a report to file away. Revisit your weights and baselines every quarter or whenever your funnel changes meaningfully (new offer, new audience strategy, new platform). If you consistently see every ad crossing your threshold within the same short window regardless of creative quality, your frequency cap or baseline window is probably miscalibrated rather than every single creative being genuinely weak. Adjust the model before you conclude your creative is the problem.

Frequently asked questions

How often should I recalculate the creative fatigue score?+

Weekly is a practical starting point for most paid-social accounts. Daily data is usually too noisy to separate real fatigue from normal fluctuation, and monthly reviews often catch the problem too late to save the budget already spent on a declining ad.

Can I calculate a fatigue score without conversion data?+

Yes. If an ad doesn't have enough conversion volume to trust CPA, weight the score toward CTR and hook or hold rate instead, and bring CPA back in once volume is sufficient. A score built only on engagement metrics is still useful for catching fatigue early.

Is frequency alone a good enough fatigue signal?+

Frequency on its own tells you exposure, not impact. Two ads can hit the same frequency and perform very differently — one because it's genuinely worn out, the other because the audience is large enough to absorb more repeats. Combining frequency with a performance metric like CTR or CPA gives a more reliable signal.

Should the fatigue score be calculated per ad or per audience segment?+

Per ad is the more useful level for deciding when to refresh creative. You can layer in a per-segment view afterward if you want to see whether fatigue is hitting a specific retargeting list faster than a broad cold audience, which can also inform your frequency cap.

What's a reasonable threshold to start testing?+

Without a track record in your own account, a score above roughly 0.4 on a 0–1 scale sustained for two reporting windows is a reasonable starting threshold to test. Adjust it up or down after a few cycles once you can see how your scores correlate with actual performance drops.

Try it on your product.

Paste a link — FrameNotion writes a custom 30-second ad.