Meta Ads · Google Ads · TikTok Ads
Why Did It Move? Root-Cause Analysis
A metric jumped or dropped. Find when it started, which campaigns and segments carry it, and the most likely cause.
Recommendations only: the prompt never changes your ad accounts.
How to run it
Three steps, about a minute.
Connect RoASr to Claude or ChatGPT
Create an API key in RoASr and add the RoASr MCP server. Access is read-only: the prompt cannot change anything in your ad accounts.
Paste the prompt
Copy the text below into a new chat.
Answer a few questions
The prompt asks only what it cannot find itself, then reads your data and answers in a fixed format.
- Guides in the blog
What it asks
- metric
- client
- comparison — two weeks against the two weeks before
- dimension — placement
Data it reads
- roasr_load_skill
- roasr_limits
- roasr_list_clients
- roasr_list_accounts
- roasr_metrics_summary
- roasr_metrics_daily
- roasr_metrics_campaigns
- roasr_metrics_breakdown
- roasr_metrics_actions
- roasr_list_findings
Method
- roasr_frame
- root_cause
- meta_analysis
Full prompt
The prompt
Before you start, ask me about each [input] below — one question at a time, with ready-made answers to pick from; skip whatever you can already tell.
Something shifted in [metric: the number that worried you and which way it went, for example "cost per lead is up" or "ROAS fell"] for [client: if not listed, call roasr_list_clients and let me pick]. Trace it back: the day it started, the campaigns and segments behind it, the most likely cause, and the next steps.
1. **Load the RoASr method.** Call roasr_load_skill('roasr_frame'), roasr_load_skill('root_cause') and roasr_load_skill('meta_analysis') and follow them exactly.
2. **Frame the data.** Call roasr_limits, roasr_list_clients and roasr_list_accounts: plan, niche, margin, KPI, account currencies, sync status and dataSince. Compare [comparison: two weeks against the two weeks before (default) | one week against the week before | 30 days against the previous 30 | custom]. If a window starts before dataSince, say so and narrow it. If currency.mixed is true, never sum money across accounts.
3. **Confirm the move.** roasr_metrics_summary for both windows. If the change is inside the noise floor from the skill, answer "normal fluctuation", show the numbers and stop.
4. **Find the inflection date.** roasr_metrics_daily over both windows: the first day the metric left its usual band and stayed out.
5. **Locate it.** roasr_metrics_campaigns (campaign level, then adset), then roasr_metrics_breakdown by [dimension: placement (default) | platform | country | device]. Report each entity's share of the move. Classify entities by configuration and data, not by their names. Under a campaign budget, ad set numbers show allocation, not ranking.
6. **Rule out tracking first.** roasr_metrics_actions for both windows: if conversions fell while clicks held, treat it as a probable tracking break before any performance explanation.
7. **Cross-check findings.** roasr_list_findings for this client: open findings that date to the inflection.
8. **Diagnose.** A cause is a candidate only if its timing fits the inflection date. Timing alone is correlation: name the mechanism, or label the cause "unconfirmed".
**Output:** open with one sentence — what moved, by how much, since when, the most likely cause and your confidence (high / medium / low). Then a table: entity · before · after · change · share of the move. Then 3–5 actions grouped High / Medium / Nice-to-have, each with the expected effect.
**Output rules:**
- Recommendations only — never apply changes; RoASr tools are read-only.
- reach and frequency are not additive across days; conversion buckets are not additive.
- If the client has no margin set, talk ROAS and CPA, not profit.
- "Normal fluctuation" is a valid answer; never invent a cause to fill the report.
- Answer in the language of this prompt.Troubleshoot
Related prompts
- Conversions Dropped to ZeroEmergency check when conversions nearly vanished: find the date, tell a tracking break from a real drop, see which accounts and actions are hit, and what to verify by hand first.Meta Ads · Google Ads
- CPC / CPM Spike DiagnosisClick or impression got more expensive. Find the date, where it happened, how much comes from auction pressure and how much from your own CTR, and what to do.Meta Ads · Google Ads