Competitor ad intelligence

Scrape competitor ads from Meta, TikTok, Google, and LinkedIn ad libraries, analyze creative patterns (hooks, formats, CTAs), reverse-engineer landing page funnels, and produce a strategic teardown with vulnerability analysis and counter-play recommendations.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/ads/composites/competitor-ad-intelligence#main ~/.claude/skills/competitor-ad-intelligence

For one project only, change the path to .claude/skills/competitor-ad-intelligence.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text420 lines
competitor-ad-intelligence/SKILL.md420 lines14.8 KBpushed 38d agoRawView on GitHub

Competitor Ad Intelligence

Scrape competitor ads from Meta, TikTok, Google, and LinkedIn, analyze creative patterns, reverse-engineer landing page funnels, and produce a full strategic teardown — hooks, formats, positioning bets, vulnerabilities, and counter-plays.

Core principle: A competitor's ad portfolio is evidence about its growth strategy, not access to its results. Long-running ads suggest sustained use. New ads suggest active testing. Landing pages reveal positioning bets. Use these signals to form differentiated tests without claiming conversion, spend, or causality the libraries do not expose.

When to Use

  • "What ads are my competitors running?"
  • "Tear down [competitor]'s ad strategy"
  • "Find new creative angles for our paid campaigns"
  • "Reverse-engineer [competitor]'s paid funnel"
  • "What hooks are working in [our space]?"
  • "Audit the ad landscape before we launch"
  • "Find weaknesses in [competitor]'s ad strategy"
  • "What format — video, image, carousel — is dominant in our category?"

Phase 0: Intake

Gather from the user:

  1. Competitor names + domains (e.g., apollo.io, clay.run)
  2. Your product/domain — for comparison framing
  3. Channels: Meta, TikTok, Google, LinkedIn, or all relevant libraries? (default: all channels relevant to the brand and market)
  4. Depth level:
    • Standard: Ad scrape + creative analysis + landing page analysis
    • Deep: Standard + historical comparison + funnel reconstruction + counter-plays
  5. Product category — helps frame analysis
  6. Known competitor landing pages? — any URLs already spotted in their ads

Phase 1: Scrape Meta Ads

For each competitor domain, scrape ads from Meta Ad Library.

Use scrapecreators-api as the primary collection path. Resolve the advertiser first, then fetch its ads and individual ad details:

- provider: scrapecreators
  method: GET
  path: /v1/facebook/adLibrary/search/companies
  query:
    query: "[competitor_name]"
- provider: scrapecreators
  method: GET
  path: /v1/facebook/adLibrary/company/ads
  query:
    companyName: "[competitor_name]"
- provider: scrapecreators
  method: GET
  path: /v1/facebook/adLibrary/ad
  query:
    id: "[ad_id]"

If the structured endpoint cannot resolve an advertiser, verify the name in the public Meta Ad Library and use web search as a documented fallback. Keep the library URL and ad ID with every result.

Collect per ad:

  • Ad copy (headline + primary text)
  • Visual type (image / video / carousel)
  • CTA button text
  • Landing page URL
  • Active duration (first seen, still running or stopped)
  • Platforms (Facebook, Instagram, Audience Network)
  • Ad variations (A/B tests — same landing page, different creative)
  • Video transcript when available; use transcript-intelligence to extract hooks, claims, proof, objections, and CTA structure

Phase 2: Scrape TikTok Ads

For each competitor or category, use scrapecreators-api to resolve the current TikTok Ad Library search and ad-detail operations from the official provider reference.

Collect the advertiser, ad ID, caption or script, format, landing page, first-seen date, market, and available performance or reach indicators. Keep organic TikTok posts separate from paid-library ads.

Use transcript-intelligence when the ad includes spoken content. Analyze TikTok-native mechanics such as creator-led openings, product demonstrations, comment-style hooks, native captions, sounds, offer timing, and the first visible payoff.

Phase 3: Scrape Google Ads

For each competitor domain, scrape ads from Google Ads Transparency Center.

Use the structured advertiser endpoints first:

