Master Competitive Ads Extractor
Battle-tested skill for extracts, analyzes, competitors, libraries. Includes structured workflows, validation checks, and reusable patterns for business marketing.
Master Competitive Ads Extractor
Extract, analyze, and learn from competitor advertising across major platforms — covering ad creative analysis, messaging patterns, targeting strategies, and actionable competitive intelligence.
When to Use
Run competitive ad analysis when:
- Planning a new advertising campaign and need inspiration
- Want to understand competitor positioning and messaging
- Need to identify market gaps in advertising approach
- Evaluating your ad creative performance vs competitors
Skip competitive analysis when:
- You're in a market with no direct competitors
- Quick tactical ad creation (use your existing playbook)
- Competitor ads are irrelevant to your audience segment
Quick Start
Extract from Meta Ad Library
import requests from datetime import datetime, timedelta def extract_meta_ads(page_id, access_token): """Extract ads from Meta Ad Library API.""" url = "https://graph.facebook.com/v18.0/ads_archive" params = { "access_token": access_token, "search_page_ids": page_id, "ad_reached_countries": "US", "fields": "ad_creative_bodies,ad_creative_link_titles,ad_creative_link_descriptions,ad_delivery_start_time,ad_delivery_stop_time,impressions,spend", "limit": 100, } response = requests.get(url, params=params) return response.json()["data"] # Analyze extracted ads def analyze_ads(ads): patterns = { "hooks": [], # Opening lines "ctas": [], # Call-to-action phrases "pain_points": [],# Problems highlighted "social_proof": [],# Testimonials, numbers "offers": [], # Discounts, free trials } for ad in ads: body = ad.get("ad_creative_bodies", [""])[0] # Classify ad components first_line = body.split("\n")[0] if body else "" patterns["hooks"].append(first_line) return patterns
Analysis Template
## Competitive Ad Analysis: {Competitor Name} ### Volume & Spend - Active ads: {count} - Estimated monthly spend: ${amount} - Platforms: {Facebook, Instagram, Google, LinkedIn} - Average ad lifespan: {days} ### Creative Patterns | Pattern | Frequency | Performance Signal | |---------|-----------|-------------------| | Video testimonial | 40% | Long-running = high performer | | Before/after | 25% | Common in retargeting | | Product demo | 20% | Top of funnel | | UGC style | 15% | Engagement-focused | ### Messaging Analysis | Element | Most Common | Our Opportunity | |---------|-------------|----------------| | Hook | "{competitor_hook}" | {our_differentiation} | | Pain point | "{their_pain_point}" | {untapped_pain_point} | | CTA | "{their_cta}" | {stronger_cta} | | Offer | "{their_offer}" | {better_offer} |
Core Concepts
Ad Library Sources
| Platform | Library URL | Data Available |
|---|---|---|
| Meta (FB/IG) | facebook.com/ads/library | Creatives, spend ranges, dates |
| adstransparency.google.com | Search, display, video ads | |
| TikTok | library.tiktok.com | Video ads, targeting |
| linkedin.com/ad-library | Sponsored content | |
| Twitter/X | ads.twitter.com | Promoted tweets |
Analysis Framework
1. EXTRACT → Pull ads from ad libraries
2. CATEGORIZE → Group by creative type, funnel stage, message
3. IDENTIFY PATTERNS → What themes appear repeatedly?
4. FIND GAPS → What are they NOT saying?
5. TEST → Apply insights to your own campaigns
Performance Signals
| Signal | Meaning |
|---|---|
| Ad running 30+ days | Likely profitable, don't turn off winners |
| Multiple variations | Active testing phase |
| High engagement | Resonating creative concept |
| Multiple platforms | Scaled, proven concept |
| Seasonal restart | Proven seasonal performer |
Configuration
| Parameter | Description |
|---|---|
competitors | List of competitor page IDs or names |
platforms | Which ad libraries to search |
date_range | Analysis time period |
countries | Target market filter |
categories | Ad category filter |
export_format | CSV, JSON, or markdown |
Best Practices
- Track competitors monthly — ad strategies evolve; check regularly
- Focus on long-running ads — ads that run for 30+ days are likely profitable
- Look for patterns, not individual ads — trends across many ads reveal strategy
- Identify what competitors DON'T say — gaps in messaging are opportunities
- Test inspired variations, don't copy — adapt insights to your brand voice
- Track your ads vs competitors — measure whether competitive insights improve your performance
Common Issues
Can't find competitor ads: Some advertisers run under different page names. Check parent company pages. Use multiple ad libraries (Meta, Google, TikTok) for broader coverage.
Competitor analysis doesn't improve our ads: Focus on actionable insights, not just data collection. Test one competitive insight per campaign. Measure before and after applying insights.
Information overload from too many competitors: Track 3-5 direct competitors maximum. Focus on the most relevant platform for your audience. Create a monthly digest rather than continuous monitoring.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Full-Stack Code Reviewer
Comprehensive code review skill that checks for security vulnerabilities, performance issues, accessibility, and best practices across frontend and backend code.
Test Suite Generator
Generates comprehensive test suites with unit tests, integration tests, and edge cases. Supports Jest, Vitest, Pytest, and Go testing.
Pro Architecture Workspace
Battle-tested skill for architectural, decision, making, framework. Includes structured workflows, validation checks, and reusable patterns for development.