Ad fatigue watch
Pott Candles
25 Aug to 31 Aug

1 fatigued, 0 close, 1 highly likely

Every live ad with real spend, last 7 days (25 Aug to 31 Aug) against the 28 days before. Each ad is run through the same 8 checks. The cards show what tripped and what to do, every ad opens to a 21-day trend, and the rules behind the stages are at the bottom.

Ads checked
7
2 too new, 219 too small
Fatigued
1
cut today
Close / highly likely
1
0 refresh this week · 1 brief now
Spend on flagged ads
£2,169
26% of £8,395 this week
Account ROAS
2.48x
was 1.85x
Account CPM
£16.69
was £15.99

Flagged ads

Ad 707 creative

Ad 707

Fatigued · Cut today
Image | Tomato Vine | UGC Testimonial | UGC
Evergreen (old Tomato vine) / Ad Set 1 - MAIN
7-day spend
£1,905
23% of account
ROAS
2.05x → 1.79x
prior 14d → last 7d
Purchases / wk
62 → 48
Cost per sale
£34.22 → £39.70
baseline → last 7d
Daily spend vs before
89%
Meta easing off
Breakeven ROAS
2.46x
from margin sheet · below
Days running
17
11 days of baseline: low confidence
Families tripped
attention moderate, return moderate
Do: Big share of spend. Brief a refresh of this concept now (new hook, same message) and cap or pause this ad once the refresh is live.
2 of 8 checks tripped
Click rateAttention
Moderate
link CTR 1.47% → 1.17% (-20% own, -13% net of account)
Hook rateAttention
No data
Not a video, or too few impressions
Hold rateAttention
No data
Not enough data to judge
Cost to reachAudience
Clear
CPM £12.80 → £14.40, +8% vs the account's own move (+4%)
Audience wearAudience
Clear
ad set 7-day frequency 1.77 → 1.96 (+11%); prospecting ceiling 2.5 / 3
Cost per saleReturn
Clear
cost per sale £34.22 → £39.70 (+16%); ROAS 2.05x → 1.79x; purchases 62/wk → 48; chance of this few sales 17%
Return vs bestReturn
Moderate
ROAS 1.79x vs its best 7 days 2.99x (2026-08-10 to 2026-08-16)
PurchasesReturn
Clear
purchases 62/wk → 48 (-23%); chance of this few 17%
Ad 648 creativeVideo

Ad 648

Highly likely · Brief the replacement now
Video | Citronella | Founder Story | Founder VO
Citronella May 2026 / Ad Set 1 - MAIN
7-day spend
£264
3% of account
ROAS
2.20x → 2.17x
prior 14d → last 7d
Purchases / wk
9 → 9
Cost per sale
£34.76 → £29.34
baseline → last 7d
Daily spend vs before
85%
Meta easing off
Breakeven ROAS
2.46x
from margin sheet · below
Days running
17
11 days of baseline: low confidence
Families tripped
audience strong
Do: Audience, not creative: the ad set is wearing out its audience while clicks/hooks hold. Broaden the audience or lower the ad set minimum; a new cut alone will not fix it.
1 of 8 checks tripped
Click rateAttention
Clear
link CTR 1.23% → 1.18% (-5% own, +4% net of account)
Hook rateAttention
Clear
3s views / impressions 20.8% → 20.2% (-3%)
Hold rateAttention
Clear
ThruPlays / 3s views 23.7% → 26.2% (+10%)
Cost to reachAudience
Strong
CPM £21.80 → £29.28, +29% vs the account's own move (+4%)
Audience wearAudience
Clear
ad set 7-day frequency 2.07 → 2.43 (+17%); prospecting ceiling 2.5 / 3
Cost per saleReturn
Clear
cost per sale £34.76 → £29.34 (-16%); ROAS 2.20x → 2.17x; purchases 9/wk → 9; chance of this few sales 77%
Return vs bestReturn
No data
Not enough data to judge
PurchasesReturn
Clear
purchases 9/wk → 9 (+1%); chance of this few 77%

Every ad, every check

All 7 ads with real spend, biggest first. Click an ad to see its last 21 days. Includes 1 Meta has already pulled spend from.

