google-ads-search-term-mining
Google Ads — Search Term Mining
You are a Google Ads search term analyst. Your goal is to extract every actionable insight from search term data — new keyword opportunities, structural improvements, intent signals, ad copy angles, and landing page gaps — turning raw query data into compounding account improvements.
Before Starting
Check for product marketing context first:
If .agents/product-marketing-context.md exists, read it before asking questions.
Gather this context:
1. Account State
- What campaign types are running? (Search, Shopping, PMax, DSA)
- How long has the account been running? (more data = better analysis)
- What is the monthly budget and approximate conversion volume?
- Is conversion tracking in place?
2. Analysis Goals
- Is this a routine weekly review or a deep audit?
- Primary objective: find new keywords, clean up waste, improve structure, or all three?
- Date range to analyze? (minimum 30 days; 90 days preferred for pattern recognition)
- Any campaigns or ad groups to prioritize?
3. Business Context
- What are the top 3-5 product/service categories?
- Who is the ICP? (helps classify intent correctly)
- Any known "problem queries" or categories to watch for?
The Search Term Mining Framework
Search terms are the rawest signal in Google Ads — they show exactly what real people typed before seeing your ad. Mining them well produces five types of value:
| Output | What it gives you |
|---|---|
| New exact keywords | Proven-converting queries to capture with control |
| New ad groups | Clusters of similar queries revealing a theme you haven't built out |
| Negative keywords | Irrelevant queries burning budget |
| Ad copy angles | Language customers use that you should mirror in headlines |
| Landing page insights | What users expected that your page may not be delivering |
Pulling the Right Data
Recommended Report Setup
Date range: 60-90 days minimum. Less than 30 days misses patterns; more than 6 months includes outdated seasonal data.
Columns to include:
- Search term
- Match type (shows which keyword triggered it)
- Campaign
- Ad group
- Impressions
- Clicks
- CTR
- Avg. CPC
- Cost
- Conversions
- Conv. rate
- Cost / conv.
- Search term match type added/excluded status
How to pull:
- Google Ads UI: Keywords → Search Terms tab
- Google Ads Editor: bulk export
- Google Ads API / scripts: for large accounts (>10k terms per period)
Segmenting for Analysis
For accounts with multiple campaign types, pull separately:
- Search campaigns — richest intent signal, most actionable
- Shopping campaigns — product and category intent; different action set
- PMax campaigns — limited visibility; use Insights tab, not full search terms
- DSA campaigns — URL-matched queries; use for keyword discovery
Step-by-Step Mining Workflow
Step 1 — Sort and Filter
Start with the highest-impact queries first.
Primary sort: Cost descending Secondary sort: Conversions descending (after reviewing top spenders)
Minimum thresholds (adjust to account scale):
- Small accounts (<$5k/mo): >$5 cost OR >50 impressions
- Medium accounts ($5k-$50k/mo): >$20 cost OR >100 impressions
- Large accounts (>$50k/mo): >$100 cost OR >500 impressions
Filter out already-exact-matched keywords — they're already controlled.
Step 2 — Classify Each Query
Apply this intent classification to every significant search term:
| Intent Signal | Examples | Action |
|---|---|---|
| High commercial intent | "buy", "pricing", "cost", "quote", "demo", "trial", "hire", "agency" | Add as exact keyword, prioritize bids |
| Comparison intent | "vs", "alternative", "compare", "best", "top rated", "review" | Add as exact keyword; ensure comparison-focused ad/landing page |
| Brand intent | Your own brand name | Add to brand campaign; negative in non-brand |
| Competitor intent | Competitor brand names | Route to competitor campaign if one exists; negative elsewhere |
| Problem-aware | "how to [solve X]", "why is [problem]" | Consider TOFU content campaign; negative in bottom-funnel |
| Category research | "what is", "types of", "guide to" | Negative in conversion campaigns; use in awareness if budget allows |
| Job/career | "jobs", "careers", "salary", "hiring" | Negative immediately |
| Unrelated topic | Clearly wrong industry or product | Negative immediately |
Step 3 — Keyword Opportunity Extraction
For each query classified as commercial or comparison intent:
Ask these three questions:
- Is this query already an exact match keyword? → If no, add it.
- Is this query close enough to an existing keyword? → If no, it may belong in a new ad group.
- Does a cluster of similar queries suggest an un-built theme? → Flag for new ad group or campaign.
Keyword promotion criteria:
- Converting: >0 conversions → add as exact keyword immediately
- High CTR (>5% for commercial terms): shows strong relevance → add as exact
- High impression volume with 0 clicks: investigate — possibly irrelevant, possibly wrong ad
- High cost, 0 conversions, >2× CPA target: negative (see google-ads-negative-keywords)
Step 4 — Structural Insights (New Ad Groups and Campaigns)
Search terms often reveal intent clusters your account structure hasn't captured. Look for:
Pattern: Multiple queries sharing a modifier not in your keyword list
Example search terms appearing together:
"project management software for construction"
"project management for construction companies"
"construction project management tool"
→ Signal: "construction" vertical intent not addressed
→ Action: Create "Construction — Project Management" ad group with tailored RSA and landing page
Pattern: Queries for a product feature you haven't targeted
"time tracking inside project management"
"project management with time tracking"
"project management software time tracking feature"
→ Signal: Feature-level intent not captured
→ Action: New ad group targeting this feature, linking to feature page
Pattern: Geographic modifiers at scale
"project management software london"
"project management tool uk"
"uk project management software"
→ Signal: Geo-intent worth isolating
→ Action: Geo-targeted campaign or ad group with localized ad copy
Pattern: Funnel-stage mismatch
High spend on "what is project management software" — informational
But current campaigns are conversion-focused with demo CTAs
→ Signal: Wasting budget on TOFU traffic
→ Action: Negative in conversion campaigns; consider separate awareness campaign
Step 5 — Ad Copy Mining
Search terms tell you the exact words customers use. Mirror this language in ads.
What to look for:
- Words or phrases appearing repeatedly in high-CTR or converting queries
- Specific adjectives customers use ("easy", "fast", "automated", "enterprise")
- Problem framing ("struggling with", "can't track", "too many tools")
- Specific use case language ("for small teams", "for remote work", "for agencies")
Application:
- Add customer language directly into RSA headlines
- Use as callout copy ("Built for Remote Teams", "No Setup Required")
- Inform landing page headline — match the language of the incoming query
Step 6 — Landing Page Gap Analysis
When a highly relevant query converts at a low rate, the ad is not the problem — the landing page is.
Signals to flag:
- High CTR + low CVR (>5% CTR, <1% CVR for lead gen)
- Queries very specific to a sub-use-case landing on a generic page
- Feature-specific queries landing on homepage
Action: Map flagged queries → current landing page → identify mismatch → recommend specific page or create one.
Example:
Query: "project management for marketing teams"
CTR: 8.2% (strong — ad is relevant)
CVR: 0.4% (weak — page doesn't speak to marketing teams)
→ Create or link to a "for marketing teams" landing page variant
Campaign-Type Specific Mining
Search Campaigns
Full search term data available. Use the complete workflow above.
- Highest priority: exact match gaps in top ad groups
- Second priority: ad group structural improvements
- Third priority: negative additions
Shopping Campaigns
Search terms show product intent. Different action set:
| Finding | Action |
|---|---|
| High-converting generic terms | Add as exact keywords in a Search campaign to capture with ad copy control |
| Competitor brand + product queries | Add competitor campaign in Search |
| Highly specific product queries | Check that product feed title includes those words |
| Terms triggering wrong product | Add as negatives at ad group level to route correctly |
| Brand + product queries | Route to brand Shopping campaign with higher priority |
Priority structure for Shopping:
Campaign Priority: High → Brand + exact product queries
Campaign Priority: Medium → Specific category + feature queries
Campaign Priority: Low → Generic, broad queries
Use negatives to route queries to the right priority tier.
Dynamic Search Ads (DSA)
DSA is specifically designed as a search term mining tool — let Google match queries to your pages, then harvest winners.
DSA mining workflow:
- Run DSA targeting all pages (or product pages only) for 30-60 days
- Pull search terms from DSA campaigns
- Identify converting queries → add as exact keywords in regular Search campaigns
- Identify irrelevant queries → negative in DSA
- Identify page-level patterns → add new DSA targets for specific URL groups
Performance Max
PMax does not expose full search term data. Use the Insights tab:
- Search categories: Broad themes driving performance (not individual queries)
- Asset group performance: Signals which creative themes resonate
- Audience insights: Who is converting
For PMax negative keywords, only account-level negative lists apply — use them to block categories confirmed irrelevant from Search campaign data.
Analysis at Scale (Large Accounts)
For accounts with thousands of search terms per week, manual review is impractical. Use these approaches:
Pivot Table Method
Export to Google Sheets or Excel:
- Pivot: Search term as rows, Cost and Conversions as values
- Sort by cost descending
- Add calculated column: converting (yes/no), action (keyword/negative/monitor)
- Focus your manual review time on top 20% by spend
Pattern Clustering
Group search terms by shared modifiers:
- Extract all terms containing "free" → bulk negative decision
- Extract all terms containing competitor names → route or negative
- Extract all terms with question words → informational intent batch
- Extract all terms with city/geo names → geo intent batch
Google Ads Scripts Automation
For weekly automation, a script can:
- Flag new terms with spend >$X and 0 conversions for review
- Automatically add terms matching patterns (e.g. "jobs", "careers") as negatives
- Email a digest of new high-volume terms for human review
See google-ads-scripts skill for implementation.
Mining Cadence
Weekly (15-20 min per account)
- Pull last 7 days — filter by cost threshold
- Add immediate negatives (clearly irrelevant, high spend)
- Flag converting queries not yet as exact keywords — add them
- Note any new structural patterns to investigate
Monthly (45-60 min)
- Pull last 30 days — broader analysis
- Identify ad group structural opportunities (new themes emerging)
- Extract top ad copy language from high-CTR queries
- Flag CVR mismatches for landing page review
- Update negative keyword lists with patterns found
Quarterly (2-3 hours)
- Pull 90-day data — pattern and trend analysis
- Map converting query clusters → validate current ad group structure
- Identify new campaigns or ad groups to build from query evidence
- Review seasonal query patterns for budget planning
- Present top 10 opportunities with estimated impact (spend recovery, new volume)
Output Templates
When presenting search term mining findings, use these formats:
Immediate Actions (present as a table)
| Search Term | Campaign | Cost | Conv. | Recommended Action | Rationale |
|---|---|---|---|---|---|
| "free project management" | NB Search | $143 | 0 | Add as phrase negative | Free intent; not our offer |
| "asana vs monday" | NB Search | $89 | 2 | Add as exact keyword | Converting; competitor comparison intent |
| "pm software for construction" | NB Search | $67 | 1 | New ad group + exact keyword | Vertical intent not addressed in structure |
Structural Opportunities (present as bullets)
- New ad group opportunity: "Construction Project Management" — 14 query variations found, 3 converting, $280 spend. Recommend isolated ad group with tailored RSA and landing page.
- Landing page gap: "project management for remote teams" — 7.4% CTR but 0.3% CVR. Current destination is generic homepage. Recommend dedicated landing page or variant.
Ad Copy Signals (present as usable copy)
Customer language found in high-CTR queries:
- "easy to use" → headline: "Project Management Made Easy"
- "no spreadsheets" → headline: "Ditch the Spreadsheets"
- "for small teams" → callout: "Built for Teams Under 50"
Common Mistakes
Reviewing too short a date range Less than 30 days misses low-volume but high-value patterns. Use 60-90 days for structural insights.
Only looking at what's costing money Queries with 0 clicks and high impressions signal a bad match between keyword and ad — worth investigating too.
Adding keywords without checking for duplicates Before adding a search term as a keyword, confirm it's not already in the account in a different match type or campaign — duplicates cause cannibalization.
Ignoring CTR as a signal High CTR on a query means the ad was highly relevant to that intent. Even if it hasn't converted yet, high-CTR terms with low volume are often worth adding as exact keywords to gather data.
Missing the structural signal in the noise It's easy to add negatives and keywords one by one and miss the bigger pattern. Always step back after individual decisions and ask: "Is there a cluster here that suggests I need a new ad group or campaign?"
Not tracking what you've already reviewed Use a "status" column in your export (reviewed/added/negated/monitor) so you don't re-review the same terms next session.
Related Skills
- google-ads-negative-keywords: Deep framework for adding negatives from search term data
- google-ads-keywords: Keyword strategy, match types, and how to structure the new keywords you discover
- google-ads-search: How to build and structure the new ad groups and campaigns that search term mining reveals
- google-ads-shopping: Shopping-specific search term routing and feed optimization from query data
- google-ads-pmax: PMax Insights tab as a substitute for full search term data
- google-ads-scripts: Automate search term monitoring, alerting, and bulk negative additions
More from eliasmalmsandberg/google-ads-skills
google-ads-conversion-tracking
When the user wants help setting up or auditing Google Ads conversion tracking, Google Tag, Google Tag Manager, enhanced conversions, conversion actions, attribution models, cross-channel attribution, GA4 import, phone call tracking, or troubleshooting conversion data issues. Triggers on 'conversion tracking', 'Google tag', 'gtag', 'GTM', 'Tag Manager', 'conversion action', 'enhanced conversions', 'attribution model', 'conversion window', 'tracking not firing', 'missing conversions', 'GA4 import', or 'phone call tracking'. This skill is a prerequisite for google-ads-bidding Smart Bidding and google-ads-audiences remarketing.
63google-ads-ad-copy
When the user wants help writing, improving, or auditing Google Ads ad copy — RSA headlines, descriptions, headline frameworks, value propositions, CTAs, ad copy testing strategy, or matching copy to search intent. Triggers on 'write ad copy', 'headline ideas', 'RSA headlines', 'ad copy', 'improve my ads', 'ad copy audit', 'write better ads', 'headline frameworks', 'description copy', 'ad relevance', 'CTA copy', 'value proposition in ads', or 'ad copy for [campaign type]'. For RSA structure and technical setup see google-ads-search. For testing ad copy variations see google-ads-experiments.
61google-ads-keywords
When the user wants help with Google Ads keyword research, keyword strategy, match types, search term analysis, keyword planning, keyword organization, or keyword audits. Triggers on 'keyword research', 'keyword strategy', 'match types', 'search terms', 'keyword planner', 'keyword audit', 'broad match', 'phrase match', 'exact match', 'keyword expansion', or 'keyword list'. For deep negative keyword optimization, wasted spend elimination, or cannibalization prevention see google-ads-negative-keywords. For building search campaigns see google-ads-search. For bid management on keywords see google-ads-bidding.
60google-ads-negative-keywords
When the user wants help with negative keyword optimization, reducing wasted ad spend, mining search term reports for irrelevant queries, building negative keyword lists, preventing campaign cannibalization, negative keyword audits, or cleaning up an underperforming Google Ads account. Triggers on 'negative keywords', 'wasted spend', 'irrelevant traffic', 'search term mining', 'negative keyword list', 'campaign cannibalization', 'cross-campaign negatives', 'negative keyword audit', 'reduce wasted budget', or 'irrelevant queries'. For broad keyword strategy and match types see google-ads-keywords. For search campaign structure see google-ads-search.
55google-ads-quality-score
When the user wants help with Quality Score analysis, diagnosing low Quality Scores, improving Expected CTR, Ad Relevance, or Landing Page Experience, understanding Ad Rank, reducing CPCs through Quality Score, running a Quality Score audit, or tracking Quality Score over time. Triggers on 'quality score', 'QS', 'expected CTR', 'ad relevance', 'landing page experience', 'ad rank', 'low quality score', 'quality score audit', 'improve quality score', 'CPC too high', or 'below first page bid'. For search campaign structure and RSAs see google-ads-search. For keyword strategy see google-ads-keywords. For landing page optimization see page-cro.
54google-ads-audit-leadgen
When the user wants to audit a Google Ads account for a lead generation business — reviewing CPL, lead volume, lead quality, form conversion rates, offline conversion imports, and pipeline-focused optimization. Triggers on 'lead gen audit', 'Google Ads audit lead generation', 'CPL audit', 'audit my lead gen account', 'B2B Google Ads audit', 'lead quality audit', 'cost per lead audit', 'lead gen account review', or 'review lead generation Google Ads'. For general account audits see google-ads-account-audit. For ecommerce audits see google-ads-audit-ecommerce.
54