The short answer
Automated competitor ad monitoring means tracking a short list of signals (new ads, new variants, ads crossing 30 and 90 days, spend jumps) for a short list of brands, and getting one digest a week instead of checking the Ad Library by hand. One trap matters more than the tooling: on our board, 9 of 9 winning ads that send traffic to joinmidi.com run from creator pages, not the brand's own page, so page-only tracking would miss all of them.
What's worth tracking
Most competitor monitoring fails in one of two ways: too many brands, or the wrong signal. Counting how many ads a brand launched this week tells you little, because most new ads are tests that get switched off. The signals that matter are the ones that show a brand kept paying for something.
| Signal | Why it matters | Check |
|---|---|---|
| Ad crosses 30 days live | Survived the test window | Weekly |
| Ad crosses 90 days live | Now a scaled asset, not a test | Weekly |
| Ad gains variants | Brand is investing in it with new cuts or hooks | Weekly |
| Brand launches 5+ ads in a week | New product, offer or angle | Weekly |
| New landing page behind a winner | Funnel change worth a look | Monthly |
| Spend estimate jumps | Budget moved onto that ad | Weekly |
Everything else is noise for a weekly cadence. If you want the reasoning behind days live and variants as signals, see ad variants as a scaling signal and how long winning Facebook ads run.
How much actually changes
Our board on October 9, 2026 held 2,443 live Meta ads with $50k+ in estimated spend, from 749 brands. A snapshot gives a sense of the churn a monitor has to handle.
172
winning ads live fewer than 60 days
125
brands behind those new winners
52
brands with no winner older than 60 days
13%
of new winners already in the top tier
So in any given two-month window, a meaningful slice of the market is new: 52 brands appear on the board with nothing older than 60 days, which means either new advertisers or brands whose earlier ads didn't scale. Those are the ones a monitor should surface first, because nobody on your team is following them yet.
Spend is concentrated, which helps keep a follow list short:
| Brands (ranked by winning ads) | Share of all winning ads |
|---|---|
| Top 10 | 14% |
| Top 25 | 27% |
| Top 50 | 40% |
| Top 100 | 55% |
Most brands on the board (396 of 749) have exactly one winning ad. Following all of them is pointless. Follow the 10 to 25 that matter in your niche, and let a broader search catch newcomers.
The trap: brands that advertise through other people's pages
If you monitor a competitor by its Facebook page, you will miss a growing share of its ads. Many brands run partnership ads that appear under a creator's name.
Two examples from the board:
- The Farmer's Dog. 43 winning ads send traffic to thefarmersdog.com. 27 run from the brand's own page. The other 16 run from 11 different pages, mostly dog-owner creators.
- Midi Health. 9 winning ads send traffic to joinmidi.com. All 9 run from creator pages, 7 different ones. A page-only monitor would show this brand as running nothing.
Good morning.
- Est. spend
- $827K
- Days live
- 46
- Format
- Video, 64s
A top-tier ad 46 days in, running from a dog creator's page for The Farmer's Dog. If your monitor only follows the brand page, this one never shows up.
This you?
- Est. spend
- $672K
- Days live
- 55
- Format
- Video, 54s
- Variants
- 2
One of seven creator pages running Midi Health ads. A comedy skit about forgetfulness, with two variants already at 55 days.
The fix is to monitor by landing domain as well as by page. In Ad Radar, every ad record includes the landing domain; in a manual workflow, run a keyword search in the Ad Library for the brand and product names, which returns ads from every page that mentions them, not only the brand's own. More on that in Meta Ad Library search tips.
Three levels of automation
Level 1: a manual weekly check
The Meta Ad Library shows every active ad, free. A disciplined weekly routine is: open each followed page, filter to active, sort by start date, note anything that crossed 30 or 90 days. It works for five brands. Past ten, it eats an afternoon and people skip it. The Meta Ad Library guide covers the filters.
Level 2: a tool that follows and alerts
This is what monitoring tools are for. In Ad Radar you follow any brand by pasting its Meta Ad Library link, and the board does the rest: a Today briefing with what changed, winner alerts when a followed brand's ad reaches the top tier, and a per-brand hook breakdown so you see the pattern, not just the newest ad. The board only shows ads with $50k+ in estimated spend, which removes most tests before you see them. Details on the features page.
Level 3: an AI-written weekly digest
For a written report, connect Claude to the data and give it the rules. With the Ad Radar MCP server (claude mcp add --transport http ad-radar https://app.ad-radar.dev/api/mcp), the digest prompt looks like this:
Weekly competitor digest for [niche]. Brands: [list].
For each brand, use search_ads (sort by recent, then by days) and
report only:
1. Ads that crossed 30 or 90 days live since [last date].
2. Ads with 2+ variants, and any that gained variants.
3. Bursts: 5+ ads started within 7 days.
Then search_ads with niche "[niche]", sort recent, and list brands
not in my list whose ads are 30-60 days old with est. spend
over $150k: possible newcomers.
For each item: brand, opener verbatim, days live, variants, est.
spend, landing domain. Max 15 items. End with 2 test ideas, each
citing the ad that inspired it. Label all spend as estimated.
To run it every Monday without opening a chat, Claude Code's non-interactive mode works from any scheduler:
0 8 * * 1 claude -p "$(cat ~/digests/competitor-digest.txt)" > ~/digests/$(date +\%F).md
Keep the output, and next week paste the previous digest in so Claude can say what changed.
What a good digest looks like
A useful digest is short and leads with movement, not inventory. An example of the kind of item that should make the cut:
New Launch!
- Est. spend
- $7.3M
- Days live
- 59
- Format
- Image
- Variants
- 4
A hair perfume launch that hit the top tier inside 59 days, with four variants. Kitsch had 9 winning ads under 60 days old on the snapshot, the biggest burst on the board. That's a launch, and it belongs at the top of the digest.
A template for each item:
| Field | Example |
|---|---|
| What changed | Crossed 90 days, 3 new variants |
| Brand and page | Brand page, or creator page for brand |
| Opener | Verbatim first line |
| Numbers | Est. spend, days live, variants |
| Why we care | One sentence |
| Test idea | One sentence, or "none" |
Common mistakes
- Following 80 brands. You'll stop reading. Ten to 25 followed brands plus a niche-wide newcomer search covers most markets.
- Reporting launches as wins. A new ad is a test until it has run 30 days. Report it when it crosses the line.
- Ignoring creator pages. Track landing domains, not only brand pages.
- No action line. A digest that ends without a test idea is a newsletter. Every week should produce at least one brief. Our competitor ad research process shows how research turns into briefs.
Figures marked as estimated spend come from Ad Radar's model of engagement on public Meta Ad Library ads. They are estimates, labeled as such, and are best used to rank ads against each other.