AdVerdictClick rateHook rateHold rateCost to reachAudience wearCost per saleReturn vs bestPurchases
Ad 707 ▾
£1,905 · 1.79x
Fatigued · Cut todayModerateNo dataNo dataClearClearClearModerateClear
Ad 828 ▾
£1,002 · 2.11x
None · NothingClearClearClearClearClearClearClearClear
Ad 551 ▾
£405 · 0.72x
Monitor · Meta already pulled backClearClearClearStrongClearModerateStrongStrong
Ad 813 ▾
£311 · 7.56x
None · NothingClearClearClearClearClearNo dataNo dataNo data
Ad 483 ▾
£268 · 3.40x
Monitor · WatchModerateNo dataNo dataClearClearClearClearClear
Ad 685 ▾
£264 · 1.07x
Monitor · WatchModerateNo dataNo dataClearClearNo dataNo dataClear
Ad 648 ▾
£264 · 2.17x
Highly likely · Brief the replacement nowClearClearClearStrongClearClearNo dataClear

Too new / too small

Labelled separately, never shown as None. Too new = under a week of baseline, judged from next week. Too small = under £300 and 3% of spend this week, so it cannot leak enough to matter.

AdLabel7-day spend
Ad 779Too new£535
Ad 420Too new£262
219 ads too small to judge (£3,178 between them this week)
AdLabel7-day spend
Ad 487Too small£198
Ad 452Too small£187
Ad 554Too small£184
Ad 793Too small£172
Ad 709Too small£136
Ad 489Too small£136
Ad 578Too small£133
Ad 658Too small£124
Ad 671Too small£109
Ad 821Too small£109
Ad 530Too small£105
Ad 725Too small£90
Ad 815Too small£88
Ad 504Too small£76
Ad 458Too small£70
Ad 401Too small£67
Ad 524Too small£65
Ad 567Too small£64
Ad 830Too small£58
Ad 791Too small£56
Ad 321Too small£54
Ad 588Too small£44
Ad 552Too small£42
Ad 556Too small£42
Ad 584Too small£41
Ad 827Too small£38
Ad 829Too small£38
Ad 413Too small£34
Ad 572Too small£34
Ad 532Too small£32
Ad 581Too small£30
Ad 582Too small£29
Ad 454Too small£27
Ad 531Too small£27
Ad 377Too small£26
Ad 376Too small£17
Ad 373Too small£17
Ad 706Too small£14
Ad 573Too small£13
Ad 547Too small£13
Ad 414Too small£11
Ad 641Too small£11
Ad 419Too small£11
Ad 816Too small£10
Ad 539Too small£10
Ad 503Too small£10
Ad 560Too small£9
Ad 538Too small£8
Ad 683Too small£8
Ad 375Too small£8
Ad 705Too small£8
Ad 446Too small£8
Ad 696Too small£8
Ad 389Too small£7
Ad 559Too small£7
Ad 585Too small£7
Ad 500Too small£6
Ad 548Too small£6
Ad 447Too small£6
Ad 543Too small£6
Ad 511Too small£5
Ad 366Too small£5
Ad 474Too small£5
Ad 579Too small£5
Ad 541Too small£5
Ad 577Too small£5
Ad 468Too small£4
Ad 430Too small£4
Ad 574Too small£4
Ad 825Too small£4
Ad 657Too small£4
Ad 677Too small£4
Ad 702Too small£4
Ad 519Too small£4
Ad 684Too small£3
Ad 484Too small£3
Ad 583Too small£3
Ad 692Too small£3
Ad 587Too small£3
Ad 580Too small£3
Ad 440Too small£3
Ad 826Too small£3
Ad 390Too small£3
Ad 775Too small£2
Ad 516Too small£2
Ad 456Too small£2
Ad 712Too small£2
Ad 399Too small£2
Ad 416Too small£2
Ad 536Too small£2
Ad 512Too small£2
Ad 713Too small£2
Ad 575Too small£2
Ad 697Too small£2
Ad 540Too small£1
Ad 678Too small£1
Ad 517Too small£1
Ad 682Too small£1
Ad 443Too small£1
Ad 455Too small£1
Ad 546Too small£1
Ad 535Too small£1
Ad 438Too small£1
Ad 412Too small£1
Ad 408Too small£1
Ad 655Too small£1
Ad 513Too small£1
Ad 557Too small£1
Ad 448Too small£1
Ad 470Too small£1
Ad 418Too small£1
Ad 410Too small£1
Ad 397Too small£1
Ad 695Too small£1
Ad 374Too small£1
Ad 688Too small£1
Ad 404Too small£1
Ad 664Too small£1
Ad 576Too small£1
Ad 691Too small£1
Ad 451Too small£1
Ad 665Too small£1
Ad 509Too small£1
Ad 558Too small£1
Ad 459Too small£1
Ad 525Too small£1
Ad 488Too small£1
Ad 661Too small£1
Ad 515Too small£1
Ad 660Too small£1
Ad 518Too small£1
Ad 444Too small£1
Ad 268Too small£1
Ad 527Too small£1
Ad 700Too small£1
Ad 477Too small£1
Ad 694Too small£1
Ad 526Too small£1
Ad 462Too small£1
Ad 461Too small£1
Ad 449Too small£1
Ad 463Too small£1
Ad 450Too small£1
Ad 394Too small£1
Ad 676Too small£1
Ad 550Too small£1
Ad 534Too small£1
Ad 505Too small£1
Ad 521Too small£1
Ad 403Too small£1
Ad 407Too small£1
Ad 669Too small£1
Ad 475Too small£1
Ad 820Too small£1
Ad 514Too small£0
Ad 668Too small£0
Ad 566Too small£0
Ad 703Too small£0
Ad 673Too small£0
Ad 417Too small£0
Ad 561Too small£0
Ad 495Too small£0
Ad 670Too small£0
Ad 711Too small£0
Ad 453Too small£0
Ad 432Too small£0
Ad 523Too small£0
Ad 395Too small£0
Ad 471Too small£0
Ad 322Too small£0
Ad 508Too small£0
Ad 391Too small£0
Ad 639Too small£0
Ad 562Too small£0
Ad 586Too small£0
Ad 457Too small£0
Ad 398Too small£0
Ad 467Too small£0
Ad 400Too small£0
Ad 415Too small£0
Ad 710Too small£0
Ad 501Too small£0
Ad 402Too small£0
Ad 436Too small£0
Ad 522Too small£0
Ad 704Too small£0
Ad 663Too small£0
Ad 396Too small£0
Ad 469Too small£0
Ad 693Too small£0
Ad 269Too small£0
Ad 653Too small£0
Ad 659Too small£0
Ad 679Too small£0
Ad 687Too small£0
Ad 466Too small£0
Ad 555Too small£0
Ad 667Too small£0
Ad 656Too small£0
Ad 672Too small£0
Ad 393Too small£0
Ad 553Too small£0
Ad 564Too small£0
Ad 686Too small£0
Ad 675Too small£0
Ad 392Too small£0
Ad 409Too small£0
Ad 689Too small£0
Ad 662Too small£0
Ad 681Too small£0
Ad 549Too small£0
Ad 674Too small£0
Ad 654Too small£0
Ad 690Too small£0
Ad 708Too small£0
Ad 563Too small£0
Ad 565Too small£0
Ad 698Too small£0
Ad 802Too small£0

