ROAS Drop Doctor
5-step diagnostic wizard · no sign-up · shareable link
A ROAS drop is always exactly one story told by five numbers: fewer people saw it cheaply (CPM), fewer clicked (CTR), fewer bought (CVR), buyers spent less (AOV), or the same people saw it too often (frequency). Answer what each one did — up, flat, or down — and the Doctor ranks the culprits and hands you the fix checklist for the winner. Five clicks, no login, shareable result link for the Slack argument.
ROAS = CTR × CVR × AOV ÷ (CPM ÷ 1000) — five inputs, five suspects
CPM (cost per 1,000 impressions)
Auction price. Up = you pay more for the same eyeballs.
What each field wants
- The five vital signs
- Compare the bad period against the previous equal-length period in the ad platform: CPM, CTR (link), CVR (purchase rate), AOV, and frequency. "Flat" means within ±10% — the tool treats small wiggles as noise on purpose.
How this number is derived
ROAS factorises into exactly five suspects
ROAS = impressions × CTR × CVR × AOV ÷ spend, and spend = impressions × CPM ÷ 1000. Cancel impressions and ROAS = CTR × CVR × AOV ÷ (CPM ÷ 1000). Every ROAS move is fully explained by those four rates plus frequency as the saturation witness. There is no sixth suspect — which is what makes a 5-question wizard sufficient.
The ranking is deterministic, not AI
Each pattern maps to a diagnosis by fixed rules: CPM up alone means auction pressure; CTR down with frequency up means creative fatigue; CVR down with CTR flat means the site or the offer broke, not the ad. The rules are printed with the result so you can audit them — and argue with them — in the open.
Frequency is the witness, rarely the murderer
High frequency alone does not lower ROAS — same-frequency buyers convert fine until creative wears out. But rising frequency alongside falling CTR is the fingerprint of fatigue: the audience is not new, and the message is not fresh.
The sale that "stopped working"
- CPM
- Flat
- CTR
- Down 35%
- CVR
- Flat
- AOV
- Flat
- Frequency
- Up 2.1 → 4.8
Revenue-side rates (CVR, AOV) flat → site and offer are fine
CPM flat → auction is fine
CTR down + frequency up → same people, tired creativeVerdict: creative fatigue, high confidence. Fix: rotate in 2–3 new hooks against the same winning angle, broaden the audience to reset frequency, and only then touch bids. The team had been about to raise budgets into exhausted creative — the most expensive possible response.
When a move counts as "up" or "down"
The wizard bakes these in — ±10% is flat, beyond is signal.
| CPM +20% or more | Signal | Auction pressure or placement shift. Seasonal peaks routinely do this. |
|---|---|---|
| CTR −25% or more | Signal | Creative or relevance decay. Week-over-week, this is fatigue until proven otherwise. |
| CVR −20% or more | Signal | Site, offer, price, or traffic-quality break. Check tracking first. |
| Frequency above ~4 | Witness | Not guilty alone — but combined with falling CTR it convicts for fatigue. |
What this assumes, and what it doesn't model
Assumptions
- You compare equal-length periods with no attribution-window or conversion-lag distortion.
- Platform-reported revenue direction matches your books (it over-reports, but usually consistently).
- "Flat" means within ±10% — smaller moves are treated as noise.
Deliberately not modelled
- Cannot distinguish competition from seasonality when CPM rises — both look like auction pressure. Check the calendar before blaming rivals.
- Assumes one dominant cause; real drops are sometimes two half-causes. Read the #2 diagnosis too.
- Does not see tracking breakage directly — if CVR fell off a cliff overnight, verify the pixel before believing any diagnosis.
- No account access: it reasons from the five numbers you report, so wrong inputs mean wrong verdicts.
Common questions
CPM is up and everything else is flat. Is it competition?
Maybe — but seasonality, a placement shift (more Reels, less Feed), or a narrowed audience all raise CPM identically. The Doctor calls it "auction pressure" deliberately: the fix (broaden, refresh placements, wait out the peak) is the same regardless of who is on the other side of the auction.
CTR and CVR both fell. Which do I fix first?
CTR first. CVR measured on worse-clicking traffic is polluted — curiosity clicks convert less, so a CTR collapse drags CVR with it. Fix creative, re-measure CVR on the recovered traffic, and only then judge the site.
My ROAS drop is really a tracking issue. Will this catch it?
Partly: an overnight CVR cliff with flat CTR is flagged as "verify tracking before anything else" in the checklist. Gradual tracking drift, though, looks exactly like a real CVR decline — when in doubt, compare platform purchases against Shopify/orders for the same days.
Can I send the diagnosis to my team?
Yes — your five answers live in the URL, so the result link restores the exact diagnosis. Paste it in Slack next to the screenshot.
Last reviewed September 6, 2026.