Meta Ads

Weekly Competitor Watch

Every week, for a list of competitor brands: new creatives, long-runners, ads that disappeared (a likely retired winner) and shifts in offers and angles. Baseline first, then only changes.

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
  • brands
  • schedule — every Monday 9:00
  • new means — 7 days

Data it reads

  • roasr_load_skill
  • roasr_limits
  • roasr_list_clients
  • roasr_list_accounts
  • roasr_spy_search
  • roasr_spy_tag_leaderboard

Method

  • roasr_frame
  • creative_intel
  • 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.

Watch these competitors for [client: if not listed, call roasr_list_clients and let me pick]: [brands: competitor page names, comma-separated, up to 5]. Run it [schedule: every Monday 9:00 (default) | every Friday 9:00 | first day of the month | custom]. Count a creative as new if it appeared in the last [new means: 7 days (default) | 14 days | since the previous report].

1. **Load the RoASr method.** Call roasr_load_skill('roasr_frame'), roasr_load_skill('creative_intel') 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 (check that competitor intel is included and how many competitors it allows), niche, tone, account currencies and sync status. If currency.mixed is true, never sum money across accounts.
3. **Find the previous report.** If I pasted last week's report or it is in this conversation, take its list of ad_archive_ids, hooks and top tags as the previous state. If not, this is the first run: record a baseline and stop at step 5.
4. **Pull each brand.** For each brand call roasr_spy_search with brand set to the page name and limit 50. A brand that returns nothing is reported as "nothing found" and not guessed at.
5. **Baseline (first run).** Per brand: how many ads, the top 5 by days_live (hook, format, angle), the main offer type. Then roasr_spy_tag_leaderboard with limit 20 for the niche. Tell me to paste this report next time so the changes can be computed.
6. **Compare (later runs).** Per brand:
   - New: ads that are in the results now but not in the previous state, or whose days_live is within the "new" window.
   - Long-runners: ads that kept running and passed 30, 60 or 90 days. Mark them "likely a winner".
   - Gone: ads from the previous state that are no longer in the results. The search returns a capped list, so before saying an ad is gone, check it was not just pushed out of the list: if the list was full, repeat the search with limit 100. A gone ad that ran a long time is a likely retired winner, or a creative that was replaced. Say "likely", it is not confirmed.
   - Shift: changes in the offer type, in the main angle or in the format mix, backed by counts.
7. **Market tags.** roasr_spy_tag_leaderboard with limit 20: tags that moved up or down since the previous report.
8. **So what.** For each material change, one line on what it means for the client and a test or reaction to consider. Never copy competitor wording. The Ad Library shows no spend or results: no claims about their budget, CPA or ROAS.

**Delta discipline:** the first run records the baseline. Later runs report only what changed since the previous report: new ads, new long-runners, gone ads, shifts. Skip brands with no change. If nothing material changed for any brand, reply exactly: Nothing important has changed since the previous run. — and stop. Never pad the report.

**Output:** one headline sentence with the most important competitor move and its evidence. Then a table: brand · change type (new / long-runner / gone / shift) · what · evidence · likely meaning. Then 2–5 actions for the client grouped High / Medium / Nice-to-have, each with the expected effect.

**Output rules:**
- Recommendations only — never apply changes; RoASr tools are read-only.
- Say "likely" for everything inferred from days_live or from an ad going missing.
- Never copy competitor wording or assets.
- Answer in the language of this prompt.