All articles Ad Operations

Ad Fatigue: How to Diagnose It Before It Kills Your ROAS

Three numbers from the Meta Ad Library tell you whether your account is feeding the algorithm or starving it. Here is how to read them, and what to do about it.

Ad fatigue is what happens when the same creative is shown to the same audience often enough that they stop responding. Click-through rates slide, CPMs creep up, and the campaign that printed money in March quietly bleeds it in June. Nothing broke. The algorithm simply ran out of fresh material to work with.

The frustrating part is that most teams diagnose fatigue backwards. They wait for performance to drop, then scramble to make new ads. By the time ROAS is visibly down, the decay has usually been running for weeks. The better way is to measure your creative supply the way the algorithm experiences it, and the data for that is public.

The three numbers that tell the story

Open the Meta Ad Library and search any page, yours or a competitor’s. Three numbers are sitting right there:

  1. Ads active right now. The depth of the active set. A thin set means every fatigue event is felt immediately, because there is nothing warmed up behind the ad that just died.
  2. Ads started in the last 30 days. Launch velocity, the single most important number. This is how much fresh material the algorithm has been fed this month.
  3. Days the oldest ad has run. A proven evergreen winner can run long, but when the oldest ad is also carrying most of the spend, that is not stability. That is fatigue waiting for a date.

Notice what these numbers make possible: you can run this diagnosis on any competitor in your market in about two minutes, because the Ad Library is public for everyone.

How much fresh creative your spend level actually needs

The algorithm’s appetite scales with spend. From operating our own ad accounts, the ones behind $25M of our own revenue in 2025, these are the monthly benchmarks we hold ourselves to:

Monthly spendFresh creatives needed per month
Under $10kabout 6
$10k to $50kabout 12
$50k to $200kabout 25
$200k+about 40

Most accounts we audit at the $10k to $50k level are launching three or four new ads a month against a benchmark of twelve. The gap is rarely an ideas problem. It is a production problem: someone has to write the variations, build them in Ads Manager, and launch them, every week, forever. That is exactly the kind of work that fatigues humans faster than it fatigues audiences.

Scoring it: velocity, age, and depth

When we built our free Ad Fatigue Checker, we weighted the score the way the failure actually happens: launch velocity against your spend benchmark counts for 60 percent, the age of your oldest running ad for 25 percent, and the depth of your active set for 15 percent. Put your three Ad Library numbers in and you get a fatigue score from 0 (starving) to 100 (feeding the algorithm), plus the specific gaps behind it. It is free, ungated, and takes about thirty seconds.

A score below 40 means the account is coasting on past winners. The moment they fatigue, and they will, there is nothing behind them. Between 40 and 70, the account is living off inertia and needs a production system before the decay shows in the dashboard. Above 70, the question is no longer supply. It is what the current pace costs you to maintain by hand.

Fixing it is a systems problem, not a motivation problem

Every team already knows they should launch more creative. The reason they don’t is that sustained creative velocity by hand is brutal: variations to write, campaigns to assemble, kill decisions to make on time. So we stopped doing it by hand. Our own accounts run on three systems working together:

  • A creative engine that writes ad variations trained on the account’s past winners, so the pipeline never runs dry.
  • A watchdog that kills and scales by rule around the clock, so old ads are never running on inertia and winning ads are never starved of budget while a human is asleep.
  • A launch console that takes a full campaign live in one click, so assembly stops being the bottleneck.

That stack is what we install for clients as the Meta Ads OS: $5,000 once, installed in your account in about three weeks, and you own it afterward. It is the same report and the same rules our own accounts run on every day.

Frequently asked questions

How do I know if my ads are fatigued right now?

Pull your three numbers from the Meta Ad Library and run them through the fatigue checker. If your fresh launches this month are below the benchmark for your spend level and your oldest ad has run more than 60 days, you are fatiguing, whether or not the dashboard shows it yet.

How often should I refresh ad creative?

Continuously, at a pace set by your spend. At $10k to $50k a month, plan for roughly twelve fresh creatives a month. Batching a quarter’s worth of ads once a quarter does not work, because the algorithm’s appetite is weekly, not quarterly.

Can a winning ad run too long?

A true evergreen winner can run for months. The danger sign is concentration: when one old ad carries most of the spend and there is nothing proven behind it, a single fatigue event takes the whole account down with it.

Does this apply to my competitors too?

Yes, and that is the fun part. Their Ad Library is exactly as public as yours. Run their page name through the same check and you will know who in your market is actually feeding the algorithm.