---
name: seo-vs-ads-overlap
description: Finds money leaking between Google Ads and organic search using live Ads and Search Console data via the Caybl.ai connector - queries you pay for while already ranking in the top 3, paid winners with no organic page, and organic converters with no ads. Use for "am I paying for clicks I'd get for free", "brand bidding waste", "SEO vs ads overlap", "paid and organic cannibalization", or "what content should SEO build next".
license: MIT
compatibility: Requires the Caybl.ai MCP connector (https://api.caybl.ai/mcp) with both Google Ads and Search Console connected.
metadata:
  author: Caybl.ai
  version: "1.0"
  adapted-from: Ryze-AI-Adgent/open-seo-mcp-skills (seo-vs-ads), MIT
---

# SEO vs ads overlap

## Requires

The Caybl.ai MCP connector with **both** Google Ads and Search Console connected - this is the analysis neither dashboard can do on its own. Setup: https://caybl.ai/google-ads-mcp and https://caybl.ai/search-console-mcp. If only one is connected, run what's possible and name the missing one instead of guessing the other half.

## Workflow

1. **Paid search terms.** `get_search_terms` for the last 90 days: term, impressions, clicks, cost, conversions.
2. **Organic positions.** `run_search_analytics_report`, dimension `query`, same window (ending 2 days ago).
3. **Competition signal.** For overlapping terms, `get_impression_share` (or `run_gaql_report` with `metrics.search_top_impression_share` and `metrics.search_absolute_top_impression_share`) to see whether other advertisers compete.
4. **Join on query** (normalised: lowercase, trimmed) and bucket:
   - **Double-paying** - organic position 3 or better AND paid spend. Especially brand terms with little or no competing ads. **Sum this spend - it's the headline.**
   - **Defensible** - organic top 3 but competitors bid on the term; paid presence may be justified. Say so honestly.
   - **Paid-only winners** - converting in ads, no organic ranking -> the SEO content roadmap, already validated by money.
   - **Organic-only converters** - strong organic queries with no ad coverage -> candidates if the ads team wants more volume.
5. **Estimate savings** for double-paying terms: spend x 50-70% (the share of clicks you'd likely keep organically at position 1-3). Label it an estimate and show the assumption.

## Output

- **Headline:** "$X a quarter goes to clicks you already rank top 3 for."
- Four tables: | Query | Paid cost | Paid conv. | Organic position | Organic clicks | Competition |
- **Actions:** exact negatives or bid-downs to test on double-paying terms (test, don't cut everything at once - run a 2-4 week holdout and compare total clicks), pages to build for paid-only winners, and ad groups to consider for organic-only converters.

Offer to add test negatives with `add_negative_keywords` **with `validateOnly: true` first**, applied only after an explicit yes.

## Guardrails
- Brand terms with aggressive competitor bidding are not waste - flag, don't cut.
- Query text differs slightly between Ads and Search Console (close variants); match conservatively and say how you matched.
