All articles
Ad Creation5 min read

Which ad creatives to refresh first

Fatigue flags more ads than you can remake. How to rank which ad creatives to refresh first by the spend at risk this week.

The Monday fatigue report flagged 31 ads. Design capacity that week was four concepts. The list got worked from the top, sorted by frequency, which handed three of the four slots to ads spending under €30 a day.

The ad carrying €900 a day sat at position nineteen. Frequency 2.1, nothing about it urgent, click-through rate sliding for eleven days. It kept sliding for another fortnight while a €22-a-day retargeting ad got a fresh hook.

Short answer: Rank the refresh queue by spend at risk, not by how tired an ad looks. For each fatiguing ad, multiply its daily budget by how far its click-through rate has slipped from its own recent baseline. The largest euro figure gets this week's concept. Frequency on its own decides nothing.

The takeaways

  • Frequency ranks ads by exposure, and exposure is not cost. A high-frequency ad on €20 a day is a rounding error next to a mild slide on the creative carrying a third of the account.
  • Spend at risk is one multiplication. Daily budget times the percentage the ad's CTR has fallen from its own baseline. The euro figure orders the queue and does nothing else; it is not money you will win back.
  • Half of any long fatigue list is noise. A CTR slope built on a few hundred clicks a week wobbles on its own, and one bad week for the market flags every ad you own at once.

Why does the fatigue report flag more ads than you can remake?

Detecting fatigue and planning a refresh are two different jobs, and most reporting only does the first. A detector asks one question per ad: is this one decaying? Run it across 60 live ads and it says yes about twenty times. Correct, and unusable. Most teams finish two to six concepts a week. The gap between twenty and four is where the real decision sits, and no fatigue flag makes it for you.

The default sort makes it worse. Frequency is the column everyone reaches for because it looks like the fatigue number. It measures how often the same person saw the ad, which follows from audience size and budget. Small retargeting pools reach frequency 4 within days. That is their normal state, and it tops your list every Monday.

What does spend at risk mean?

One multiplication per ad. Take the daily budget it is pulling, take the percentage its click-through rate has fallen from its own baseline over the past week or two, and multiply. The result is a rough daily euro figure for what the decay costs you if you leave it alone.

An example from my own accounts, rounded. Ad A pulls €400 a day and has slid 20% off its baseline CTR: about €80 a day of drag. Ad B pulls €25 a day and has slid 40%, so about €10. Ad B looks twice as sick and is worth an eighth of the attention.

One caveat. CTR decay does not convert one-for-one into cost per acquisition, so the figure is a sort key and nothing more. It breaks ties between ads that all look equally tired.

Is that decline real, or did everybody have a bad week?

Check two things before an ad earns a place in the queue. First, volume: a slope built on a few hundred clicks a week drifts a few points either way with nothing happening to the creative. Ads below that line drop out of the ranking altogether, because a low position still leaves them on the list.

Second, the market. When platform-wide costs move, every creative declines together, and a per-ad detector reads that as twenty fatigue events at once. The tell is the shape: fatigue arrives one ad at a time, on its own schedule, while a market shift lands on everything inside 48 hours. If your whole list turned red on Tuesday, nothing in it is fatigued. Whether one ad is tired at all is a separate question: ad fatigue and when to refresh creative.

Should you iterate the concept or start over?

Once an ad tops the queue, the brief has two shapes and they cost very different amounts. Iterating keeps the angle and rebuilds the delivery: new hook, new opening frame, new visual anchor, same promise underneath. Replacing throws out the promise and starts from a different reason to buy.

The deciding question is whether the angle still holds for the audience you are now reaching. If the ad ran well for eight weeks and only started decaying once you widened targeting, the angle is probably fine and the execution has been seen too often. Iterate. If the offer changed, or a competitor moved onto the same claim, a fresh crop of the same idea buys you nothing. Write the brief for a different reason to buy.

How big should the batch be?

Match it to what one designer can finish and get approved in a cycle, then stop adding. A queue of fourteen is a wish list, and wish lists get worked in whatever order feels urgent that day. You are back where you started.

Two things stretch a batch further than they look. Catalog and dynamic ads run on templates applied across the whole feed, so one template fix can serve two hundred SKUs and belongs near the top of any ranking. And a concept built natively for four placement sizes covers more of the account than one cropped master. Plan the swap so it does not reset delivery on a stable ad set: adding creatives without a learning reset.

No ranking survives a feed change or a new offer. Re-rank from scratch when either lands.

Where does the tooling help?

The part I automated is the shortlist, because it is the part humans do worst. Fatigue detection runs off a multi-day CTR slope with a market-wide check behind it, so a bad week for everyone does not get blamed on your creative. Those flags feed concept generation alongside competitor angles and audience quotes, so the top-ranked brief arrives with its context attached. Concepts come out as statics, UGC briefs or motion storyboards, composed per placement at 1:1, 4:5, 9:16 and 16:9. Every one goes to draft, review and approve, and a person ships it. That loop is what ad creation is built around.

The ranking is still your call on Monday. The machinery only makes sure the ad quietly bleeding €80 a day is on the screen when you make it.

This is the thinking behind Adscalr.

See the product