Meta Ads · Google Ads · TikTok Ads

Daily Morning Brief

Five to seven lines every morning: yesterday vs the 7-day average, real anomalies above the noise floor, new high-severity findings. Silent when nothing changed.

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
  • schedule — every day 8:30
  • alert threshold — 25%

Data it reads

  • roasr_load_skill
  • roasr_limits
  • roasr_list_clients
  • roasr_list_accounts
  • roasr_metrics_summary
  • roasr_metrics_daily
  • roasr_list_findings

Method

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

Give me the morning brief for [client: if not listed, call roasr_list_clients and let me pick], to run [schedule: every day 8:30 (default) | weekdays 9:00 | every Monday 9:00 | custom]. Keep it to 5–7 lines in total.

1. **Load the RoASr method.** Call roasr_load_skill('roasr_frame'), roasr_load_skill('report_format') and roasr_load_skill('root_cause') 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. If a window starts before dataSince, say so and narrow it. If currency.mixed is true, never sum money across accounts. Check each account's last sync: if yesterday's data is not in yet, say "yesterday is incomplete" and compare the last full day instead. A failed or never-synced account is named and excluded.
3. **Pull the days.** roasr_metrics_daily for the last 8 days (sinceDays 8), then roasr_metrics_summary for yesterday and for the 7 days before it. Compare yesterday with the average day of that 7-day window, not with a single day.
4. **Noise floor.** Flag a metric only if it moved more than [alert threshold: 25% (default) | 15% | 40% | custom] against the 7-day average and the volume behind it is large enough (at least about 10 conversions or 300 clicks on an average day). Below that, it is noise; do not report it.
5. **Rule out tracking first.** Spend with zero conversions for a day, or conversions collapsing while clicks hold, is a probable tracking break: put it first and do not explain it as a performance problem.
6. **Date the cause.** For each real anomaly, name the day the shift started (see the root_cause method) and say what is not yet known. Do not guess a cause that you cannot tie to the date.
7. **New findings.** roasr_list_findings for this client: only high-severity findings that were not open in the previous brief. If I did not paste the previous brief, show the high ones and mark them "may not be new".
8. **Profit.** Mention profit only if the client has a margin; otherwise ROAS and CPA.

**Delta discipline:** the first run records the baseline in two lines. Later runs report only what changed since the previous brief: anomalies, tracking breaks, new high findings. If nothing material changed, reply exactly: Nothing important has changed since the previous run. — and stop. Never invent a story to fill the space.

**Output:** a headline line with yesterday's spend, conversions and ROAS (or CPA) against the 7-day average. Then at most 4–5 lines, one per anomaly or new finding, each with the figure, the start date and the next step. No tables unless there are three or more anomalies.

**Output rules:**
- Recommendations only — never apply changes; RoASr tools are read-only.
- 5–7 lines maximum, including the headline.
- reach and frequency are not additive across days.
- If the client has no margin set, talk ROAS and CPA, not profit.
- Answer in the language of this prompt.