Meta Ads · Google Ads · TikTok Ads

Audit Findings → Action Plan

Takes the open RoASr audit findings, groups them by severity and checklist category, sizes each by the spend it touches and returns a plan for the week.

Connect RoASr

Recommendations only: the prompt never changes your ad accounts.

How to run it

Three steps, about a minute.

  1. 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.

  2. Paste the prompt

    Copy the text below into a new chat.

  3. Answer a few questions

    The prompt asks only what it cannot find itself, then reads your data and answers in a fixed format.

  4. Guides in the blog

What it asks

  • client
  • spend window — last 30 days
  • scope — all open findings

Data it reads

  • roasr_load_skill
  • roasr_limits
  • roasr_list_clients
  • roasr_list_accounts
  • roasr_list_findings
  • roasr_metrics_campaigns

Method

  • roasr_frame
  • audit_scoring
  • report_format
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.

Turn the open audit findings of [client: if not listed, call roasr_list_clients and let me pick] into a prioritised plan for the week, sized by how much spend each problem touches.

1. **Load the RoASr method.** Call roasr_load_skill('roasr_frame'), roasr_load_skill('audit_scoring') and roasr_load_skill('report_format') 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. Size impact over [spend window: last 30 days (default) | last 14 days | last 60 days | custom]. If a window starts before dataSince, say so and narrow it. If currency.mixed is true, never sum money across accounts; rank within each account. An account with sync failed or never gets no conclusions.
3. **Collect.** roasr_list_findings for this client. Keep [scope: all open findings (default) | high severity only | high and medium]. Ignore resolved and dismissed ones; a finding keeps its identity between audits, so mention how long it has stayed open if the data shows it.
4. **Group.** Sort findings by severity, then by the category of the audit_scoring checklist they belong to. Merge duplicates that point to the same root problem and say so.
5. **Size.** roasr_metrics_campaigns at campaign level (adset level when a finding is about ad sets), sorted by spend. Tie each finding to the campaigns it touches and show their share of the account's spend in the window. Findings about the whole account take the whole account's spend. Show "spend at stake", not "savings": do not promise a number the data cannot support. Classify campaigns by their settings and data, not by their names.
6. **Plan the week.** 5–8 steps ordered by severity × share of spend ÷ effort. For each: what to do, in which account and campaign, how to verify it worked in the next data pull, and who decides. Put quick, safe fixes first; leave anything that restarts learning for a separate, labelled step.

**Output:** open with one sentence: how many findings are open, how much spend they touch and the one thing to do first. Then a table: severity · category · finding · account/campaigns · spend at stake · effort. Then the week plan as 5–8 steps grouped High / Medium / Nice-to-have, each with the expected effect.

**Output rules:**
- Recommendations only — never apply changes; RoASr tools are read-only.
- Do not add up spend of overlapping findings: one campaign counts once in the total.
- With no margin set for the client, talk ROAS and CPA, not profit.
- If there are no open findings, say so and suggest a full audit instead of making work up.
- Answer in the language of this prompt.