Install
openclaw skills install ad-intelligence-skillCompetitive ad intelligence skill for fetching, analyzing, and reporting on competitor ads across Meta (Facebook/Instagram), Google Ads Transparency Center,...
openclaw skills install ad-intelligence-skillA two-phase competitive ad intelligence skill for marketing companies and ecommerce owners to research how competitors run ads across Meta, Google, and LinkedIn.
| Field | Meta (FB/IG) | Google Transparency | |
|---|---|---|---|
| Ad copy / headline | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Creative (image/video URL) | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Ad format type | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Date first/last shown | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Platform / placements | ✅ Both phases | ✅ (Google Search, YT, Display, etc.) | ✅ Both phases |
| Active / inactive status | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| CTA button | ✅ Phase 1 scrape | ❌ | ✅ Both phases |
| Destination / landing URL | ✅ Both phases | ✅ Both phases | ✅ Both phases |
| Total ads running | ✅ Phase 2 | ✅ Phase 2 | ✅ Phase 2 |
| Impression range | ✅ Phase 2 (EU/political only) | ❌ | ✅ Phase 2 (some scrapers) |
| Spend range | ✅ Phase 2 (EU/political only) | ❌ | ❌ |
| Demographic breakdown | ✅ Phase 2 (EU only) | ❌ | ❌ |
| Targeting info | ❌ | ❌ | ✅ Phase 2 (partial — language, location) |
| Advertiser ID | ✅ Phase 2 | ✅ Phase 2 | ✅ Phase 2 |
⚠️ No platform exposes: exact spend, CTR, conversion rates, ROAS, or detailed audience targeting.
Gather from the user (ask if not provided):
If the user hasn't said which phase they want, ask. If they're just exploring, start with Phase 1.
Read the platform reference files for code, endpoints, and examples:
references/meta.mdreferences/google.mdreferences/linkedin.mdEach reference contains:
Always deliver both:
## Ad Intelligence Report: [Company Name]
**Platforms Searched:** Meta, Google, LinkedIn
**Date:** [today]
**Phase:** 1 (Scrape) / 2 (API)
**Country:** [region]
### 📊 Overview
- Total ads found: X
- Active ads: X | Inactive: X
- Formats: X% image, X% video, X% carousel
### 🎯 Platform Breakdown
[Per platform: count, date range, notable trends]
### ✍️ Creative Themes & Messaging Patterns
[Summarize recurring hooks, CTAs, offers, tone]
### 📅 Recency & Cadence
[How often they post new ads, seasonal patterns]
### ⚠️ Data Limitations
[Note what wasn't available and why]
Return normalized JSON with this schema for each ad:
{
"platform": "meta|google|linkedin",
"ad_id": "string",
"advertiser_name": "string",
"advertiser_page_url": "string",
"status": "active|inactive",
"format": "image|video|carousel|text|document",
"headline": "string|null",
"body_text": "string|null",
"cta_text": "string|null",
"destination_url": "string|null",
"creative_url": "string|null",
"platforms_served": ["facebook", "instagram", "messenger"],
"date_first_shown": "YYYY-MM-DD|null",
"date_last_shown": "YYYY-MM-DD|null",
"country": "string|null",
"spend_range": "string|null",
"impression_range": "string|null",
"targeting_summary": "string|null",
"source_phase": 1
}
After presenting results, always suggest:
| Situation | Recommended Phase |
|---|---|
| Quick competitive overview | Phase 1 |
| No API keys available | Phase 1 |
| Need date-range filtering | Phase 2 |
| EU market + want spend/impressions | Phase 2 (official Meta API) |
| Need 500+ ads at scale | Phase 2 (paid third-party API) |
| B2B competitor research on LinkedIn | Phase 2 |
| Need creative image/video downloads | Phase 2 |
references/meta.md — Meta (Facebook/Instagram) scraping + API codereferences/google.md — Google Ads Transparency scraping + SerpAPI/SearchAPIreferences/linkedin.md — LinkedIn Ad Library scraping + third-party APIs