# Creative Fatigue Detection

> Use this skill when diagnosing creative fatigue on Meta — the signals an ad is dying, rotation rules, and refresh timing for B2B accounts.

- Skill: `swan-gtm/creative-fatigue-detection` (Agent Skill)
- Install (CLI): `npx skillmds@latest add swan-gtm/creative-fatigue-detection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/swan-gtm/creative-fatigue-detection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: swan-gtm (https://skillmd.com/u/swan-gtm)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/swan-gtm/creative-fatigue-detection

---


# Creative Fatigue Detection & Rotation - B2B SaaS

How to detect when Meta ads are losing effectiveness, when to rotate creative, and how to maintain performance through systematic creative management.

---

## What Creative Fatigue Looks Like

Creative fatigue happens when your audience has seen your ads too many times. The algorithm keeps serving them, but engagement drops and costs rise.

**The signals (in order of urgency):**

| Signal | Threshold | Urgency |
|--------|-----------|---------|
| Frequency > 4.0 (cold) | Immediate action needed | URGENT |
| Frequency > 6.0 (retargeting) | Immediate action needed | URGENT |
| CTR drops 20%+ from baseline over 7 days | Creative dying | WARNING |
| CPM rising 30%+ over 2 weeks | Algorithm struggling to deliver efficiently | WARNING |
| Ad Relevance: "Below Average" in any metric | Quality issue | WARNING |
| CPA increasing with stable targeting | Likely fatigue (after ruling out other causes) | MONITOR |

---

## Frequency Thresholds by Campaign Type

| Campaign Type | Safe | Warning | Critical |
|--------------|------|---------|----------|
| **Cold prospecting** | 1.0-2.5 | 2.5-3.5 | > 4.0 |
| **Retargeting** | 2.0-4.0 | 4.0-5.5 | > 6.0 |
| **ABM** | 2.0-5.0 | 5.0-7.0 | > 8.0 |

**Why ABM tolerates higher frequency:** ABM audiences are small and the message reinforcement is intentional. But even ABM hits a wall - diminishing returns past 5-6 impressions per person per week.

---

## B2B Creative Lifespan

B2B ads lose efficiency slower than B2C/e-commerce, but they still fatigue:

| Creative Type | Typical Lifespan | Why |
|--------------|-----------------|-----|
| Static image | 14-28 days | Seen, registered, scroll past |
| Video (< 30s) | 21-35 days | More engaging, lasts longer |
| Carousel | 21-35 days | Multiple cards = more novelty |
| UGC / testimonial | 28-42 days | Feels authentic, fatigues slower |

**B2B vs B2C:** B2B audiences are smaller, so frequency builds faster. But B2B users pay less attention to ads (scrolling past work content), so each impression has less impact. Net result: 14-21 day refresh cycle for most B2B campaigns.

---

## Detection Workflow (Weekly)

Run this check every Monday as part of your weekly optimization:

### Step 1: Pull Frequency Report
- Ads Manager - Columns - Customize - Add "Frequency"
- Filter by: last 7 days, last 14 days
- Flag any ad with frequency > threshold for its campaign type

### Step 2: Check CTR Trend
- Compare this week's CTR to previous 2 weeks
- If CTR dropped 15-20%+: fatigue likely
- If CTR stable but frequency rising: preemptive refresh needed within 7 days

### Step 3: Check CPM Trend
- Rising CPM with stable audience = algorithm is struggling to deliver
- Often a leading indicator before CTR drops
- 30%+ CPM increase over 2 weeks = fatigue or auction competition (check both)

### Step 4: Check Ad Relevance Diagnostics
- Ads Manager - select ad - Inspect (or columns - Ad Relevance Diagnostics)
- Three metrics: Quality Ranking, Engagement Rate Ranking, Conversion Rate Ranking
- Any "Below Average" = investigate and likely replace

### Step 5: Classify Each Ad

| Classification | Criteria | Action |
|---------------|----------|--------|
| **Healthy** | CTR stable, frequency < threshold, relevance OK | Keep running |
| **Warning** | CTR declining or frequency approaching threshold | Prepare replacement, launch within 7 days |
| **Urgent** | Frequency > threshold, CTR dropped 20%+, relevance declining | Replace immediately (within 24-48 hours) |
| **Depleted** | 4+ weeks running, frequency > 5.0, performance well below baseline | Pause. Don't iterate - this concept is exhausted. |

---

## The Rotation System

### The 50/30/20 Rule (Applied to Creative)

At any time, your active creative library should be:

- **50%** - Proven winners (currently performing well, scaling)
- **30%** - Iterations on winners (same angle, different hook/format/design)
- **20%** - New concepts (completely different angles for testing)

This ensures you always have replacement creative ready when fatigue hits, while still scaling what works.

### Rotation Cadence

| Action | Frequency |
|--------|-----------|
| Check fatigue signals | Weekly (Monday) |
| Launch new creative variations | Every 2 weeks |
| Retire depleted concepts | When CTR drops 30%+ from peak, or frequency > 5.0 |
| Test completely new concepts | Monthly (at minimum) |
| Full creative library refresh | Quarterly |

### How to Rotate Without Resetting Learning Phase

- **Don't** swap creative inside a performing ad set (resets learning)
- **Do** launch new ads alongside existing ones in the same ad set
- **Do** create a new ad set with the same targeting and fresh creative (if existing ad set is depleted)
- **Do** pause underperforming ads (pausing does not equal editing, doesn't reset)

---

## Creative Pipeline Management

To avoid scrambling when fatigue hits, maintain a creative pipeline:

### Minimum Creative Inventory

| Campaign Type | Minimum Active | Ready in Pipeline | Refresh Rate |
|--------------|----------------|-------------------|-------------|
| Cold prospecting | 4-6 concepts active | 3-4 ready to launch | Every 2 weeks |
| Retargeting | 3-4 concepts active | 2-3 ready to launch | Every 3 weeks |
| ABM | 2-3 concepts active | 2 ready to launch | Every 3-4 weeks |

### Building the Pipeline

1. **Source new angles** from buyer situations list (see message-validation.md)
2. **Repurpose organic winners** (high-performing LinkedIn posts, blog content)
3. **Mine customer calls** for language, objections, success stories
4. **Study competitor ads** in Meta Ad Library for format inspiration
5. **Iterate on winners** - same angle, different hook/format/visual

---

## Format-Specific Fatigue Notes

### Static Images
- Fatigue fastest (people register and scroll past quickly)
- Refresh hook text/headline while keeping same visual - buys 7-14 extra days
- Different color schemes and layouts of the same concept counts as "new"

### Video Ads
- Last longer because people engage at different points each view
- 9:16 vertical with audio = 12% higher conversions per dollar (2025 data)
- Swap opening hook while keeping the body - extends lifespan significantly

### Carousel Ads
- Multiple cards give built-in variety per impression
- Rearranging card order = a "new" ad to the algorithm
- Adding 1-2 new cards while keeping best cards = efficient refresh

### UGC / Testimonial
- Fatigues slowest (authenticity has more staying power)
- When it does fatigue: switch to a different customer, not a different concept
- Multiple UGC videos from different people = a rotation system built in

---

## Frequency Cap Recommendations

Meta doesn't offer precise frequency caps, but you can control frequency through:

1. **Audience size** - Larger audience = lower frequency per person
2. **Budget pacing** - Lower daily budget = fewer impressions per person
3. **Creative rotation** - More active ads = impressions distributed across them
4. **Ad scheduling** - Run ads during specific hours/days to control delivery (limited B2B value)
5. **Exclusions** - Exclude recent converters (7-30 days) to avoid over-serving

**Target frequency by objective:**
- Prospecting: 1-2 impressions/person/week
- Retargeting: 2-4 impressions/person/week
- ABM acceleration: 4-6 impressions/person/2 weeks

---

## Related Files

- **optimization-playbook.md** - Full decision trees including creative fatigue as a cause of CPA increase
- **creative-strategy.md** - What new creative to build (concepts, formats, copy formulas)
- **message-validation.md** - How to identify which concepts are actually winning
- **campaign-structure.md** - How to add new creative without resetting learning phase