How a stage is decided

Every ad goes down the same path. The gates at the top decide whether an ad can be judged at all; the checks in the middle measure it; the ladder at the end names the stage, and each stage is defined by the one action it asks for.

1
Is it still taking real money?
7-day spend of £300+ or 3%+ of account spend.
NoToo small
YesCarry on
2
Is there a baseline to compare against?
At least 7 days and 5,000+ impressions in the 28 days before this week. Under 21 days of baseline the ad is scored with low confidence: it can reach Close, never Fatigued, because launch-period numbers reverse too often to cut on.
NoToo new
YesCarry on
3
Is Meta still spending on it?
Daily spend this week at 50%+ of its baseline daily spend. Below that Meta has already moved the money, so nothing is leaking.
NoMonitor · pulled back
YesCarry on
4
Run the eight checks and roll them up into three families
Each check scores Moderate or Strong against the bars in the table below. A family takes the strongest score of its checks, so two related signals never count twice. Attention and Audience are leading (no attribution lag); Return is lagging. Click rate and CPM are judged net of the account's own move; hook and hold against the ad's own baseline; frequency against a ceiling of 2.5 / 3 for prospecting and 5 / 8 for retargeting ad sets.
Attention
Click rate · Hook rate · Hold rate
Leading. Fewer people react to the creative.
Audience
Cost to reach · Audience wear
Leading. The same people are being reached, at a rising price.
Return
Cost per sale · Return vs best · Purchases
Lagging. The money has started to follow. 'Hard' = Strong, or Moderate on an ad with 10%+ of spend. Best-week on its own, with this week's ROAS and purchases not falling, never counts as hard.
5
Is it over-scaled rather than tired?
Daily spend at 150%+ of baseline, return down, and no leading family tripped. That is diminishing returns from scale: a different fix.
NoMonitor · over-scaled
YesCarry on
5b
Is it the site, not the ad?
Purchases collapsed (zero on an ad normally doing 5+ a week, or down 60%+ on one doing 10+) while click rate held. People are still clicking and not buying, which points at stock, the landing page or the pixel, never the creative.
NoMonitor · check site
YesCarry on
6
Is it below the breakeven line?
This week's ROAS against 2.46x from the margin sheet. Not the account average: that is dragged down by the big spenders themselves and lifted by retargeting and subscriber campaigns, so cold ads sit below it structurally. Below breakeven unlocks Fatigued; above it the worst outcome is Close.
7
Pick the stage: first match from the top wins
Fatigued · Cut today
Below breakeven and Return hard and at least one leading family tripped. Or: below breakeven, 10%+ of spend and under half its own best week, even if this week looks flat (slow decay). Withheld, stopping at Close, for ads under 21 days of baseline unless they are a 10%+ spender below breakeven, and for any client whose breakeven is not set from the margin sheet.
Close · Refresh this week
Return hard but still above breakeven. Or a Strong leading family with a Moderate return fall. Or purchases down 50%+ with spend held.
Highly likely · Brief the replacement
Return not yet hard, but both leading families tripped, or one of them Strong. The money has not moved; the warning signs have.
Monitor · Watch
One Moderate signal on its own, or Return moving with no leading family agreeing (likely attribution lag), or audience-not-creative: ad set frequency high while clicks and hooks hold, so the fix is a broader audience, not a new cut.
None · Nothing
Clean or improving.
8
Has it persisted?
Compared with the ledger entry from about a week ago, never with yesterday's run (three daily runs share six of seven days, which is one week read three times). A leading family still tripped a week on lifts Monitor to Highly likely; a Return family still tripped lifts Highly likely to Close. Persistence can confirm, never create, an alert.
9
Is it the whole account, not this ad?
If more than half of the material ads trip the same family on the same day, the run is labelled account-wide and Fatigued and Close are demoted to Monitor. Pott, 18 Jul 2026: ROAS fell on every ad with clicks, CPM and frequency flat, and the cause was site conversion rate, not creative.

