SEO vs ads skill

Find money leaking between search ads and SEO — queries you pay for while already ranking organically, and paid queries with no organic coverage.

by Ryze-AI-Adgent·MIT license·★ 3,135 Stars on the repo·GitHub ↗

Use now

Files of SEO vs ads

Ryze-AI-Adgent/main1 file shown
SKILL.md
Show the full text32 lines
seo-vs-ads/SKILL.md32 lines · 2.3 KB

SEO vs Ads

Requires

The free Ryze MCP connector (https://connector.get-ryze.ai/mcp). Claude Code: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp

The report subscription tools can't do: it needs your ads account AND your Search Console together. Both are on the Ryze MCP.

Workflow

  1. Paid search terms. google_ads__runRawGaql on the default account — search terms report, last 90 days: term, impressions, clicks, cost, conversions. (GAQL shape via native__get_provider_docs, provider google_ads, if needed.)
  2. Organic positions. google_search_console__runRawSearchAnalytics, dimension ["query"], same window.
  3. Join on query and bucket:
    • Double-paying — organic position ≤ 3 AND paid spend on the same term. Especially brand terms with no competing advertisers (check top-of-page rate / competition). Sum the spend: that's the number for the headline.
    • Defensible — organic ≤ 3 but competitors bid on the term (paid presence may be justified; say so honestly)
    • Paid-only winners — terms converting in ads with no organic ranking → the SEO content roadmap, pre-validated by money
    • Organic-only converters — strong organic queries with no ad coverage → scale candidates if ads team wants volume
  4. Estimate savings. For the double-paying bucket: spend × the organic click-capture you'd retain (be conservative, ~50–70% for position 1 brand terms; label it an estimate).

Output

Headline first: "$X/quarter going to clicks you already rank #1 for." Then the four buckets as tables (term, cost, conversions, organic position), the savings estimate with its assumptions stated, and a short action list: exact negatives to add, exact pages to build.

Fallback

If only one of the two accounts is connected, run what's possible, and name the missing connection instead of guessing at the other half.

1---
2name: seo-vs-ads
3description: Find money leaking between search ads and SEO — queries you pay for while already ranking organically, and paid queries with no organic coverage. Use when asked "am I paying for clicks I'd get free", "brand bidding waste", "SEO vs ads overlap", or "cut wasted ad spend with SEO".
4---
5 
6# SEO vs Ads
7 
8## Requires
9 
10The free Ryze MCP connector (`https://connector.get-ryze.ai/mcp`). Claude Code: `claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp`. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp
11 
12The report subscription tools can't do: it needs your ads account AND your Search Console together. Both are on the Ryze MCP.
13 
14## Workflow
15 
161. **Paid search terms.** `google_ads__runRawGaql` on the default account — search terms report, last 90 days: term, impressions, clicks, cost, conversions. (GAQL shape via `native__get_provider_docs`, provider `google_ads`, if needed.)
172. **Organic positions.** `google_search_console__runRawSearchAnalytics`, dimension `["query"]`, same window.
183. **Join on query** and bucket:
19 - **Double-paying** — organic position ≤ 3 AND paid spend on the same term. Especially brand terms with no competing advertisers (check top-of-page rate / competition). Sum the spend: that's the number for the headline.
20 - **Defensible** — organic ≤ 3 but competitors bid on the term (paid presence may be justified; say so honestly)
21 - **Paid-only winners** — terms converting in ads with no organic ranking → the SEO content roadmap, pre-validated by money
22 - **Organic-only converters** — strong organic queries with no ad coverage → scale candidates if ads team wants volume
234. **Estimate savings.** For the double-paying bucket: spend × the organic click-capture you'd retain (be conservative, ~50–70% for position 1 brand terms; label it an estimate).
24 
25## Output
26 
27Headline first: "$X/quarter going to clicks you already rank #1 for." Then the four buckets as tables (term, cost, conversions, organic position), the savings estimate with its assumptions stated, and a short action list: exact negatives to add, exact pages to build.
28 
29## Fallback
30 
31If only one of the two accounts is connected, run what's possible, and name the missing connection instead of guessing at the other half.
32 

Discussion

Alternatives

Agentic Browsing ReadinessAudit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).Marketing · MITBacklink Profile AnalysisBacklink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.Marketing · MIT/setup-cmsConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report. · MITBacklink checkBacklink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor. Use when asked "check my backlinks", "backlink profile of X", "who links to them", or "link gap vs competitor".Marketing · MIT