← Back to list
📊

seo-ads Checked

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain a…
📊 Data & Analytics skills By seranking Version v1.0.0 Added 2026-10-21 Updated 2026-10-21 Source ↗
7.7Overall rating
1Views
0Downloads
180Stars

Installation

🤖 Install via AI

Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.

Install the "seo-ads" skill by following the instructions at https://skill123.me/install/seo-ads.
⌨️ Command line install

Run in your terminal — downloads and installs to ~/.claude/skills/.

curl -fsSL https://skill123.me/install/seo-ads.sh | bash
📦 Download ZIP

Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.

⬇ Download v1.0.0 · 3 KB
📊 Static rating
7.7/10
Trigger
8.0
Structure
0.0
Workflow
7.0
Content
0.0
Engineering
0.0
Security
8.0

Six-dimension rubric with reviewer rationale.

View scorecard ↓
🛡 Dynamic test
—

Not live-tested yet — this skill is rated on static analysis only.

About this skill

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy patterns, who else bids on the same keywords, SERP shopping/ad-pack visibility — and produces a competitive ads brief plus a recommended bid-keyword shortlist. Use when the user asks "paid search analysis", "competitor ads", "PPC competitive", "ad copy intelligence", "shopping pack", "who bids on this keyword", or "paid keyword footprint".

> Example output: examples/seo-ads-hostinger-com-20260514/ADS.md (../../examples/seo-ads-hostinger-com-20260514/ADS.md)

Paid-Search Intelligence (Ads)

Map a domain's paid-search footprint and the competitive landscape around its target keywords. Output: a brief on what the brand is bidding on, who else bids on the same terms, ad-copy patterns the leading competitors use, SERP ad+shopping presence per keyword, and a recommended bid-keyword shortlist.

Documentation

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy patterns, who else bids on the same keywords, SERP shopping/ad-pack visibility — and produces a competitive ads brief plus a recommended bid-keyword shortlist. Use when the user asks "paid search analysis", "competitor ads", "PPC competitive", "ad copy intelligence", "shopping pack", "who bids on this keyword", or "paid keyword footprint".

> Example output: examples/seo-ads-hostinger-com-20260514/ADS.md (../../examples/seo-ads-hostinger-com-20260514/ADS.md)

Paid-Search Intelligence (Ads)

Map a domain's paid-search footprint and the competitive landscape around its target keywords. Output: a brief on what the brand is bidding on, who else bids on the same terms, ad-copy patterns the leading competitors use, SERP ad+shopping presence per keyword, and a recommended bid-keyword shortlist.

Prerequisites

  • SE Ranking MCP server connected.
  • User provides: (a) a target domain OR a target keyword (skill detects which), (b) target country (default us).

Process

