How Bach AI Auto-Detects Ad Fatigue Before Your CTR Visibly Drops
- info wittelsbach
- 5 days ago
- 5 min read
By the time CTR visibly drops, ad fatigue has already cost you a week of compounding budget velocity. The standard ‘refresh when frequency hits 3.0’ rule is a lagging indicator — the damage is done before the trigger fires.
Bach AI watches three leading indicators in concert: frequency, hook-completion, and CTR-velocity. The detection model surfaces fatigue 5-9 days before it shows up as a ROAS dip. That window is where the money is — refreshing during it preserves the winning creative’s residual value while protecting the campaign’s learning state.
The Invisible Problem — Why Standard Fatigue Detection Misses
Most Indian D2C operators learn the same rules: watch frequency, watch CTR, refresh when one of them hits a threshold. The problem is that those rules use single-metric thresholds on noisy signals, which means they fire late and sometimes fire on false positives.
By the time CTR on a winning creative drops from 1.8% to 1.2%, the audience has already been over-served. The ad set’s learning phase has been disrupted, the auction signal has weakened, and the next creative will spend its first 48 hours fighting a residual frequency overhang. The math: a single late refresh on a high-spend ad set costs ₹15,000-40,000 of margin over the following week.
What Bach AI Watches Instead
The detection model fuses three signals into a single per-ad fatigue score:
Frequency velocity — not just frequency, but how fast it is rising in your specific audience. A frequency of 2.5 climbing 0.4/week is healthy. The same 2.5 climbing 1.2/week is fatigue accelerating.
Hook-completion rate — what percentage of viewers stay past the first 3 seconds of a video creative. Fatigue shows here 5-9 days before CTR, because returning viewers know the hook and scroll faster.
CTR-velocity over rolling baseline — not absolute CTR, but the slope of CTR over a per-creative 14-day baseline. A small steady decline matters more than a single big drop.
The Fatigue Score in Practice
Every creative in your account carries a 0-100 fatigue score, recomputed every six hours. The thresholds:
0-40 — Healthy. Creative is in its compounding phase. Don’t touch it.
41-65 — Watch. Early fatigue signals visible. Start drafting the refresh variant.
66-85 — Refresh window. Bach AI proposes a specific refresh action. Approve to deploy.
86-100 — Critical. Performance is about to drop into the campaign’s blended ROAS visibly. Refresh now.
The intermediate ‘Watch’ band is where Bach AI’s value compounds. Founders who refresh only at ‘Critical’ are saving creative effort but burning campaign performance. The optimal rhythm: draft at Watch, deploy at Refresh window.
Real Pattern — How the Three Signals Co-Move
For a beauty D2C account we audited in 2026, a winning video creative showed this signature 9 days before its CTR finally cracked:
Day -9: Frequency velocity ticked from 0.3/week to 0.7/week (audience overlap building).
Day -6: Hook-completion dropped from 64% to 56% (returning viewers scrolling past).
Day -3: CTR slope turned negative against the 14-day baseline (early visible signal).
Day 0: Visible CTR drop — the moment most operators would react.
Day +3: Blended ROAS visibly impacted in dashboard.
Bach AI surfaced the fatigue at Day -9. The brand approved the refresh on Day -7 and the new variant was live on Day -5. Net effect: the winning creative’s compounding phase was preserved and the next creative inherited the audience momentum instead of fighting it. Read more on [ad fatigue and how to stop it before it costs you](https://www.wittelsbach.ai/post/how-to-detect-ad-fatigue-and-stop-it-before-it-costs-you).
The Refresh Recommendations Bach AI Proposes
Detection without a fix is just an alert. Bach AI pairs every fatigue flag with a concrete refresh proposal:
Hook variant — same body, new 3-second opener. Fastest deployment, lowest creative cost.
Audience layer refresh — same creative, refreshed audience layer to spread frequency.
Format swap — successful image variant pushed to reel format, or vice versa.
Full creative refresh — when the underlying concept is fatigued, not just the surface.
Copy-only refresh — same visual, fresh primary text and headline. Often enough for image-led creative.
The UI — How You See This
Inside Wittelsbach AI, fatigue scores show as colour-coded tiles on the Creative tab. Click any tile to see the three underlying signals plotted against the 14-day baseline. Bach AI’s recommended action appears with a one-click approval — the new creative gets drafted, the budget is held stable during transition, and the old creative is paused (not deleted, so historical context is preserved).
The ₹ Impact
Across the Indian D2C accounts on Wittelsbach AI in Q1 2026:
Average refresh lead time improved from 4 days late to 6 days early (vs visible CTR drop).
Blended ROAS preserved during refresh transition: +14% vs reactive refresh cycle.
Wasted spend during ‘zombie’ ad days (post-fatigue, pre-refresh): down 62%.
Average monthly margin protected on a ₹15L/month spend account: ~₹85,000.
How to Set It Up
Two clicks: connect your Meta account at [app.wittelsbach.ai](https://app.wittelsbach.ai). Bach AI auto-discovers your active creatives, computes fatigue scores within 4-6 hours of the first sync, and surfaces the first refresh recommendation on the same dashboard you’re looking at.
How Wittelsbach AI Makes This Work Day-to-Day
Fatigue detection alone is half the loop. Bach AI orchestrates the refresh draft, holds the budget stable during transition, monitors the new creative’s learning phase, and surfaces the next fatigue window — all without you having to remember to check. Try Bach AI on your account at [app.wittelsbach.ai](https://app.wittelsbach.ai).
Frequently Asked Questions
How early in a creative’s lifecycle can Bach AI compute a fatigue score?
Bach AI starts surfacing meaningful fatigue scores after 72 hours of live data, once the creative has stabilised past its learning phase. Before 72 hours, the model uses its account-level baselines to flag anomalies but waits on the per-creative trajectory data before issuing refresh recommendations. The 72-hour buffer protects against false-positive flags on creatives that are still finding their audience.
Does Bach AI work on both image and video creatives?
Yes, with format-specific signals. Image creatives use frequency velocity and CTR-velocity primarily. Video creatives add hook-completion and view-through patterns. Both formats share the underlying scoring model — what differs is the input mix. Mixed creative ad sets get the full signal set.
What if my account has too little data for the model to work?
Bach AI uses category-aware baselines as a fallback. If your account is under 30 days old or under ₹2L/month spend, the model leans on the broader category baseline for fatigue thresholds and tightens to your specific account as data accumulates. Most accounts have account-specific baselines after 60-90 days of live data.
Will Bach AI ever recommend keeping a fatigued creative live?
In a specific case, yes — if you are in a learning-phase-critical window for an ad set and pausing the creative would reset learning. Bach AI weighs ‘refresh now’ against ‘refresh in 48 hours after learning stabilises’ and recommends the option with higher 7-day projected ROAS. The reasoning is shown alongside the recommendation.
How does this interact with Meta’s automated creative testing?
Meta’s automated creative tests work on different time horizons and different success criteria. Bach AI’s fatigue scoring runs independently and treats the active creative set as the input. When Meta auto-tests are running, Bach AI tracks fatigue on the leading variants and surfaces refresh proposals when even the winning auto-test variants begin to fatigue. The two systems complement each other.




Comments