- provider: scrapecreators
  method: GET
  path: /v1/google/company/ads
  query:
    domain: "[competitor_domain]"
    get_ad_details: true
- provider: scrapecreators
  method: GET
  path: /v1/google/ad
  query:
    id: "[ad_id]"

Use the public Google Ads Transparency Center or web search only when the structured endpoint is incomplete. Mark fallback records so coverage limits remain visible.

Collect per ad:

  • Headline variants (up to 3)
  • Description lines
  • Ad type (Search / Display / YouTube / Shopping)
  • Landing page URL
  • Geographic targeting (if visible)

Phase 4: Scrape LinkedIn Ads

For each relevant competitor, use scrapecreators-api to resolve the current LinkedIn Ad Library search and ad-detail operations from the official provider reference.

Collect the advertiser, ad copy, creative format, CTA, landing page, dates, and visible targeting or company context. Keep organic company posts separate from paid-library ads.

LinkedIn is optional for consumer brands. Include it when the competitor sells high-consideration products, wholesale or retail partnerships, franchises, professional education, recruiting, or another business-facing offer.

Phase 5: Analyze Creative Patterns

After collecting all ads, perform structured analysis.

Hook Pattern Clustering

Group all ad headlines/openers by hook type:

Hook Type Pattern Example
Fear/Loss Risk of missing out or falling behind "Your competitors are already using AI SDRs"
Outcome Direct result promise "10x your pipeline in 30 days"
Question Challenges current assumption "Still doing outbound manually?"
Social proof Names customers or numbers "Join 500+ B2B teams using [product]"
Contrarian Challenges conventional wisdom "Cold email isn't dead. Your copy is."
Empathy Validates their pain "We know SDR ramp time is brutal"
Product-led Feature as hook "[Feature] is live — see what's new"

Count how many ads per competitor use each hook type. This reveals their primary messaging strategy.

Format Distribution

Format Meta TikTok Google LinkedIn
Static image [N] [N] [N] [N]
Video [N] [N] [N] [N]
Carousel [N] [N] N/A [N]
Search text N/A N/A [N] N/A
Display banner N/A N/A [N] [N]

CTA Taxonomy

List all unique CTAs found. Common patterns:

  • Urgency: "Start free", "Try now", "Get started today"
  • Low-friction: "See how it works", "Watch demo", "Learn more"
  • Outcome: "Book a demo", "Get your free audit", "Calculate your ROI"

Phase 6: Landing Page & Funnel Analysis

For each unique landing page URL found in ads, fetch and analyze:

fetch_webpage: [landing_page_url]

Or use curl if fetch_webpage is unavailable.

Extract per landing page:

  • Hero headline — Does it match the ad promise?
  • Subheadline — Value prop expansion
  • Primary CTA — What action are they driving? (Demo / Free trial / Sign up / Download)
  • Social proof — Logos, testimonials, case study metrics
  • Pricing visibility — Is pricing shown or hidden?
  • Form fields — How much info do they ask for?
  • Page type — General homepage / dedicated LP / feature page / use-case page
  • Message match score — How well does the LP deliver on the ad's promise? (1-10)

Campaign Clustering

Group all ads into logical campaigns by:

  • Landing page destination — Ads pointing to the same URL = same campaign
  • Messaging theme — Similar copy angles = same strategic bet
  • Audience signal — Different copy for different personas

Per-Campaign Funnel Analysis

For each campaign cluster:

Dimension Analysis
Strategic intent What is this campaign trying to achieve? (Awareness / Lead gen / Free trial / Competitive displacement)
Target persona Who is this ad speaking to? (Role, pain, stage)
Positioning bet What market position are they claiming?
Hook strategy Fear / Outcome / Social proof / Contrarian / Product-led
Conversion path Ad → LP → CTA → [Demo call / Free trial / Content download]
Longevity signal How long has this been running? Treat duration as sustained use, not proof of performance.
A/B tests detected Multiple creatives to same LP = active testing

Portfolio Emphasis

Use ad volume and platform distribution to describe where the visible portfolio is concentrated:

Platform Ad Count % of Visible Portfolio Likely Objective
Meta (Facebook) [N] [X%] [Awareness / Retargeting]
Meta (Instagram) [N] [X%] [Visual / younger audience]
TikTok [N] [X%] [Creator-led discovery / conversion]
Google Search [N] [X%] [Bottom-funnel capture]
Google Display [N] [X%] [Awareness / retargeting]
YouTube [N] [X%] [Education / awareness]
LinkedIn [N] [X%] [Professional / partnership / high-consideration]

Treat ad count as portfolio emphasis, not spend. Never label this table a budget estimate unless the library provides defensible spend data.

Phase 7: Strategic Analysis

Creative Gap Analysis

Identify across all competitors:

  1. Angles nobody is running — Hook types absent from competitor ads = white space
  2. Overcrowded angles — If everyone leads with "save time", avoid it or be more specific
  3. Format opportunities — If no one is running video in your space, it may stand out
  4. Underutilized proof — Are competitors avoiding specific proof points you could own?
  5. CTA patterns to test — What CTAs do the longest-running ads use?

Vulnerability Analysis

Identify weaknesses in each competitor's ad strategy:

Vulnerability Type Description
Message-LP mismatch Ad promises one thing, LP delivers another
Single-persona dependency All ads target the same persona — missing segments
Platform concentration Heavy on one platform, absent from others
No social proof Ads or LPs lack credibility markers
Weak CTA Asking for too much too soon (demo before value)
Generic positioning Claims anyone could make — not differentiated
Stale creative Same ads running unchanged for months — fatigue risk

Historical Comparison (Deep Mode)

If Web Archive data exists for their landing pages:

  • Has their positioning changed in the last 6-12 months?
  • What campaigns did they retire? (Possible losers)
  • What campaigns have they scaled up? (Possible winners)

Phase 8: Output

# Competitor Ad Intelligence Report — [DATE]

## Coverage
- Competitors analyzed: [list]
- Meta ads collected: [N]
- TikTok ads collected: [N]
- Google ads collected: [N]
- LinkedIn ads collected: [N]
- Unique landing pages analyzed: [N]
- Estimated active campaigns: [N]

---

## Executive Summary

