Agent skill

Google Ads Search Terms

by TheMattBerman in TheMattBerman/google-ads-copilot

Analyze a Google Ads search terms report for waste, buyer-intent signals, negative candidates, isolation opportunities, and messaging clues.

MITAuto-check passedMarketing & SEO

Install Google Ads Search Terms

skills CLI
$ npx skills add TheMattBerman/google-ads-copilot --skill google-ads-search-terms -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheMattBerman/google-ads-copilot google-ads-search-terms --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheMattBerman/google-ads-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-ads-search-terms .claude/skills/google-ads-search-terms && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
google-ads-search-terms
GitHub stars
238
Token cost
~2.1k tokens
SKILL.md length
788 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Analyze a Google Ads search terms report for waste, buyer-intent signals, negative candidates, isolation opportunities, and messaging clues.

  • Works in 12 steps: Announce mode (connected/export). → In connected mode, run the shared… → If retrieval mode is pmax-fallback,… → …
  • Tasks that involve Paid advertising
  • SKILL.md covers Data Acquisition, Process, Draft Output and Output Shape, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Google Ads Search Terms is an agent skill from TheMattBerman/google-ads-copilot. Analyze a Google Ads search terms report for waste, buyer-intent signals, negative candidates, isolation opportunities, and messaging clues. Pulls live data via MCP or works with manual exports. Produces negative keyword drafts and RSA drafts when findings warrant.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering Paid advertising. It works with Google Ads and Model Context Protocol. The repository describes itself as: Google Ads Copilot: operator kit for audits, MCP-connected reads, export-mode analysis, and draft/apply workflows. The licence is MIT.

When your agent uses it

  • Tasks that involve Paid advertising

Example prompts

  • “/google-ads-search-terms”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Announce mode (connected/export).
  2. In connected mode, run the shared retrieval ladder (data/search-term-retrieval.md). Report the resulting retrieval_mode in the output…
  3. If retrieval mode is pmax-fallback, present query rows but do not fabricate cost/CPA analysis. If limited, shift to…
  4. Review terms by spend, conversions, CPA/ROAS, and recurring modifiers when those metrics are available.
  5. Group terms into meaningful clusters (buyer intent, comparison, informational, junk, branded).
  6. Cross-reference against existing negatives — don't re-recommend what's already excluded.
  7. Cross-reference against keyword_view when keyword rows exist — identify which targeted keywords triggered wasteful search terms. If a…
  8. Cross-reference against the Intent Map — update it if new patterns emerge.
  9. Identify
  10. Extract messaging clues from high-value language (feeds RSA recommendations).
  11. Recommend safest negative match type + scope where warranted.
  12. Use the deliverable templates for operator summary + negative recommendations.

What it can do on your machine

Read from SKILL.md and the folder at commit 2c253ee. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are sql).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Google Ads Search Terms loads about 2.1k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 788 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheMattBerman/google-ads-copilot at commit 2c253ee, republished under its MIT licence (© TheMattBerman). 788 words, ~2,096 tokens.

