# Fatigue Frequency Manager

Use when the user asks to "is my ad fatiguing", "why is CTR dropping at scale", or...

- Repository: https://github.com/aaron-he-zhu/aaron-marketing-skills (3046 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add aaron-he-zhu/aaron-marketing-skills --skill fatigue-frequency-manager -g -a claude-code -y`
Codex: `npx skills add aaron-he-zhu/aaron-marketing-skills --skill fatigue-frequency-manager -g -a codex -y`
Cursor: `npx skills add aaron-he-zhu/aaron-marketing-skills --skill fatigue-frequency-manager -g -a cursor -y`
Gemini CLI: `npx skills add aaron-he-zhu/aaron-marketing-skills --skill fatigue-frequency-manager -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add aaron-he-zhu/aaron-marketing-skills`

## Description

Use when the user asks to "is my ad fatiguing", "why is CTR dropping at scale", or "should I rotate creative / widen the audience"; reads frequency, CTR and CVR decay against an early-flight baseline and returns Rotate-creative / Widen-audience / Hold triggers with a per-ad-set fatigue read. Not for building the replacement creative, use ad-creative-builder; not for the RQS score or vetoes, use ad-account-auditor. 广告疲劳检测/频次管理/换素材还是扩人群

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Fatigue & Frequency Manager

Reads a scaling ad set for **creative fatigue** and **audience saturation**, rising frequency, decaying CTR and CVR against an early-flight baseline, and returns a **Rotate-creative / Widen-audience / Hold** trigger per ad set. This works the ROAS **S** (spend-efficiency: CTR/CVR/frequency decay) and **R** (return protection) levers at scale. It does not build the replacement creative (`ad-creative-builder` owns that) and does not compute the RQS or run vetoes (`ad-account-auditor` owns the gate).

## Quick Start

```text
Frequency on my prospecting set hit 6.2 and CTR halved over two weeks, is it fatigue, and do I rotate or widen?
CVR held but CTR keeps sliding on the same creatives at scale, which trigger fires?
Here's the daily campaign export for Ad Set A, read it for fatigue vs saturation
```

## Skill Contract

**Expected output**: a per-ad-set fatigue read, frequency now vs baseline, CTR and CVR decay slope against the early-flight baseline, the diagnosis (creative fatigue vs audience saturation vs neither), and one trigger (**Rotate-creative** / **Widen-audience** / **Hold**) with the threshold that fired, plus a handoff summary storable under `memory/ad/fatigue-frequency-manager/`.

The rest: https://github.com/aaron-he-zhu/aaron-marketing-skills/blob/HEAD/ad/scale/fatigue-frequency-manager/SKILL.md