1. **Validate input & preflight**

  • Determine: domain mode (analyse a brand's paid footprint) or keyword mode (analyse the bidding landscape for one keyword).
  • DATA_getCreditBalance — surface remaining credits.

2. **Domain mode** DATA_getDomainAdsByDomain

  • Pull paid keywords the target domain bids on.
  • For each: keyword, search volume, CPC, position, ad copy (title + description), URL.
  • Sort by traffic-weighted score (volume × CTR-by-paid-position × bid-share).

3. **Keyword mode** DATA_getDomainAdsByKeyword

  • Pull all domains bidding on the target keyword.
  • For each: domain, ad position, ad copy, URL.
  • Surface the top 10 advertisers + their copy patterns.

4. **Intent enrichment** DATA_getKeywordQuestions

  • For the keyword(s) in scope, pull related questions.
  • Identifies question-phrased intent variants worth bidding on (often cheaper, higher conversion).

5. **SERP ad/shopping presence** DATA_getSerpResults

  • For top 5 keywords (domain mode) or the target keyword (keyword mode):
  • Use SERP-feature filters to detect ad-pack composition: tads (top ads above organic), bads (bottom ads below organic), sads (shopping ads / Google Shopping pack), mads (mobile/map-pack ads).
  • Top SERP ad slots (positions 1-4 above organic, 1-3 below).
  • Shopping pack presence (carousel of product cards).
  • Image pack, local pack — these displace ad inventory.
  • Capture which advertisers occupy those slots.

6. **Ad copy pattern analysis**

  • Cluster ad headlines + descriptions by recurring patterns.
  • Identify: USP language used by leaders, pricing/discount mentions, audience segmentation, CTA verbs.
  • Highlight outliers (advertisers doing something different).
View full documentation

7. **Paid-keyword gap (domain mode)** DATA_getDomainKeywords with type: 'adv'

  • Pull the user's domain's paid keywords using the type: 'adv' switch.
  • For each top competitor (from step 2 or DATA_getDomainCompetitors with type: 'adv'): pull their paid keywords with type: 'adv'.
  • Diff: paid keywords competitors bid on that the user's domain doesn't.
  • This becomes the highest-leverage portion of the bid-keyword shortlist (step 8).
  • Skip in keyword mode (no domain to gap against).

8. **Recommended bid-keyword shortlist**

  • For domain mode: paid-keyword gap from step 7 + adjacent question-intent variants.
  • For keyword mode: question-intent and long-tail variants that are likely cheaper than the head term.
  • Each row: keyword, est. CPC, est. volume, who else bids, why-recommended.

9. **Synthesise** ADS.md

Output format

Create a folder seo-ads-{target-slug}-{YYYYMMDD}/ with:


seo-ads-{target-slug}-{YYYYMMDD}/
├── ADS.md                              (synthesised brief — primary deliverable; inlines paid footprint, bidding landscape, SERP ad/shopping pack, ad copy patterns, paid keyword gap)
├── recommended-keywords.csv            (bid-keyword shortlist — load-bearing CSV the PPC team pastes into bid tooling)
└── evidence/
    ├── 01-paid-footprint.md           (domain mode: brand's paid keywords — raw step output)
    ├── 02-bidding-landscape.md        (keyword mode: advertisers on the keyword — raw step output)
    ├── 03-question-variants.md        (DATA_getKeywordQuestions enrichment)
    ├── 04-serp-ad-shopping-pack.md    (SERP feature inventory per keyword)
    ├── 05-ad-copy-patterns.md         (clustered headline/description patterns)
    └── 06-paid-keyword-gap.md         (domain mode: type='adv' diff vs competitors)

Step files 01, 02, 04, 05, 06 are inlined as sections in ADS.md; the copies in evidence/ preserve the raw step outputs for reproducibility.

ADS.md follows this shape:


# Paid-Search Intelligence: {target}

> Snapshot dated {YYYY-MM-DD} · Country: {country} · Mode: {domain | keyword}

## Footprint summary
- Paid keywords: {n}
- Estimated paid traffic: {n}/mo
- Average CPC: ${n}
- SERP slots covered: {n} of top-4 above organic across {n} target keywords

## Top 10 paid keywords (domain mode)

| Keyword | Volume | CPC | Position | Ad copy excerpt |
|---|---|---|---|---|
| {kw} | {n} | ${n} | {pos} | "{headline} — {snippet}" |
| ...

## Bidding landscape (keyword mode — for "{keyword}")

| Advertiser | Position | Ad copy excerpt | URL |
|---|---|---|---|
| {domain} | {pos} | "{headline} — {snippet}" | {url} |
| ...

## Ad copy patterns (top patterns observed)

1. **Pricing-led:** "{N}% off — start at ${X}/mo" — used by {n} advertisers.
2. **Outcome-led:** "Get {specific outcome} in {time}" — used by {n}.
3. **Trust-led:** "Trusted by {n} {audience}" — used by {n}.
4. ...

## SERP feature inventory

| Keyword | Top ads | Shopping pack | PAA | Image pack |
|---|---|---|---|---|
| {kw} | {advertiser list} | {✓/✗} | {✓/✗} | {✓/✗} |
| ...

## Recommended bid-keyword shortlist

See `recommended-keywords.csv`. Top 10:

| Keyword | Volume | Est. CPC | Why |
|---|---|---|---|
| {kw} | {n} | ${n} | Question-intent variant; competitor X bids on head term but not this. |
| ...

## Constraints / caveats
- CPC and volume estimates are directional. Actual costs depend on Quality Score, time of day, audience, etc.
- {Note any ad-copy that's clearly seasonal / promotional and may not represent steady-state.}

## Recommended next step
Cross-reference these paid keywords with `seo-keyword-cluster` output to find under-served paid clusters. For organic content opportunities corresponding to these paid keywords, run `seo-keyword-niche`.

recommended-keywords.csv columns: keyword,volume,cpc_estimate,position_target,intent,competitor_count,why_recommended

Tips

  • Respect rate limit. Domain mode: ~3–5 calls. Keyword mode: ~3 calls. Plus a few SERP queries.
  • Cost: ~10–20 credits typical for domain mode; ~5–10 for keyword mode.
  • **CPC estimates lag.** SE Ranking's CPC data is not real-time auction data; treat as ±30% directional.
  • Ad copy often reveals competitor positioning before product launches do — periodic review (quarterly) catches strategic shifts.
  • Question-intent variants often have lower CPC and higher conversion than head terms. The shortlist in step 8 prioritises these.
  • Pair with seo-keyword-niche for organic content opportunities derived from paid keyword research.
  • Pair with seo-competitor-pages if the bidding landscape reveals "X vs Y" / "alternatives" intent — those keywords convert best as comparison pages, not paid ads.
  • **Ads data via shared DATA_* tools** — beyond the dedicated DATA_getDomainAdsByDomain / DATA_getDomainAdsByKeyword, the type: 'adv' enum switch on DATA_getDomainKeywords, DATA_getDomainKeywordsComparison, DATA_getDomainCompetitors, DATA_getDomainPages, and similar tools surfaces the paid view of the same data structures. Combine with the tads/bads/sads/mads SERP-feature filters and the CPC filter on SERP queries to map paid landscape comprehensively.
  • Don't recommend paid keywords without context. The shortlist is a starting point for the PPC team, not an autopilot.

Score breakdown

Trigger
8.0
Structure
0.0
Workflow
7.0
Content
0.0
Engineering
0.0
Security
8.0