Download SKILL.mdSave it as .claude/skills/google-ads-search-terms/SKILL.md (or your agent's skills folder).
name
google-ads-search-terms
description
Analyze a Google Ads search terms report for waste, buyer-intent signals, negative candidates, isolation opportunities, and messaging clues. Pulls live data via MCP or works with manual exports. Produces negative keyword drafts and RSA drafts when findings warrant.

Google Ads Search Terms Review

Read first:

  • google-ads/references/operator-thesis.md
  • google-ads/references/query-patterns.md
  • google-ads/references/intent-map.md
  • google-ads/references/negatives-playbook.md
  • google-ads/references/deliverable-templates.md

Read workspace if available:

  • workspace/ads/account.md
  • workspace/ads/goals.md
  • workspace/ads/intent-map.md
  • workspace/ads/queries.md
  • workspace/ads/negatives.md
  • workspace/ads/learnings.md

Data Acquisition

Connected Mode (MCP available)

Pull via the search tool on google-ads-mcp:

Primary: Search terms report — last 30 days, by spend:

sql
SELECT
  search_term_view.search_term,
  search_term_view.status,
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value,
  metrics.cost_per_conversion
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
LIMIT 500

Retrieval ladder — if the primary query returns no rows, follow the shared retrieval ladder in data/search-term-retrieval.md. The ladder walks through account-wide → search-only → campaign enumeration → campaign-scoped classic → PMax campaign_search_term_view → limited visibility. Each step labels its retrieval_mode and the diagnostics shape is defined in that doc. Report the retrieval mode in the output header. In pmax-fallback mode, present query rows but do not fabricate cost/CPA analysis. In limited mode, shift to campaign/asset-group/tracking analysis and request a UI export.

Supplementary: High-spend zero-conversion terms (waste hunt):

sql
SELECT
  search_term_view.search_term,
  campaign.name,
  ad_group.name,
  metrics.cost_micros,
  metrics.clicks,
  metrics.impressions
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
  AND metrics.conversions = 0
  AND metrics.cost_micros > 10000000
ORDER BY metrics.cost_micros DESC

Supplementary: Keyword view (cross-reference with targeted keywords):

sql
SELECT
  campaign.name,
  ad_group.name,
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type,
  ad_group_criterion.status,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.cost_per_conversion
FROM keyword_view
WHERE campaign.status = 'ENABLED'
  AND ad_group.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
LIMIT 200

Why keyword_view matters for search-terms analysis:

  • Shows which targeted keywords triggered the search terms you're reviewing
  • Reveals match type expansion: a broad match keyword "recycling" triggering "beer can recycling near me"
  • Identifies keywords that are generating disproportionate waste (the keyword is the problem, not just the search term)
  • Informs whether the fix is a negative keyword or a keyword match type change
  • Cross-reference: if a wasteful search term comes from a single broad-match keyword, narrowing or pausing that keyword may be better than adding negatives

Supplementary: Existing negatives (to avoid duplicates):

sql
SELECT
  campaign.name,
  campaign_criterion.keyword.text,
  campaign_criterion.keyword.match_type,
  campaign_criterion.negative
FROM campaign_criterion
WHERE campaign_criterion.negative = TRUE
  AND campaign_criterion.type = 'KEYWORD'

See data/gaql-recipes.md for additional queries.

Date Range Fallback

If LAST_30_DAYS returns 0 rows or <$5 total spend, fall back to LAST_90_DAYS, then all-time (no date filter). Always state the date range used in the output. See the main skill's Date Range Fallback Protocol for details.

Export Mode (no MCP)

Ask the user for:

  • Search Terms report: last 30 days
  • Columns needed: Search term, Campaign, Ad group, Impressions, Clicks, Cost, Conversions, Conv. value
  • Sort by Cost descending
  • Include at least top 200-500 terms

Also request existing negative keyword list if available.

See data/export-formats.md for recommended format.


Process

  1. Announce mode (connected/export).
  2. In connected mode, run the shared retrieval ladder (data/search-term-retrieval.md). Report the resulting retrieval_mode in the output header.
  3. If retrieval mode is pmax-fallback, present query rows but do not fabricate cost/CPA analysis. If limited, shift to campaign/asset-group/tracking analysis and request a UI export.
  4. Review terms by spend, conversions, CPA/ROAS, and recurring modifiers when those metrics are available.
  5. Group terms into meaningful clusters (buyer intent, comparison, informational, junk, branded).
  6. Cross-reference against existing negatives — don't re-recommend what's already excluded.
  7. Cross-reference against keyword_view when keyword rows exist — identify which targeted keywords triggered wasteful search terms. If a single broad-match keyword is responsible for multiple waste clusters, recommend narrowing/pausing that keyword alongside (or instead of) adding negatives.
  8. Cross-reference against the Intent Map — update it if new patterns emerge.
  9. Identify:
    • Keep/scale — high-intent, converting, efficient
    • Isolate — different intent class, needs its own bucket
    • Exclude — clear waste, no plausible path to conversion
    • Watchlist — ambiguous, needs more data
  10. Extract messaging clues from high-value language (feeds RSA recommendations).
  11. Recommend safest negative match type + scope where warranted.
  12. Use the deliverable templates for operator summary + negative recommendations.
  13. Update workspace memory files.
Show full SKILL.md (273 more words)Show less

Draft Output

Negative Keyword Draft

Trigger: 3+ clear waste terms identified with combined spend > $50 (or any single term > $25 waste).

Create a draft using drafts/templates/negative-draft.md:

  • Write to workspace/ads/drafts/YYYY-MM-DD-[account-slug]-negatives.md
  • Include every recommended negative with: keyword, match type, scope, reason, spend wasted, collateral risk
  • Update workspace/ads/drafts/_index.md
RSA Draft

Trigger: Clear buyer language patterns identified that differ from current ad copy.

Create a draft using drafts/templates/rsa-draft.md:

  • Write to workspace/ads/drafts/YYYY-MM-DD-[account-slug]-rsa-refresh.md
  • Include specific headlines/descriptions derived from converting query language
  • Update workspace/ads/drafts/_index.md
Always update workspace memory:
  • workspace/ads/queries.md — notable patterns and clusters
  • workspace/ads/intent-map.md — if new intent classes emerge
  • workspace/ads/negatives.md — recommended negatives (even before draft approval)
  • workspace/ads/findings.md — strategic observations

Output Shape

  1. Account Status block — account name, CID, status, date range used, tracking confidence, mode
  2. Data summary (terms analyzed, date range, total spend covered)
  3. Retrieval mode note:
    • Classic Search mode — full search-term metrics available
    • PMax fallback mode — query rows available, but term-level metrics may be limited
    • Limited visibility mode — Google exposed insufficient query detail; shift to inference and operator next step
  4. Cluster analysis (intent groups with performance)
  5. Waste identification (specific terms, amounts, patterns)
  6. Signal identification (buyer language, emerging opportunities)
  7. Isolation opportunities (intent that deserves its own bucket)
  8. Messaging clues (language for RSA recommendations)
  9. Confidence assessment
  10. Drafts created (with paths and summaries)
  11. Memory updates

Rules

  • Do not recommend broad negatives casually.
  • Do not call something junk just because it has low volume.
  • Distinguish poor execution from poor intent.
  • Favor cluster-level interpretation over row-by-row trivia.
  • Always produce a negative draft when waste is clear. Do not leave actionable negatives buried in analysis prose.
  • Cross-check existing negatives before recommending — duplicates waste operator trust.

© TheMattBerman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/google-ads-search-terms of TheMattBerman/google-ads-copilot.

Open the folder on GitHubat commit 2c253ee

Compare with similar skills

Google Ads Search Terms next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Google Ads Search Terms compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Ads Search Terms this skillTheMattBerman/google-ads-copilot238—~2.1kAutomated safety check: PassMIT
Google Ads Landing Page Auditnowork-studio/notfair-plugin3.9k—~306Automated safety check: PassMIT
Google Ads API MCP Setupgoogle/skills21k—~6.1kAutomated safety check: NotesApache-2.0
21 Audit Ads Performanceminhnv0807/ai-business-skills609—~4.6kAutomated safety check: PassMIT
Blog GoogleAgriciDaniel/claude-blog2.3k1 repos~3.3kAutomated safety check: NotesMIT
AdsCesarjoquin/Marketing-Skills2021 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • Google Ads Landing Page Audit

    nowork-studio/notfair-plugin

    Scores Google Ads landing pages on five weighted dimensions and diagnoses why high-CTR ad groups convert poorly, with concrete fixes for each page.

    3.9k GitHub stars~306 tokensUpdated today
    Marketing & SEOAuto-check passed
  • Official

    Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server.

    21k GitHub stars~6.1k tokensUpdated today
    Marketing & SEOAuto-check: notes
  • 21 Audit Ads Performance

    minhnv0807/ai-business-skills

    Dung khi can ra soat CAU HINH tai khoan quang cao mot cach he thong — 6 khau tu account, campaign, adset, creative, landing den tracking, cham Health Score 0-100 va liet ke Quick Wins.

    609 GitHub stars~4.6k tokensUpdated 28 days ago
    Marketing & SEOAuto-check passed
  • Blog Google

    AgriciDaniel/claude-blog

    Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…

    2.3k GitHub starsUsed in 1 repo~3.3k tokens
    Marketing & SEOAuto-check: notes
  • Ads

    Cesarjoquin/Marketing-Skills

    When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.

    202 GitHub starsUsed in 1 repo~3.5k tokens
    Marketing & SEOAuto-check passed
  • Ads

    coreyhaines31/marketingskills

    When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.

    54k GitHub starsUsed in 1 repo~7k tokens
    Marketing & SEOAuto-check passed

More from TheMattBerman/google-ads-copilot

All 16 skills in this repo
  • Google Ads

    TheMattBerman/google-ads-copilot

    Google Ads operator system for search-term analysis, intent mapping, wasted spend control, account structure decisions, tracking diagnostics, RSA generation, budget review, account planning, and…

    238 GitHub stars~4.1k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Apply

    TheMattBerman/google-ads-copilot

    Execute approved draft actions in Google Ads accounts. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Audit

    TheMattBerman/google-ads-copilot

    Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read.

    238 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Budget

    TheMattBerman/google-ads-copilot

    Review Google Ads budget allocation and scaling decisions based on signal quality, intent clarity, tracking confidence, and structural health.

    238 GitHub stars~1.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Connect

    TheMattBerman/google-ads-copilot

    Connected-mode onboarding, health check, and customer selection for Google Ads Copilot.

    238 GitHub stars~2.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Daily

    TheMattBerman/google-ads-copilot

    Daily operator review for Google Ads. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~1.2k tokensUpdated 4 mo ago
    Auto-check passed

Categories

Questions about Google Ads Search Terms

What does Google Ads Search Terms do?

Analyze a Google Ads search terms report for waste, buyer-intent signals, negative candidates, isolation opportunities, and messaging clues. Google Ads Search Terms is an agent skill from TheMattBerman/google-ads-copilot. Analyze a Google Ads search terms report for waste, buyer-intent signals, negative candidates, isolation opportunities, and messaging clues.

When should I use Google Ads Search Terms?

Google Ads Search Terms fits situations like: tasks that involve Paid advertising.

How do I install Google Ads Search Terms in Claude Code?

Run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-search-terms -a claude-code`. Or copy the skill folder (skills/google-ads-search-terms in TheMattBerman/google-ads-copilot) into .claude/skills/google-ads-search-terms in your project. Claude Code loads it when a task matches its description.

How do I install Google Ads Search Terms in Codex?

Run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-search-terms -a codex`. Or copy the skill folder (skills/google-ads-search-terms in TheMattBerman/google-ads-copilot) into .agents/skills/google-ads-search-terms in your project. Codex loads it when a task matches its description.

Can I use Google Ads Search Terms in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-search-terms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-ads-search-terms, .gemini/skills/google-ads-search-terms, .github/skills/google-ads-search-terms and .opencode/skills/google-ads-search-terms in your project.

What does Google Ads Search Terms need to run?

SKILL.md names no scripts, command-line tools or credentials: Google Ads Search Terms is instructions for the agent only.

Does Google Ads Search Terms access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Google Ads Search Terms safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Google Ads Search Terms use?

Google Ads Search Terms is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Ads Search Terms use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Google Ads Search Terms?

Skills that share tags, products or a category with Google Ads Search Terms: Google Ads Landing Page Audit (nowork-studio/notfair-plugin, 3.9k stars), Google Ads API MCP Setup (google/skills, 21k stars), 21 Audit Ads Performance (minhnv0807/ai-business-skills, 609 stars) and Blog Google (AgriciDaniel/claude-blog, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Google Ads Search Terms?

TheMattBerman (a GitHub user) maintains it in TheMattBerman/google-ads-copilot, which has 238 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on June 10, 2026.

Source: TheMattBerman/google-ads-copilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.