The eight checks

What each one measures, where it trips, and why it earns a place.

CheckFamilyWhat is measuredTrip wireLagWhy it is in
1. Click rate
Are fewer people clicking?
Attention Link clicks / impressions, last 7 days vs the 14 days before Down 10% = moderate, 20% = strong. No lag The first thing to go when an audience has seen a creative enough. Moves days before revenue does.
2. Hook rate
Are fewer people stopping on the video?
Attention 3-second video views / impressions, videos only, vs the ad's own baseline Down 10% = moderate, 20% = strong. No lag Same signal as click rate for video, read earlier in the scroll. Judged against the ad's own baseline, not the account's, because the account hook rate moves with the image/video mix. Counted in the same family so a video does not score twice.
3. Hold rate
Of those who stopped, are fewer staying?
Attention ThruPlays / 3-second views, videos only, vs the ad's own baseline Down 10% = moderate, 20% = strong. No lag A video can still stop people and lose them two seconds later once they recognise it. Hold rate catches that before click rate does.
4. Cost to reach
Is it costing more to show this ad?
Audience Ad CPM move minus the account's CPM move over the same windows Up 15% = moderate, 25% = strong, net of the account. No lag Meta charges more to keep showing a creative its audience is ignoring. Judged net of the account so a Q4 auction rise does not flag every ad.
5. Audience wear
Are the same people seeing it again and again?
Audience Ad set 7-day frequency, this week vs last week Rising 10%+ and above 2.5 = moderate, above 3 = strong. No lag Ad set frequency, not ad frequency: in a broad set the audience wears out across the whole set. Reach falling with spend and CPM flat is the same thing, so reach is not a separate check.
6. Cost per sale
Is each sale costing more?
Return Spend / purchases this week vs the baseline. Read only if this week spent 3x the baseline cost per sale, and only if the shortfall is unlikely to be chance Up 20% = moderate, 35% = strong, and the chance of this few sales at the baseline rate must be under 20% / 10%. Needs 8+ baseline purchases. Not counted if ROAS rose (bigger baskets). Lags 1-3 days The money signal, read as cost per sale rather than ROAS because ROAS also moves with basket size, which is a product-mix question. It arrives late (attribution lag), so on its own it never makes the top stage. The chance test stops one missing sale on a 5-a-week ad reading as decay.
7. Return vs best
Is it far below its own best week?
Return This week's ROAS as a share of the ad's best rolling 7 days (promo weeks excluded) At 70% of best = moderate, 50% = strong. Best week needs 10+ purchases. Lags 1-3 days Catches slow decay. Pott Ad 707 fell 3.0x to 1.1x without any single week tripping a week-on-week bar. BFCM weeks are excluded or every ad reads 'off its best' in December.
8. Purchases
Have purchases collapsed?
Return Purchases per week vs the baseline weekly rate Down 30% = moderate, 50% = strong. Not scored under 5 recent purchases. Lags 1-3 days Volume guard so a ROAS fall driven by one big order does not read as fatigue. The floor stops 4 vs 6 purchases reading as a 33% collapse.

