Ecom Ad Radar — Brand Watchlist & Creative Diff
Pricing
from $5.00 / 1,000 results
Ecom Ad Radar — Brand Watchlist & Creative Diff
Monitor competitor Meta ads over time: detect NEW / STOPPED / CHANGED creatives, winner longevity radar, and offer signals. For ecommerce agencies — not a one-shot Ad Library dump.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Ngoc Tram Tong
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Share
Ecom Ad Radar
Competitor Meta ads intelligence for ecommerce agencies — brand watchlist, creative change detection, winner longevity radar, and Slack alerts.
Not another one-shot Ad Library dump. This Actor remembers each brand between runs and tells you what changed.
Who it is for
- Ecommerce / DTC media buyers tracking competitor creatives
- Performance agencies delivering weekly competitor reports
- Growth teams who need NEW / STOPPED / CHANGED signals on a schedule — not raw JSON
What you get
Change detection (the product)
| Signal | Meaning |
|---|---|
new | Creative appeared since the last monitor run |
stopped | Was active last run, missing now (paused / killed) |
changed | Same Ad Library ID, fingerprint drifted (copy, CTA, offer…) |
isWinner | Still live + longevity + creative score thresholds |
Enrichment on every row
longevityDays,creativeScore,offerSignals- Cleaned DPA/DCO copy (no
{{product.brand}}when card text exists) - Platforms, CTA, start date, media URLs
- Stable creative
fingerprintfor diffing (v3 — ignores volatile CDN noise)
Agency outputs
| Key-value | Purpose |
|---|---|
OUTPUT_REPORT / OUTPUT_REPORT.md | One-pager: headline, winners, new / stopped / changed |
OUTPUT_SUMMARY | Per-brand counts + alert list |
ALERTS | Short human-readable digest |
Optional Slack / webhook URL → push NEW / STOPPED / CHANGED after each monitor run.
Dataset views: Overview, New & Changed, Winners, Stopped.
Quick start (Console)
- Open the Actor → Input
- Run mode =
monitor - Brand watchlist = competitor Facebook Page IDs
Demo only:559929417490965(Kylie Cosmetics) — replace with your competitors - Proxy = Apify RESIDENTIAL, country
US(required — Meta blocks datacenter IPs) - Optional: paste a Slack Incoming Webhook into Slack / webhook URL
- Run once → save as Task → Schedule daily (every 24h)
First scheduled run builds the baseline. Diff signals (
new/stopped/changed) appear from the second run onward.
Input reference
| Field | Default | Notes |
|---|---|---|
runMode | monitor | monitor = paid product (diff). scrape = one-shot dump |
watchlist | — | List of Page IDs (agency workflow) |
pageId | — | Optional single Page ID merged into watchlist |
keyword | — | Used only when watchlist/pageId are empty (e.g. skincare). No diff snapshots. |
country | US | Ad Library country |
activeStatus | active | Use active in monitor mode |
maxAds | 50 | Cap per brand |
winnerMinDays | 14 | Longevity threshold for isWinner |
winnerMinScore | 70 | Score threshold for isWinner |
snapshotStoreName | ecom-ad-radar-snap-v3 | Named KVS for history |
webhookUrl | — | Slack or any HTTPS webhook |
notifyOnlyOnChanges | true | Skip webhook when nothing changed |
proxyConfiguration | Residential US | Do not switch to datacenter |
Example output row
{"adArchiveId": "2066267197254358","pageName": "Kylie Cosmetics","changeType": "new","isWinner": false,"longevityDays": 3,"creativeScore": 78,"offerSignals": ["new_launch", "ugc_proof"],"ctaType": "SHOP_NOW","bodyText": "your NEW everyday essential - 100% say it instantly hydrates","linkUrl": "https://kyliecosmetics.com/...","fingerprint": "v3:..."}
How it works
- Playwright opens Meta Ad Library (handles verify / 403 HTML that still contains SSR data)
- Parses SSR + captures GraphQL while scrolling
- Enriches offers, score, platforms, start date; cleans DPA templates
- Monitor mode: load previous snapshot → fingerprint diff → write next snapshot
- Push ranked dataset + agency report + optional Slack alert
Pricing & usage
- Sold as pay-per-event / usage on Apify Store (compute + Residential proxy passed through to the user)
- Typical agency pattern: 1 saved task per client watchlist, scheduled daily
- Pair with Meta Ad Hook & Angle AI Extractor (Layer 2) to turn durable ads (
longevityDays ≥ 3) into creative briefs
Agency retainer fit
Use this Actor as the engine behind a Competitor Intelligence Retainer:
- 5 competitor brands monitored daily
- Weekly
OUTPUT_REPORT.mddelivered to the client - Slack alerts on creative launches and offer changes
Local development
npm installnpx playwright install chromiumnpm testapify runapify push
Notes
- Do not paste personal Facebook cookies into the Actor
- Diff quality improves after the second scheduled run
- Deep pagination depends on Meta UI + residential proxy quality
- Page ID demo brands are for Store screenshots only — always use the client's competitors in production