[3-5 sentence summary: What is the competitive ad landscape? What's working? Where are the gaps and vulnerabilities?]

---

## Meta Ad Analysis

### Hook Distribution
| Hook Type | [Comp1] | [Comp2] | [Comp3] |
|-----------|---------|---------|---------|
| Fear/Loss | 40% | 10% | 0% |
| Outcome | 30% | 50% | 60% |
...

### Longest-Running Ads (Not Performance Proof)
**[Competitor] — [Ad Title/Hook]**
> [Ad copy excerpt]
- Format: [type]
- CTA: [text]
- Running since: [date]
- Why it may have been sustained: [evidence and hypotheses to test]

---

## Google Ad Analysis

### Headline Patterns
[Top headline structures with examples]

### Most Common CTAs
[ranked list]

---

## TikTok Ad Analysis

### Native Creative Patterns
[Creator style, opening hooks, demonstrations, sounds, captions, offers, and CTA timing]

### Reusable Script Structures
[Sourced structures and why they may be working]

---

## LinkedIn Ad Analysis

### Professional and Partnership Angles
[Relevant messages, proof, formats, and landing-page paths; omit this section when LinkedIn is not relevant]

---

## Campaign Breakdown

### Campaign 1: [Inferred Campaign Name]
- **Competitor:** [name]
- **Ads in cluster:** [N]
- **Platform(s):** [Meta / Google / Both]
- **Strategic intent:** [Awareness / Lead gen / Competitive displacement / etc.]
- **Target persona:** [Description]
- **Hook strategy:** [Type]
- **Landing page:** [URL]
  - Hero: "[Headline text]"
  - CTA: "[Button text]"
  - Message match: [Score/10]
- **Longevity:** [First seen date → status]
- **A/B tests detected:** [Yes/No — what they're testing]

**Sample ad:**
> **Headline:** [text]
> **Body:** [text]
> **CTA:** [button]
> **Format:** [Image/Video/Carousel]

**Assessment:** [1-2 sentences — is this working? Why/why not?]

### Campaign 2: ...

---

## Funnel Map

[Ad: Hook/Angle] → [LP: /landing-page-url] → [CTA: Book Demo] ↓ [Ad: Different angle] → [LP: /same-or-different] → [CTA: Free Trial]


---

## Portfolio Emphasis

| Platform | Share | Focus Area |
|----------|-------|-----------|
| [Platform] | [X%] | [Intent] |

---

## Creative Gap Analysis

### Angles Nobody Is Running
1. [Angle] — Why it could work for you: [reasoning]
2. [Angle] — ...

### Overcrowded Angles (Avoid or Differentiate)
- [Angle] — [N] of [N] competitors use this

### Format White Space
- [Format] is not being used by competitors on [platform]

---

## Vulnerability Report

### 1. [Vulnerability]
**Competitor:** [name]
**Evidence:** [What we observed]
**Your opportunity:** [How to exploit this gap]

### 2. ...

---

## Recommended Counter-Plays

### Counter-Play 1: [Name]
- **Target their weakness:** [Which vulnerability]
- **Your ad angle:** [Hook]
- **Platform:** [Where to run]
- **Proposed headline:** "[headline]"
- **Proposed body:** "[copy]"
- **LP strategy:** [What your landing page should emphasize]
- **Why test this:** [rationale]

### Counter-Play 2: ...

Tools Used

  • scrapecreators-api — structured Meta, TikTok, Google, and LinkedIn ad-library collection
  • transcript-intelligence — spoken-hook, claim, proof, objection, sponsorship, and CTA analysis for video ads
  • web_search — verify advertiser identity and fill documented gaps
  • fetch_webpage or curl — fetch and analyze landing pages

Trigger Phrases

  • "What ads are [competitor] running across Meta, TikTok, Google, and LinkedIn?"
  • "Tear down [competitor]'s ad strategy"
  • "Audit the ad landscape for [product category]"
  • "Run ad intelligence for [competitors]"
  • "Find new paid ad angles we haven't tried"
  • "Reverse-engineer [competitor]'s paid funnel"
  • "Find weaknesses in [competitor]'s ad strategy"
  • "Deep competitive ad analysis on [competitor]"
1---
2name: competitor-ad-intelligence
3description: >
4 Scrape competitor ads from Meta, TikTok, Google, and LinkedIn ad libraries,
5 analyze creative patterns (hooks, formats, CTAs), reverse-engineer landing page funnels,
6 and produce a strategic teardown with vulnerability analysis and counter-play recommendations.
7 Use when you need to understand the competitive ad landscape, find new creative directions,
8 or identify weaknesses in a competitor's paid strategy.
9tags: [ads]
10---
11 
12# Competitor Ad Intelligence
13 
14Scrape competitor ads from Meta, TikTok, Google, and LinkedIn, analyze creative patterns, reverse-engineer landing page funnels, and produce a full strategic teardown — hooks, formats, positioning bets, vulnerabilities, and counter-plays.
15 
16**Core principle:** A competitor's ad portfolio is evidence about its growth strategy, not access to its results. Long-running ads suggest sustained use. New ads suggest active testing. Landing pages reveal positioning bets. Use these signals to form differentiated tests without claiming conversion, spend, or causality the libraries do not expose.
17 
18## When to Use
19 
20- "What ads are my competitors running?"
21- "Tear down [competitor]'s ad strategy"
22- "Find new creative angles for our paid campaigns"
23- "Reverse-engineer [competitor]'s paid funnel"
24- "What hooks are working in [our space]?"
25- "Audit the ad landscape before we launch"
26- "Find weaknesses in [competitor]'s ad strategy"
27- "What format — video, image, carousel — is dominant in our category?"
28 
29## Phase 0: Intake
30 
31Gather from the user:
32 
331. **Competitor names + domains** (e.g., `apollo.io`, `clay.run`)
342. **Your product/domain** — for comparison framing
353. **Channels:** Meta, TikTok, Google, LinkedIn, or all relevant libraries? (default: all channels relevant to the brand and market)
364. **Depth level:**
37 - **Standard:** Ad scrape + creative analysis + landing page analysis
38 - **Deep:** Standard + historical comparison + funnel reconstruction + counter-plays
395. **Product category** — helps frame analysis
406. **Known competitor landing pages?** — any URLs already spotted in their ads
41 
42## Phase 1: Scrape Meta Ads
43 
44For each competitor domain, scrape ads from Meta Ad Library.
45 
46Use `scrapecreators-api` as the primary collection path. Resolve the advertiser first, then fetch its ads and individual ad details:
47 
48```yaml
49- provider: scrapecreators
50 method: GET
51 path: /v1/facebook/adLibrary/search/companies
52 query:
53 query: "[competitor_name]"
54- provider: scrapecreators
55 method: GET
56 path: /v1/facebook/adLibrary/company/ads
57 query:
58 companyName: "[competitor_name]"
59- provider: scrapecreators
60 method: GET
61 path: /v1/facebook/adLibrary/ad
62 query:
63 id: "[ad_id]"
64```
65 
66If the structured endpoint cannot resolve an advertiser, verify the name in the public Meta Ad Library and use web search as a documented fallback. Keep the library URL and ad ID with every result.
67 
68**Collect per ad:**
69- Ad copy (headline + primary text)
70- Visual type (image / video / carousel)
71- CTA button text
72- Landing page URL
73- Active duration (first seen, still running or stopped)
74- Platforms (Facebook, Instagram, Audience Network)
75- Ad variations (A/B tests — same landing page, different creative)
76- Video transcript when available; use `transcript-intelligence` to extract hooks, claims, proof, objections, and CTA structure
77 
78## Phase 2: Scrape TikTok Ads
79 
80For each competitor or category, use `scrapecreators-api` to resolve the current TikTok Ad Library search and ad-detail operations from the official provider reference.
81 
82Collect the advertiser, ad ID, caption or script, format, landing page, first-seen date, market, and available performance or reach indicators. Keep organic TikTok posts separate from paid-library ads.
83 
84Use `transcript-intelligence` when the ad includes spoken content. Analyze TikTok-native mechanics such as creator-led openings, product demonstrations, comment-style hooks, native captions, sounds, offer timing, and the first visible payoff.
85 
86## Phase 3: Scrape Google Ads
87 
88For each competitor domain, scrape ads from Google Ads Transparency Center.
89 
90Use the structured advertiser endpoints first:
91 
92```yaml
93- provider: scrapecreators
94 method: GET
95 path: /v1/google/company/ads
96 query:
97 domain: "[competitor_domain]"
98 get_ad_details: true
99- provider: scrapecreators
100 method: GET
101 path: /v1/google/ad
102 query:
103 id: "[ad_id]"
104```
105 
106Use the public Google Ads Transparency Center or web search only when the structured endpoint is incomplete. Mark fallback records so coverage limits remain visible.
107 
108**Collect per ad:**
109- Headline variants (up to 3)
110- Description lines
111- Ad type (Search / Display / YouTube / Shopping)
112- Landing page URL
113- Geographic targeting (if visible)
114 
115## Phase 4: Scrape LinkedIn Ads
116 
117For each relevant competitor, use `scrapecreators-api` to resolve the current LinkedIn Ad Library search and ad-detail operations from the official provider reference.
118 
119Collect the advertiser, ad copy, creative format, CTA, landing page, dates, and visible targeting or company context. Keep organic company posts separate from paid-library ads.
120 
121LinkedIn is optional for consumer brands. Include it when the competitor sells high-consideration products, wholesale or retail partnerships, franchises, professional education, recruiting, or another business-facing offer.
122 
123## Phase 5: Analyze Creative Patterns
124 
125After collecting all ads, perform structured analysis.
126 
127### Hook Pattern Clustering
128 
129Group all ad headlines/openers by hook type:
130 
131| Hook Type | Pattern | Example |
132|-----------|---------|---------|
133| **Fear/Loss** | Risk of missing out or falling behind | "Your competitors are already using AI SDRs" |
134| **Outcome** | Direct result promise | "10x your pipeline in 30 days" |
135| **Question** | Challenges current assumption | "Still doing outbound manually?" |
136| **Social proof** | Names customers or numbers | "Join 500+ B2B teams using [product]" |
137| **Contrarian** | Challenges conventional wisdom | "Cold email isn't dead. Your copy is." |
138| **Empathy** | Validates their pain | "We know SDR ramp time is brutal" |
139| **Product-led** | Feature as hook | "[Feature] is live — see what's new" |
140 
141Count how many ads per competitor use each hook type. This reveals their primary messaging strategy.
142 
143### Format Distribution
144 
145| Format | Meta | TikTok | Google | LinkedIn |
146|--------|------|--------|--------|----------|
147| Static image | [N] | [N] | [N] | [N] |
148| Video | [N] | [N] | [N] | [N] |
149| Carousel | [N] | [N] | N/A | [N] |
150| Search text | N/A | N/A | [N] | N/A |
151| Display banner | N/A | N/A | [N] | [N] |
152 
153### CTA Taxonomy
154 
155List all unique CTAs found. Common patterns:
156- **Urgency:** "Start free", "Try now", "Get started today"
157- **Low-friction:** "See how it works", "Watch demo", "Learn more"
158- **Outcome:** "Book a demo", "Get your free audit", "Calculate your ROI"
159 
160## Phase 6: Landing Page & Funnel Analysis
161 
162For each unique landing page URL found in ads, fetch and analyze:
163 
164```
165fetch_webpage: [landing_page_url]
166```
167 
168Or use `curl` if `fetch_webpage` is unavailable.
169 
170**Extract per landing page:**
171- **Hero headline** — Does it match the ad promise?
172- **Subheadline** — Value prop expansion
173- **Primary CTA** — What action are they driving? (Demo / Free trial / Sign up / Download)
174- **Social proof** — Logos, testimonials, case study metrics
175- **Pricing visibility** — Is pricing shown or hidden?
176- **Form fields** — How much info do they ask for?
177- **Page type** — General homepage / dedicated LP / feature page / use-case page
178- **Message match score** — How well does the LP deliver on the ad's promise? (1-10)
179 
180### Campaign Clustering
181 
182Group all ads into logical campaigns by:
183- **Landing page destination** — Ads pointing to the same URL = same campaign
184- **Messaging theme** — Similar copy angles = same strategic bet
185- **Audience signal** — Different copy for different personas
186 
187### Per-Campaign Funnel Analysis
188 
189For each campaign cluster:
190 
191| Dimension | Analysis |
192|-----------|----------|
193| **Strategic intent** | What is this campaign trying to achieve? (Awareness / Lead gen / Free trial / Competitive displacement) |
194| **Target persona** | Who is this ad speaking to? (Role, pain, stage) |
195| **Positioning bet** | What market position are they claiming? |
196| **Hook strategy** | Fear / Outcome / Social proof / Contrarian / Product-led |
197| **Conversion path** | Ad → LP → CTA → [Demo call / Free trial / Content download] |
198| **Longevity signal** | How long has this been running? Treat duration as sustained use, not proof of performance. |
199| **A/B tests detected** | Multiple creatives to same LP = active testing |
200 
201### Portfolio Emphasis
202 
203Use ad volume and platform distribution to describe where the visible portfolio is concentrated:
204 
205| Platform | Ad Count | % of Visible Portfolio | Likely Objective |
206|----------|----------|------------------------|------------------|
207| Meta (Facebook) | [N] | [X%] | [Awareness / Retargeting] |
208| Meta (Instagram) | [N] | [X%] | [Visual / younger audience] |
209| TikTok | [N] | [X%] | [Creator-led discovery / conversion] |
210| Google Search | [N] | [X%] | [Bottom-funnel capture] |
211| Google Display | [N] | [X%] | [Awareness / retargeting] |
212| YouTube | [N] | [X%] | [Education / awareness] |
213| LinkedIn | [N] | [X%] | [Professional / partnership / high-consideration] |
214 
215Treat ad count as portfolio emphasis, not spend. Never label this table a budget estimate unless the library provides defensible spend data.
216 
217## Phase 7: Strategic Analysis
218 
219### Creative Gap Analysis
220 
221Identify across all competitors:
222 
2231. **Angles nobody is running** — Hook types absent from competitor ads = white space
2242. **Overcrowded angles** — If everyone leads with "save time", avoid it or be more specific
2253. **Format opportunities** — If no one is running video in your space, it may stand out
2264. **Underutilized proof** — Are competitors avoiding specific proof points you could own?
2275. **CTA patterns to test** — What CTAs do the longest-running ads use?
228 
229### Vulnerability Analysis
230 
231Identify weaknesses in each competitor's ad strategy:
232 
233| Vulnerability Type | Description |
234|-------------------|-------------|
235| **Message-LP mismatch** | Ad promises one thing, LP delivers another |
236| **Single-persona dependency** | All ads target the same persona — missing segments |
237| **Platform concentration** | Heavy on one platform, absent from others |
238| **No social proof** | Ads or LPs lack credibility markers |
239| **Weak CTA** | Asking for too much too soon (demo before value) |
240| **Generic positioning** | Claims anyone could make — not differentiated |
241| **Stale creative** | Same ads running unchanged for months — fatigue risk |
242 
243### Historical Comparison (Deep Mode)
244 
245If Web Archive data exists for their landing pages:
246- Has their positioning changed in the last 6-12 months?
247- What campaigns did they retire? (Possible losers)
248- What campaigns have they scaled up? (Possible winners)
249 
250## Phase 8: Output
251 
252```markdown
253# Competitor Ad Intelligence Report — [DATE]
254 
255## Coverage
256- Competitors analyzed: [list]
257- Meta ads collected: [N]
258- TikTok ads collected: [N]
259- Google ads collected: [N]
260- LinkedIn ads collected: [N]
261- Unique landing pages analyzed: [N]
262- Estimated active campaigns: [N]
263 
264---
265 
266## Executive Summary
267 
268[3-5 sentence summary: What is the competitive ad landscape? What's working? Where are the gaps and vulnerabilities?]
269 
270---
271 
272## Meta Ad Analysis
273 
274### Hook Distribution
275| Hook Type | [Comp1] | [Comp2] | [Comp3] |
276|-----------|---------|---------|---------|
277| Fear/Loss | 40% | 10% | 0% |
278| Outcome | 30% | 50% | 60% |
279...
280 
281### Longest-Running Ads (Not Performance Proof)
282**[Competitor] — [Ad Title/Hook]**
283> [Ad copy excerpt]
284- Format: [type]
285- CTA: [text]
286- Running since: [date]
287- Why it may have been sustained: [evidence and hypotheses to test]
288 
289---
290 
291## Google Ad Analysis
292 
293### Headline Patterns
294[Top headline structures with examples]
295 
296### Most Common CTAs
297[ranked list]
298 
299---
300 
301## TikTok Ad Analysis
302 
303### Native Creative Patterns
304[Creator style, opening hooks, demonstrations, sounds, captions, offers, and CTA timing]
305 
306### Reusable Script Structures
307[Sourced structures and why they may be working]
308 
309---
310 
311## LinkedIn Ad Analysis
312 
313### Professional and Partnership Angles
314[Relevant messages, proof, formats, and landing-page paths; omit this section when LinkedIn is not relevant]
315 
316---
317 
318## Campaign Breakdown
319 
320### Campaign 1: [Inferred Campaign Name]
321- **Competitor:** [name]
322- **Ads in cluster:** [N]
323- **Platform(s):** [Meta / Google / Both]
324- **Strategic intent:** [Awareness / Lead gen / Competitive displacement / etc.]
325- **Target persona:** [Description]
326- **Hook strategy:** [Type]
327- **Landing page:** [URL]
328 - Hero: "[Headline text]"
329 - CTA: "[Button text]"
330 - Message match: [Score/10]
331- **Longevity:** [First seen date → status]
332- **A/B tests detected:** [Yes/No — what they're testing]
333 
334**Sample ad:**
335> **Headline:** [text]
336> **Body:** [text]
337> **CTA:** [button]
338> **Format:** [Image/Video/Carousel]
339 
340**Assessment:** [1-2 sentences — is this working? Why/why not?]
341 
342### Campaign 2: ...
343 
344---
345 
346## Funnel Map
347 
348```
349[Ad: Hook/Angle] → [LP: /landing-page-url] → [CTA: Book Demo]
350
351[Ad: Different angle] → [LP: /same-or-different] → [CTA: Free Trial]
352```
353 
354---
355 
356## Portfolio Emphasis
357 
358| Platform | Share | Focus Area |
359|----------|-------|-----------|
360| [Platform] | [X%] | [Intent] |
361 
362---
363 
364## Creative Gap Analysis
365 
366### Angles Nobody Is Running
3671. [Angle] — Why it could work for you: [reasoning]
3682. [Angle] — ...
369 
370### Overcrowded Angles (Avoid or Differentiate)
371- [Angle] — [N] of [N] competitors use this
372 
373### Format White Space
374- [Format] is not being used by competitors on [platform]
375 
376---
377 
378## Vulnerability Report
379 
380### 1. [Vulnerability]
381**Competitor:** [name]
382**Evidence:** [What we observed]
383**Your opportunity:** [How to exploit this gap]
384 
385### 2. ...
386 
387---
388 
389## Recommended Counter-Plays
390 
391### Counter-Play 1: [Name]
392- **Target their weakness:** [Which vulnerability]
393- **Your ad angle:** [Hook]
394- **Platform:** [Where to run]
395- **Proposed headline:** "[headline]"
396- **Proposed body:** "[copy]"
397- **LP strategy:** [What your landing page should emphasize]
398- **Why test this:** [rationale]
399 
400### Counter-Play 2: ...
401```
402 
403## Tools Used
404 
405- **`scrapecreators-api`** — structured Meta, TikTok, Google, and LinkedIn ad-library collection
406- **`transcript-intelligence`** — spoken-hook, claim, proof, objection, sponsorship, and CTA analysis for video ads
407- **`web_search`** — verify advertiser identity and fill documented gaps
408- **`fetch_webpage`** or **`curl`** — fetch and analyze landing pages
409 
410## Trigger Phrases
411 
412- "What ads are [competitor] running across Meta, TikTok, Google, and LinkedIn?"
413- "Tear down [competitor]'s ad strategy"
414- "Audit the ad landscape for [product category]"
415- "Run ad intelligence for [competitors]"
416- "Find new paid ad angles we haven't tried"
417- "Reverse-engineer [competitor]'s paid funnel"
418- "Find weaknesses in [competitor]'s ad strategy"
419- "Deep competitive ad analysis on [competitor]"
420 

Discussion

Alternatives

Also in Competitor research
Competitor Comparison & Alternatives PagesTell us your product and a rival you keep losing deals to, and get back a ready-to-publish page that shows why customers should pick you.Business & ops · MITAd angle minerMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.Business & ops · MITX audience insightsRead your X (Twitter) audience and niche from real data. Pull a handle's recent tweets (yours or a competitor's) with likes, replies, and views, see which formats and hooks are working, read the repliers on a tweet (X gates likers, so repliers are the signal), and scan a niche query for top tweets. Powered by Apify, no login. Triggers on "analyze my tweets", "what is working on X", "read the replies", "competitor tweets", "who is engaging". Not for writing a tweet (use x-post-writer).Marketing · MITFacebook Audience InsightsRead a Facebook Page and its audience from real data. Pull any Page's public stats (yours or a competitor's): followers, likes, categories, intro, websites. And pull the commenters on a public Page post, since Facebook hides the reactor and liker roster and shows counts only, so commenters are the signal. Powered by Apify, no login. Triggers on "analyze my Page", "competitor Page stats", "who is commenting", "read the comments", "audience insights". Not for writing Page posts (use fb-post-writer).Marketing · MIT