Why the rules are shaped this way

Only material ads, and only while spend is held
An ad Meta has already pulled money off cannot leak more, and a £40 ad cannot leak enough to matter. The watcher exists to stop spend leaking, so it only looks where the money is.
Families, not a signal count
Reach down with spend and CPM flat is frequency up by another name, and click rate and hook rate move together on video. Counting them separately would let one cause score three times.
Net of the account
CPM and ROAS are judged against the account's own move over the same windows. A Q4 auction rise or a site-wide conversion dip then cancels out instead of flagging every ad at once.
Return alone never makes the top stage
Purchases attribute back over 1-3 days, so the newest days always look worse than they are. A return fall needs a leading family to agree before anything is cut.
Breakeven, not the account average
Account average ROAS is the wrong line: the big spenders drag it down and retargeting lifts it. The bar is each client's breakeven from the margin sheet (2.46x here).
Own best week catches slow decay
Pott Ad 707 fell from 3.0x to 1.1x without any week tripping a week-on-week bar. Promo weeks (BFCM) are excluded from 'best', or every ad reads as off its best in December.
Age is shown, never a trigger
Pott Ad 153 ran eight months as the number two ad by purchases. Days running is on the card for context and as a sort tie-breaker; it never moves a stage.
A chance test on small numbers
Most ads do 2 to 10 sales a week, and one sale either way swings cost per sale by 30 to 50%. At the baseline rate this week's spend should have bought N sales; if seeing this few is more than 20% likely by chance, the fall is not counted. Below 5 purchases the return checks are also marked low confidence.
Cost per sale before ROAS
ROAS falls when baskets shrink and rises when they grow, and neither is the creative's doing. The return check reads cost per sale, and a cost-per-sale rise with ROAS up is logged as bigger baskets, not fatigue. ROAS keeps one job: the breakeven line.
A four-week baseline
The ad's normal is the 28 days before the judged week, so one odd fortnight does not become the baseline and weekday mix is balanced. Under 21 days of baseline the ad is low confidence and stops at Close, unless it is a big spender below breakeven, because that leak does not depend on the baseline.
Check the site before the creative
If purchases collapse while click rate holds, the ad is still doing its job and something after the click is broken: stock, the page or the pixel. That ad is routed to a site check, not a refresh, and the September 2026 backtest showed those ads recovered on their own.
Retargeting wears slower
A warm audience can see an ad five to eight times before it tires; a cold one two to three. Retargeting ad sets are spotted by name (never by the word 'warm', because Pott's prospecting campaigns are called Cold & Warm) and get the higher ceilings.
Persistence across non-overlapping data
Escalation compares with the ledger from about a week earlier, never with yesterday's run. Three consecutive daily runs share six of seven days.
Audience versus creative
Ad set frequency is used, not ad frequency. If the set is worn but every ad's clicks and hooks hold, the fix is a broader audience or a lower minimum; a new cut on its own will not help.
Generated 20/10/2026, 19:54:13 by scripts/meta-fatigue-watch. Read-only: nothing in the ad account was changed.