For challenger brands running paid ads against an incumbent — listens to what the market says about the COMPETITOR on Reddit, X, and G2, and turns their…
This skill is the mirror of social-listening — same three sources (Reddit, X, G2), flipped lens:
| | [social-listening](social-listening.md) | **competitive-social-listening** (this skill) |
| :--------------- | :--------------------------------------------------------------- | :-------------------------------------------------------------------- |
| **Subject** | **Your** brand | A **competitor's** brand |
| **Used by** | The brand itself | A challenger running ads *against* that competitor |
| **Goal** | Fix / defend your ads | **Attack / exploit** the competitor |
| **Typical move** | Preempt objections, lift praise into your hooks | Lift competitor complaints into ad angles, target their switchers |
Every complaint, switcher, feature gap, or price gripe a competitor's customer airs publicly is an angle you can lift directly into a creative — in the competitor's own customers' language — and target at people shaped like them.
Run weekly, or on demand before briefing a competitor‑targeted campaign.
Every run answers two questions:
Same three surfaces as social-listening, but every query is scoped to the target competitor, not your brand.
| Source | Pull | Competitive value |
| :--------- | :--------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- |
| **Reddit** | Threads mentioning target · *"alternatives to [target]"* posts · 1‑star experiences · complaint threads in key subs | Switcher threads and complaint posts — often the most candid angle material. |
| **X** | Target handle mentions · negative replies · *"just switched off [target]"* posts | Speed — catches viral roasts, PR moments, founder gaffes. |
| **G2** | 1–3 star reviews for target · *"What do you dislike?"* sections · *"Why did you switch?"* answers | Structured feature gaps and switcher reasoning — by role and company size. |
Minimum viable run: ≥ 30 target‑relevant mentions combined. Under threshold → output "Insufficient data — broaden subreddit list or re‑run in 14 days."
Each mention gets one of two labels — a flat positive/negative split. The richer competitive sub‑signals (complaint, switcher, gap, price, comparison, praise) still drive theme clustering in §5 and competitive moves in §6 — they're just no longer surfaced as a per‑mention taxonomy because end users found six labels confusing.
| Label | What rolls up here |
| :-------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 🔴 **Negative** | Anything unfavorable to the target — complaints (friction, bugs, support, onboarding), switcher posts (leaving the target), gaps (missing features), price gripes, and unfavorable comparisons against the target. |
| 🟢 **Positive** | Anything favorable to the target — specific praise, wins, comparisons that go in the target's favor. Flags what **not** to attack on. |
Edge case — neutral / off‑topic mentions: drop, don't classify. The threshold count in §3 only includes mentions that fit one of the two labels above.
Group mentions into themes (≥ 3 mentions = reportable). Themes still describe the qualitative pattern (a complaint about onboarding, a switcher cluster, a feature‑gap pile‑up, a price backlash) — that detail lives in the theme title, summary, and angle note. The sentiment mix field collapses to positive / negative only.
Per theme:
Every verbatim quote in the report MUST be traceable back to its source. Quotes without sources are unusable: competitive paid ads need verifiable provenance for legal review (avoid defamation, avoid copyrighted lifts) and for sanity‑checking before you spend budget amplifying someone else's actual words.
For each quote, capture:
| Field | Required | Example |
| :--------------------- | :------- | :--------------------------------------------------------------- |
| **Platform** | ✅ | Reddit · X · G2 |
| **Author handle** | ✅ | `u/marketingmike` · `@adsec_pro` · *Verified G2 reviewer* |
| **Permalink** | ✅ | Direct URL to the comment / post / review |
| **Date posted** | ✅ | `2026-04-18` |
| **Engagement signal** | ⚪ | upvotes · likes · star rating |
| **Author context** | ⚪ | Role / company size / industry if visible (especially on G2) |
Render every quote in this exact form:
"…quote text…" —
@author· Platform ↗ · YYYY‑MM‑DD · engagement (optional context)
Hard rule — if you can't attribute it, drop it: if a quote's permalink or author cannot be retrieved (deleted post, login‑walled review, paraphrased screenshot), omit the quote entirely. Surface the omission count at the bottom of the report as: "X unattributable quotes filtered." Never report a quote with [source unknown] — that defeats the legal/verification purpose of the requirement.
Each pattern maps to a specific competitive move:
| Theme pattern | Competitive move |
| :--------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **High‑volume Complaint on a specific friction** | **Problem callout ads** — lift the complaint **verbatim** (*"Still waiting 40s for [Target]'s dashboard?"*). Audience: `Interest: [Target]`. Name the campaign after the friction (e.g. *"Slow reporting callout ads"*). |
| **Recurring Switcher pattern** (*"left X because Y"*) | **Ex‑[Target] switcher ads** — quote the exit reason. CTA: *"Make the switch."* Audience: lookalike of users engaging with your versus ads. Name the campaign *"Ex‑[Target] switcher ads"*. |
| **Gap cluster** (repeated feature requests) | **Feature gap ads** — attack the missing capability head‑on (*"Finally, [feature] out of the box."*). Brief via [creative-brief](creative-brief.md). Name the campaign after the missing feature (e.g. *"CAPI gap ads"*). |
| **Price backlash** | **Pricing comparison ads** — contrast pricing or bundle. Only run if your pricing is *actually* competitive — don't bluff. Name the campaign *"Pricing comparison ads"*. |
| **Narrow Praise** | **Defensive intel** — do *not* attack on this angle; pivot to complaint/gap themes instead. |
| **Comparisons that favor you** | Lean in — the market is already saying it. Quote market language verbatim in the ad (beats brand‑written copy). |
| **Comparisons that favor a third alternative** | Watch closely — a rival is eating the angle you wanted. Escalate to positioning. |
Headline tone — plain, literal, no flourish. The report's one‑line H1 should read like you're telling a colleague the gist in everyday language. Name the target by name and the top 1‑2 themes in plain words. Avoid editorial metaphors ("trust crisis", "performance debt", "bait‑and‑switch"), avoid ad‑ops jargon ("switcher window", "wedge", "angle", "opening", "narrative"), avoid abstractions. Save the storytelling for the lede.
Competitive Social Listening — Target:
Competitor· Week of Apr 20 · 142 target‑relevant mentions (↑31%)Target sentiment distribution
- 🔴 Negative 81% (↑9pp) · 🟢 Positive 19% (↓9pp)
Per‑source breakdown
| Source | Mentions | Negative | Positive | | :----- | :------- | :------- | :------- | | Reddit | 62 | 88% | 12% | | X | 51 | 80% | 20% | | G2 | 29 | 69% | 31% |
Top themes — competitive angles
🔴 "Reporting takes forever to load" — 23 mentions (↑) · 100% Negative · complaint pattern
- "Waiting 40 seconds every time I pull a campaign report. It's 2026." —
u/marketingmike· Reddit ↗ · 2026‑04‑18 · 212 upvotes- "Competitor's dashboard feels like it's powered by a potato." —
@adsec_pro· X ↗ · 2026‑04‑21 · 89 likes- "Their reporting speed is the single biggest reason I'm looking elsewhere." — Verified G2 reviewer (Marketing Manager · Mid‑Market) · G2 ↗ · 2026‑04‑15 · 2 stars
→ Move: Angle hook — lift "Still waiting 40 seconds for a campaign report?" as a Direct Problem opener. Target
Interest: Competitor. 3 variants via creative-brief.🔴 "Switched after 12+ months" — 9 mentions · 100% Negative · switcher pattern
- "Cancelled our Competitor contract this quarter — reporting + support finally pushed us out." — Verified G2 reviewer (Director of Growth · 50–200 employees) · G2 ↗ · 2026‑04‑20 · 1 star
- "I was a Competitor customer for 18 months. Never again." —
u/saas_skeptic· Reddit ↗ · 2026‑04‑19 · 47 upvotes→ Move: Switcher creative set — "Left [Competitor] this year? Here's what you're missing." Audience: lookalike 1% of users engaging with your "[Competitor] vs. us" ads.
🔴 "No server‑side CAPI support" — 7 mentions · 100% Negative · gap pattern
- "Why doesn't Competitor have server‑side conversions in 2026?" —
u/perfmark_dan· Reddit ↗ · 2026‑04‑16 · 33 upvotes- "If only they'd add CAPI, I'd stay." — Verified G2 reviewer (Performance Marketer · SMB) · G2 ↗ · 2026‑04‑22 · 3 stars
→ Move: "Finally" hook — "Finally, a platform with server‑side CAPI out of the box." Attack the gap directly.
🔴 "Pricing is getting steep" — 11 mentions · 100% Negative · price backlash
- "New Competitor pricing tier is ridiculous for what you get." —
u/agency_owner_m· Reddit ↗ · 2026‑04‑21 · 167 upvotes- "Paying $500/mo for reports I could pull in Sheets." —
@growth_lara· X ↗ · 2026‑04‑22 · 54 likes→ Move: brief a price‑positioning creative — "Get [feature] without the $500/mo bill." Only run if our pricing is verifiably lower.
🟢 "Integrations are still the best" — 14 mentions (narrow praise) · 100% Positive · praise — strength to hold
→ Move: do not attack on integrations. Pivot to speed/pricing/gap angles instead.
🟢 "Competitor vs. Us" — 6 mentions · 67% Positive (in our favor) · comparison pattern
- "We tried both — Adside beat Competitor on reporting speed hands down." — Verified G2 reviewer (Head of Performance · Agency) · G2 ↗ · 2026‑04‑17 · 5 stars
→ Move: quote "beat Competitor on reporting speed" verbatim in a hook — market language beats brand copy.
This week's competitive plays (use these names verbatim — direct, marketer‑natural, no jargon)
- Slow reporting callout ads — 3 variants lifting the 40s‑load complaint (priority — volume climbing).
- Ex‑Competitor switcher ads — targeted at lookalikes of users engaging with our versus ads.
- CAPI gap ads — direct callout on missing server‑side conversions.
- Hold on pricing ads until our pricing is verified competitive.
4 unattributable quotes filtered (deleted comments / login‑walled reviews).
Weekly external intelligence — ingests Meta Ad Library for tracked competitors, surfaces new ads launched since last run, clusters them by angle/format, and…
View skill Market intelligence · FreeBrand sentiment analysis across Reddit, X, and G2 — aggregates mentions, classifies sentiment, clusters themes, extracts verbatim language, and translates…
View skill Briefings · FreeMorning ad‑ops briefing that chains am‑i‑on‑track, whats‑running, bleeders‑winners, fatigue‑detector, and copy‑rotation into a single prioritized digest…
View skill