Ad Spy
Monitors competitor advertising across platforms by searching Meta Ad Library, Google Ads Transparency Center, and LinkedIn Ad Library. Analyzes ad copy themes, offers, CTAs, landing pages, creative formats, and estimated spend patterns. Outputs a competitive ad intelligence report with actionable insights for your own campaigns.
Prerequisites
- WebSearch tool available for searching ad libraries and transparency centers
- Browser automation tool for navigating ad library interfaces
- Competitor names and/or domains to monitor
- Optional:
agency.config.json for industry context and competitor list
Capabilities Used
ad-creative-intel -- for deeper analysis of winning creative patterns
landing-page-auditor -- for evaluating competitor landing pages
Phase 0: Read Config
- Read
agency.config.json from the project root (if available).
- Extract
competitors[] for default competitor list.
- Extract
services[] for understanding which ad categories are relevant.
- Extract
icp.segments[] for audience overlap analysis.
- Check
tools.websearch and tools.browser availability.
- Accept parameters:
competitors -- (required) array of competitor names or domains
platforms -- (optional) meta | google | linkedin | all. Default: all
timeframe -- (optional) last_7_days | last_30_days | last_90_days | all_time. Default: last_30_days
focus -- (optional) copy | creative | offers | landing_pages | all. Default: all
industry -- (optional) industry vertical for broader competitive scan
Phase 1: Meta Ad Library Search
Search Meta Ad Library
For each competitor:
- WebSearch:
site:facebook.com/ads/library "{{competitor_name}}" -- find their ad library page
- WebSearch:
"{{competitor_name}}" meta ad library OR facebook ad library
- Navigate to Meta Ad Library (facebook.com/ads/library) via browser automation
- Search for the competitor page name
- Filter by: country, active ads, media type
Extract Ad Data
For each active ad found:
- Ad creative type (image, video, carousel)
- Primary text (full ad copy)
- Headline and description
- CTA button type
- Landing page URL
- Start date (how long has the ad been running -- longer = likely performing well)
- Multiple versions (A/B testing indicators)
- Platform placement (Facebook, Instagram, Messenger, Audience Network)
Pattern Analysis
- Copy themes: What messaging angles do they use most? (pain point, benefit, social proof, urgency)
- Offer patterns: What offers appear? (free trial, discount, lead magnet, demo)
- CTA patterns: Which CTAs dominate? (Learn More, Sign Up, Shop Now, Get Quote)
- Creative patterns: Image vs video ratio, UGC vs polished, text-heavy vs visual
- Longevity signals: Ads running > 30 days are likely profitable
Phase 2: Google Ads Transparency Center
Search Google Ads Transparency
For each competitor:
- WebSearch:
site:adstransparency.google.com "{{competitor_name}}" OR "{{competitor_domain}}"
- WebSearch:
"{{competitor_name}}" google ads transparency
- Navigate to adstransparency.google.com via browser automation
- Search by advertiser name or domain
Extract Ad Data
For each ad found:
- Ad format (text ad, display ad, video ad, shopping ad)
- Ad copy (headlines, descriptions)
- Display URL and destination URL
- Geographic targeting (where ads are shown)
- Date range of activity
- Ad variations
Search Ads Analysis
- Keyword themes: What search terms are they bidding on? (inferred from ad copy)
- Value propositions: What do they lead with?
- Competitive positioning: How do they differentiate?
- Landing page alignment: Does the ad match the landing page?
- Extension usage: Sitelinks, callouts, structured snippets visible
Phase 3: LinkedIn Ad Intelligence
Search LinkedIn Ads
For each competitor:
- WebSearch:
"{{competitor_name}}" linkedin ads -- find references to their LinkedIn advertising
- Visit the competitor's LinkedIn company page
- Check the "Ads" tab on their company page (if available)
- WebSearch:
site:linkedin.com "{{competitor_name}}" sponsored
Extract Ad Data
For each ad found:
- Ad format (single image, carousel, video, document, conversation ad, text ad)
- Ad copy (intro text, headline, description)
- CTA type
- Content topic and angle
- Targeting signals (inferred from content -- who is this ad speaking to?)
LinkedIn-Specific Analysis
- Content marketing vs direct response: Are they promoting thought leadership or driving leads?
- ABM signals: Are they running account-specific campaigns?
- Retargeting indicators: Are they showing ads to page followers and website visitors?
- Sponsored content vs message ads: Which formats are they using?
Phase 4: Landing Page Analysis
For Each Unique Landing Page Found
- Visit the landing page via browser automation
- Analyze:
- Page type (homepage, service page, dedicated landing page, lead gen form)
- Above-fold content (headline, subheadline, CTA, hero image/video)
- Message match with the ad (does the landing page deliver on the ad's promise?)
- Social proof elements (testimonials, logos, case studies, reviews)
- Form length and friction (number of fields, multi-step?)
- Page load speed (subjective assessment)
- Mobile optimization
- Trust signals (security badges, guarantees, certifications)
Landing Page Patterns
- Which landing page types perform best (inferred from ad longevity)?
- Common conversion elements across top competitors
- Gaps in competitor landing pages (what they're missing)
Phase 5: Spend and Performance Estimation
Activity Volume
- Count total active ads per competitor per platform
- Track ad variations (more variations = more testing = more budget)
- Note geographic spread (more countries = larger budget)
Spend Indicators
- High spend signals: Many active ads, long-running campaigns, multiple creatives, broad geographic targeting
- Low spend signals: Few ads, short campaigns, single creative, narrow targeting
- Testing signals: Many variations launched recently, short-lived ads, frequent creative changes
Competitive Positioning Map
Rank competitors by estimated ad activity:
- Heavy advertiser (50+ active ads, multi-platform, multi-country)
- Moderate advertiser (10-50 active ads, 1-2 platforms)
- Light advertiser (< 10 active ads, single platform)
- Inactive (no ads found)
Phase 6: Strategic Insights
Opportunity Gaps
- Platforms where competitors are absent (opportunity to be first)
- Ad formats competitors aren't using (video, carousel, UGC)
- Messaging angles nobody is covering
- Audience segments being ignored
- Landing page weaknesses you can exploit
Threats
- Competitor ads directly targeting your brand name
- Competitors outspending in your core keywords
- Competitor offers that undercut your pricing
- Creative quality that outclasses yours
Recommendations
For each finding, provide an actionable recommendation:
- Specific ad to counter or learn from
- Creative angle to adopt or improve upon
- Landing page element to implement
- Budget allocation adjustment needed
Phase 7: Output
Return structured JSON:
{
"analyzed_at": "2024-01-15T14:30:00Z",
"competitors_analyzed": ["competitor1.com", "competitor2.com"],
"platforms_searched": ["Meta", "Google", "LinkedIn"],
"timeframe": "last_30_days",
"competitor_profiles": [
{
"competitor": "competitor1.com",
"estimated_activity_level": "Heavy advertiser",
"platforms_active": ["Meta", "Google"],
"total_active_ads": 47,
"meta_ads": {
"active_count": 32,
"formats": { "image": 18, "video": 10, "carousel": 4 },
"longest_running_ad": {
"days_active": 67,
"primary_text": "Struggling with Shopify conversions?...",
"headline": "Free Store Audit",
"cta": "Sign Up",
"landing_page": "https://competitor1.com/free-audit",
"takeaway": "Pain point + free offer combo running 67 days -- likely profitable"
},
"top_messaging_themes": ["Pain point: low conversions", "Social proof: client numbers", "Offer: free audit"],
"top_ctas": ["Sign Up", "Learn More"],
"creative_style": "Mix of polished brand images and UGC testimonial videos"
},
"google_ads": {
"active_count": 15,
"ad_types": { "search": 12, "display": 3 },
"keyword_themes_inferred": ["shopify agency", "ecommerce development", "CRO services"],
"top_headlines": ["Expert Shopify Development", "Boost Your Conversions by 40%"],
"geographic_targeting": ["India", "US"]
},
"linkedin_ads": null,
"landing_pages": [
{
"url": "https://competitor1.com/free-audit",
"type": "Lead gen landing page",
"message_match": "Strong -- headline matches ad promise",
"form_fields": 4,
"social_proof": "3 client logos, 1 testimonial",
"strengths": ["Clear headline", "Short form", "Strong social proof"],
"weaknesses": ["No video", "No specific case study numbers", "Generic design"]
}
]
}
],
"cross_competitor_insights": {
"most_common_messaging": "Pain point: low conversions + offer: free audit",
"most_common_format": "Single image on Meta, text ads on Google",
"underused_formats": ["Video on Google", "Carousel on LinkedIn", "UGC style"],
"underserved_platforms": ["LinkedIn -- only 1 of 3 competitors active"],
"pricing_signals": ["Competitor1 offers free audit, Competitor2 leads with pricing"]
},
"opportunity_gaps": [
"No competitor is running LinkedIn ads -- first-mover advantage",
"No competitor is using video testimonials -- UGC opportunity",
"All competitors use generic stock imagery -- custom visuals would stand out"
],
"threats": [
"Competitor1 has been running the same ad for 67 days -- their free audit funnel is working",
"Competitor2 is bidding on brand keywords in Google Search"
],
"recommended_actions": [
"Launch LinkedIn ads targeting D2C founders -- no competitor presence",
"Create UGC video testimonials to differentiate from stock-image competitors",
"Counter Competitor1's free audit with a more specific offer (e.g., 'Free CRO Scorecard')",
"Set up brand defense campaign on Google to protect brand keywords"
]
}
Phase 8: Review Gate
Present findings to the user. The user may:
- Request deeper analysis on a specific competitor
- Ask for screenshots of competitor ads
- Request landing page teardowns
- Ask for specific counter-strategies
Example Usage
Trigger phrases:
- "Spy on [competitor]'s ads"
- "What ads are [competitor] running?"
- "Competitor ad analysis for [industry]"
- "Monitor [competitor] ad campaigns"
- "Ad intelligence report on [competitor list]"
User: What ads are competitor1.com running?
Assistant: [searches Meta Ad Library, Google Ads Transparency, LinkedIn, analyzes all active ads, returns intelligence report with insights]
User: Competitor ad spy for Shopify agencies in India
Assistant: [identifies top Shopify agencies, searches their ads across platforms, compares strategies, returns competitive landscape report]
User: Spy on competitor1.com and competitor2.com -- focus on Meta ads
Assistant: [deep dive into Meta Ad Library for both, analyzes copy, creative, offers, landing pages, returns head-to-head comparison]
1---2name: ad-spy3description: Monitor competitor ads across Meta, Google, and LinkedIn with strategic analysis4---56# Ad Spy78Monitors competitor advertising across platforms by searching Meta Ad Library, Google Ads Transparency Center, and LinkedIn Ad Library. Analyzes ad copy themes, offers, CTAs, landing pages, creative formats, and estimated spend patterns. Outputs a competitive ad intelligence report with actionable insights for your own campaigns.910## Prerequisites1112- WebSearch tool available for searching ad libraries and transparency centers13- Browser automation tool for navigating ad library interfaces14- Competitor names and/or domains to monitor15- Optional: `agency.config.json` for industry context and competitor list1617## Capabilities Used18191. `ad-creative-intel` -- for deeper analysis of winning creative patterns202. `landing-page-auditor` -- for evaluating competitor landing pages2122## Phase 0: Read Config23241. Read `agency.config.json` from the project root (if available).252. Extract `competitors[]` for default competitor list.263. Extract `services[]` for understanding which ad categories are relevant.274. Extract `icp.segments[]` for audience overlap analysis.285. Check `tools.websearch` and `tools.browser` availability.296. Accept parameters:30 - `competitors` -- (required) array of competitor names or domains31 - `platforms` -- (optional) `meta` | `google` | `linkedin` | `all`. Default: `all`32 - `timeframe` -- (optional) `last_7_days` | `last_30_days` | `last_90_days` | `all_time`. Default: `last_30_days`33 - `focus` -- (optional) `copy` | `creative` | `offers` | `landing_pages` | `all`. Default: `all`34 - `industry` -- (optional) industry vertical for broader competitive scan3536## Phase 1: Meta Ad Library Search3738### Search Meta Ad Library39For each competitor:40- WebSearch: `site:facebook.com/ads/library "{{competitor_name}}"` -- find their ad library page41- WebSearch: `"{{competitor_name}}" meta ad library OR facebook ad library`42- Navigate to Meta Ad Library (facebook.com/ads/library) via browser automation43- Search for the competitor page name44- Filter by: country, active ads, media type4546### Extract Ad Data47For each active ad found:48- Ad creative type (image, video, carousel)49- Primary text (full ad copy)50- Headline and description51- CTA button type52- Landing page URL53- Start date (how long has the ad been running -- longer = likely performing well)54- Multiple versions (A/B testing indicators)55- Platform placement (Facebook, Instagram, Messenger, Audience Network)5657### Pattern Analysis58- **Copy themes**: What messaging angles do they use most? (pain point, benefit, social proof, urgency)59- **Offer patterns**: What offers appear? (free trial, discount, lead magnet, demo)60- **CTA patterns**: Which CTAs dominate? (Learn More, Sign Up, Shop Now, Get Quote)61- **Creative patterns**: Image vs video ratio, UGC vs polished, text-heavy vs visual62- **Longevity signals**: Ads running > 30 days are likely profitable6364## Phase 2: Google Ads Transparency Center6566### Search Google Ads Transparency67For each competitor:68- WebSearch: `site:adstransparency.google.com "{{competitor_name}}"` OR `"{{competitor_domain}}"`69- WebSearch: `"{{competitor_name}}" google ads transparency`70- Navigate to adstransparency.google.com via browser automation71- Search by advertiser name or domain7273### Extract Ad Data74For each ad found:75- Ad format (text ad, display ad, video ad, shopping ad)76- Ad copy (headlines, descriptions)77- Display URL and destination URL78- Geographic targeting (where ads are shown)79- Date range of activity80- Ad variations8182### Search Ads Analysis83- **Keyword themes**: What search terms are they bidding on? (inferred from ad copy)84- **Value propositions**: What do they lead with?85- **Competitive positioning**: How do they differentiate?86- **Landing page alignment**: Does the ad match the landing page?87- **Extension usage**: Sitelinks, callouts, structured snippets visible8889## Phase 3: LinkedIn Ad Intelligence9091### Search LinkedIn Ads92For each competitor:93- WebSearch: `"{{competitor_name}}" linkedin ads` -- find references to their LinkedIn advertising94- Visit the competitor's LinkedIn company page95- Check the "Ads" tab on their company page (if available)96- WebSearch: `site:linkedin.com "{{competitor_name}}" sponsored`9798### Extract Ad Data99For each ad found:100- Ad format (single image, carousel, video, document, conversation ad, text ad)101- Ad copy (intro text, headline, description)102- CTA type103- Content topic and angle104- Targeting signals (inferred from content -- who is this ad speaking to?)105106### LinkedIn-Specific Analysis107- **Content marketing vs direct response**: Are they promoting thought leadership or driving leads?108- **ABM signals**: Are they running account-specific campaigns?109- **Retargeting indicators**: Are they showing ads to page followers and website visitors?110- **Sponsored content vs message ads**: Which formats are they using?111112## Phase 4: Landing Page Analysis113114### For Each Unique Landing Page Found115- Visit the landing page via browser automation116- Analyze:117 - Page type (homepage, service page, dedicated landing page, lead gen form)118 - Above-fold content (headline, subheadline, CTA, hero image/video)119 - Message match with the ad (does the landing page deliver on the ad's promise?)120 - Social proof elements (testimonials, logos, case studies, reviews)121 - Form length and friction (number of fields, multi-step?)122 - Page load speed (subjective assessment)123 - Mobile optimization124 - Trust signals (security badges, guarantees, certifications)125126### Landing Page Patterns127- Which landing page types perform best (inferred from ad longevity)?128- Common conversion elements across top competitors129- Gaps in competitor landing pages (what they're missing)130131## Phase 5: Spend and Performance Estimation132133### Activity Volume134- Count total active ads per competitor per platform135- Track ad variations (more variations = more testing = more budget)136- Note geographic spread (more countries = larger budget)137138### Spend Indicators139- **High spend signals**: Many active ads, long-running campaigns, multiple creatives, broad geographic targeting140- **Low spend signals**: Few ads, short campaigns, single creative, narrow targeting141- **Testing signals**: Many variations launched recently, short-lived ads, frequent creative changes142143### Competitive Positioning Map144Rank competitors by estimated ad activity:145- Heavy advertiser (50+ active ads, multi-platform, multi-country)146- Moderate advertiser (10-50 active ads, 1-2 platforms)147- Light advertiser (< 10 active ads, single platform)148- Inactive (no ads found)149150## Phase 6: Strategic Insights151152### Opportunity Gaps153- Platforms where competitors are absent (opportunity to be first)154- Ad formats competitors aren't using (video, carousel, UGC)155- Messaging angles nobody is covering156- Audience segments being ignored157- Landing page weaknesses you can exploit158159### Threats160- Competitor ads directly targeting your brand name161- Competitors outspending in your core keywords162- Competitor offers that undercut your pricing163- Creative quality that outclasses yours164165### Recommendations166For each finding, provide an actionable recommendation:167- Specific ad to counter or learn from168- Creative angle to adopt or improve upon169- Landing page element to implement170- Budget allocation adjustment needed171172## Phase 7: Output173174Return structured JSON:175176```json177{178 "analyzed_at": "2024-01-15T14:30:00Z",179 "competitors_analyzed": ["competitor1.com", "competitor2.com"],180 "platforms_searched": ["Meta", "Google", "LinkedIn"],181 "timeframe": "last_30_days",182 "competitor_profiles": [183 {184 "competitor": "competitor1.com",185 "estimated_activity_level": "Heavy advertiser",186 "platforms_active": ["Meta", "Google"],187 "total_active_ads": 47,188 "meta_ads": {189 "active_count": 32,190 "formats": { "image": 18, "video": 10, "carousel": 4 },191 "longest_running_ad": {192 "days_active": 67,193 "primary_text": "Struggling with Shopify conversions?...",194 "headline": "Free Store Audit",195 "cta": "Sign Up",196 "landing_page": "https://competitor1.com/free-audit",197 "takeaway": "Pain point + free offer combo running 67 days -- likely profitable"198 },199 "top_messaging_themes": ["Pain point: low conversions", "Social proof: client numbers", "Offer: free audit"],200 "top_ctas": ["Sign Up", "Learn More"],201 "creative_style": "Mix of polished brand images and UGC testimonial videos"202 },203 "google_ads": {204 "active_count": 15,205 "ad_types": { "search": 12, "display": 3 },206 "keyword_themes_inferred": ["shopify agency", "ecommerce development", "CRO services"],207 "top_headlines": ["Expert Shopify Development", "Boost Your Conversions by 40%"],208 "geographic_targeting": ["India", "US"]209 },210 "linkedin_ads": null,211 "landing_pages": [212 {213 "url": "https://competitor1.com/free-audit",214 "type": "Lead gen landing page",215 "message_match": "Strong -- headline matches ad promise",216 "form_fields": 4,217 "social_proof": "3 client logos, 1 testimonial",218 "strengths": ["Clear headline", "Short form", "Strong social proof"],219 "weaknesses": ["No video", "No specific case study numbers", "Generic design"]220 }221 ]222 }223 ],224 "cross_competitor_insights": {225 "most_common_messaging": "Pain point: low conversions + offer: free audit",226 "most_common_format": "Single image on Meta, text ads on Google",227 "underused_formats": ["Video on Google", "Carousel on LinkedIn", "UGC style"],228 "underserved_platforms": ["LinkedIn -- only 1 of 3 competitors active"],229 "pricing_signals": ["Competitor1 offers free audit, Competitor2 leads with pricing"]230 },231 "opportunity_gaps": [232 "No competitor is running LinkedIn ads -- first-mover advantage",233 "No competitor is using video testimonials -- UGC opportunity",234 "All competitors use generic stock imagery -- custom visuals would stand out"235 ],236 "threats": [237 "Competitor1 has been running the same ad for 67 days -- their free audit funnel is working",238 "Competitor2 is bidding on brand keywords in Google Search"239 ],240 "recommended_actions": [241 "Launch LinkedIn ads targeting D2C founders -- no competitor presence",242 "Create UGC video testimonials to differentiate from stock-image competitors",243 "Counter Competitor1's free audit with a more specific offer (e.g., 'Free CRO Scorecard')",244 "Set up brand defense campaign on Google to protect brand keywords"245 ]246}247```248249## Phase 8: Review Gate250251Present findings to the user. The user may:252- Request deeper analysis on a specific competitor253- Ask for screenshots of competitor ads254- Request landing page teardowns255- Ask for specific counter-strategies256257## Example Usage258259Trigger phrases:260- "Spy on [competitor]'s ads"261- "What ads are [competitor] running?"262- "Competitor ad analysis for [industry]"263- "Monitor [competitor] ad campaigns"264- "Ad intelligence report on [competitor list]"265266```267User: What ads are competitor1.com running?268Assistant: [searches Meta Ad Library, Google Ads Transparency, LinkedIn, analyzes all active ads, returns intelligence report with insights]269```270271```272User: Competitor ad spy for Shopify agencies in India273Assistant: [identifies top Shopify agencies, searches their ads across platforms, compares strategies, returns competitive landscape report]274```275276```277User: Spy on competitor1.com and competitor2.com -- focus on Meta ads278Assistant: [deep dive into Meta Ad Library for both, analyzes copy, creative, offers, landing pages, returns head-to-head comparison]279```