Claude for Search Terms Analysis in Google Ads
How to process thousands of search terms with Claude to find negatives, intent, and hidden gems that a manual analysis can't catch.
In this article
A Google Ads account with €30,000 of monthly spend produces between 5,000 and 15,000 unique search terms a month across its search campaigns. Looking at them one by one isn’t viable, and the interface filters (minimum impressions, minimum clicks, CPA above X) leave out most of the long tail — which is exactly where account performance is won or lost.
Claude solves that part with an efficiency that shifts the workflow: classifying 5,000 queries into buckets of intent, brand, navigational, irrelevant, in minutes rather than hours. This guide explains the method step by step, which prompts work, and where analysis with Claude still needs human supervision.
30-second summary:
- Search terms reports contain signals about user intent and negative-keyword opportunities that manual analysis can’t capture at volume
- The method that works best is exporting to CSV + batch-processing with Claude API or Projects + re-importing as negatives
- For 5,000 queries, Claude Haiku 4.5 classifies in batches of 100-200 queries at very low cost
- Categories best automated: irrelevant (negatives), informational (review before excluding), navigational (split into brand campaign)
- What still requires human review: ambiguous queries, special characters, and polysemous words

Why are search terms reports an underused goldmine?
The search terms report is probably the richest piece of data Google Ads provides, and paradoxically one of the least systematically analyzed.
The reason’s practical: with 5,000 or 10,000 unique queries a month, no exhaustive manual analysis is viable. What most accounts do is filter by minimum impressions or clicks, look at the top 100, and apply negatives on the most obvious ones. That covers the top 5-10% by volume but leaves untouched the remaining 90% where small opportunities pile up that, together, matter.
The three most common opportunities in that 90%:
- Negatives for clear irrelevance: queries that mix your product with a use or sector you don’t serve (e.g. “headphones for swimming” if you sell for gym)
- Informational queries mixed with commercial ones: “what is X” or “how does Y work” that don’t convert but accumulate clicks
- Misclassified brand variations: typos, abbreviations, spelling errors that should go to the brand campaign
Claude lets you process the full volume in a fraction of the time. The bottleneck is no longer analysis capacity but prompt quality and sample review.
The full flow: exporting search terms and processing with Claude
The method that works best in accounts I’ve optimized has five phases:
- Export the report: in the Google Ads interface, Reports → Search terms → Download CSV. Filter by the last 30-90 days depending on volume.
- Clean the CSV: remove unnecessary columns, keep only query, campaign, impressions, clicks, cost, conversions, CPA, CVR.
- Process in batches with Claude: send blocks of 100-200 queries with a classification prompt. Don’t process 5,000 queries at once; context and coherence hold better in smaller batches.
- Sample review: manually validate the first 20-30 classifications before applying the rest to production.
- Apply negatives in bulk: queries marked “irrelevant” get loaded as exact negatives into the corresponding campaign via Google Ads Editor.
Total time for an account with 5,000 queries using this flow runs between 2 and 4 hours, versus the 15-25 hours a rigorous manual analysis would take. Result quality depends almost entirely on the prompt and on the feedback applied in the first batches.
Which prompts work for classifying search terms?
The prompt that gives the best result in my experience has four components: business context, operational definitions of each category, examples, and restrictions.
I'm a PPC consultant working on a Google Ads account for [business type:
women's fashion ecommerce in Spain / B2B SaaS for inventory management / etc].
I'll give you a list of search terms. Classify each one into ONE category:
1. CONVERSION: user with clear intent to buy/contract
(e.g. "buy X", "X price", "X 24h shipping", "X reviews")
2. INFORMATIONAL: user looking for information, not immediate purchase
(e.g. "what is X", "how does X work", "difference between X and Y")
3. BRAND: includes the client's brand, its typos or variants
[Client brand is: "{{brand_name}}", also written as: {{variants}}]
4. COMPETITOR: includes competitor brand
[Competitors: {{competitor_list}}]
5. IRRELEVANT: user looking for something the client doesn't offer
(e.g. different uses, different markets, different categories)
6. AMBIGUOUS: can't be classified confidently, requires human review
Rules:
- Don't invent information about the brand or product if it's not in the context
- If in doubt, assign AMBIGUOUS, don't invent a category
- Output: one line per query in the format: "QUERY | CATEGORY | REASON (max 10 words)"
Queries to classify:
{{queries_list}}
On a test batch of 300 queries in an ecommerce account, this prompt achieved:
- 92% of queries correctly classified per subsequent manual validation
- 6% flagged as AMBIGUOUS (mandatory human review)
- 2% misclassified, almost all due to polysemy (“running” as a shoe vs. as an activity)
The most frequent error I see when someone starts with this flow is not giving enough business context. A prompt without the line “[business type: women’s fashion ecommerce in Spain]” produces very generic classifications that need more correction.
Example: processing 1,500 queries in under an hour
A real case from an ecommerce account with 1,500 unique search terms in the last 30 days that hadn’t been systematically reviewed:
Setup: CSV exported from Google Ads, columns query/cost/clicks/conversions, client = niche cosmetics brand with female 25-45 audience.
Batch 1 (200 queries): manual validation of classification. Result: 88% accurate, 12% needed adjustment (most AMBIGUOUS marked as IRRELEVANT by default).
Prompt adjustment: added context on the target audience (“female audience 25-45, looking for specific cosmetic actives like retinol, hyaluronic acid, niacinamide”) and examples of queries that historically converted.
Batches 2-8 (1,300 remaining queries): automatic processing with adjusted prompt.
Final result:
- 247 queries classified as IRRELEVANT → added as exact negatives (e.g. “cosmetics for men”, “veterinary”, “dogs”)
- 312 queries classified as INFORMATIONAL → manual review; 180 ended up as negatives, 132 as queries to monitor
- 89 queries classified as BRAND → migrated to brand campaign with manual CPC
- 54 queries classified as COMPETITOR → manual review on strategy
- 798 queries classified as CONVERSION → kept, with 23 candidates for SKAG based on volume and conversion
- 1,500 queries processed in roughly 50 minutes of active time (plus background processing)
The account impact after applying the 247 exact negatives: 18% drop in average CPA over the following 30 days, with no impact on conversion volume. Just removing irrelevant traffic.
In accounts with monthly spend above €5,000, processing the search terms report with Claude every 30-45 days typically identifies 5% to 15% of spend going to irrelevant or informational queries that don’t convert. In a €5,000/month account, that’s €250 to €750 recoverable each month.
Limitations and common mistakes in this flow
Three errors I see repeated when someone starts with this method.
Processing batches that are too large. With 500 or 1,000 queries in a single prompt, Claude loses coherence: it classifies some by one criterion and others by another, especially at the edges (CONVERSION/INFORMATIONAL). Keep batches at 100-200 queries with the full prompt in each batch.
Applying negatives without review. Even if the prompt works 90% of the time, the remaining 10% may include queries that DO convert. A badly added exact negative can block profitable traffic for weeks before someone catches it. Manual review of the “irrelevant” list before applying is non-negotiable.
Not updating the prompt context. If the business launches a new line, opens a new market, or shifts its audience, the prompt needs updating. A six-month-old prompt may be classifying as IRRELEVANT queries that are now perfectly valid.
What still needs human analysis with no shortcuts: queries with special characters, mixed-language searches (Spanglish, Franglais), polysemous words with several meanings depending on context, and queries with ambiguous emotional intent (e.g. “X gift for my girlfriend” isn’t a clear purchase intent until you cross-reference history).
The search terms analysis guide covers the human classification criteria behind the prompt in depth, and it’s worth knowing them before automating the process.
How to integrate this flow in a managed account
Three typical scenarios.
Account managed by freelance consultant (1-5 accounts): manual process every 30 days with Claude Projects. Time: 2-3 hours per account. API cost: practically zero using Projects.
Agency with 10-20 accounts: Python script connected to Google Ads API, exports search terms every 14 days, processes with Claude API, uploads result to shared sheet for review by the account manager. Human review time: 30-60 minutes per account.
In-house account with dedicated team: dashboard that runs the flow in weekly production, with alerts when the % of IRRELEVANT queries crosses a threshold (signal of a problem in campaign structure).
The Google Ads account audit guide covers the criteria for deciding whether the cost/benefit of the automated flow is worth it given account size and review frequency.
Frequently asked questions on Claude and Google Ads search terms
Does this flow replace manual search terms analysis?
No. Claude speeds up initial classification and removes the volume bottleneck, but the final decision on what to do with each category still requires human judgment. The flow works as a first-line filter, not a replacement for strategic analysis.
Which Claude model gives the best cost/quality ratio for this use?
For pure classification, Claude Haiku 4.5 is enough and very economical. For more sophisticated pattern analysis (spotting thematic groups, suggesting new SKAGs), Claude Sonnet 4.6 delivers more accurate results at a reasonable cost. Using Opus for this is usually overkill unless the account is very large with very specific queries.
How much does it cost to process 5,000 search terms with Claude API?
With Claude Haiku 4.5 and 150-query batches with prompt caching, processing 5,000 search terms costs roughly €1-€3. With Sonnet 4.6 it rises to €5-€15. The biggest real cost is human sample-review time and final negative-keyword application, not the API.
Does it also work with Performance Max?
PMax exposes search terms with less granularity than standard search campaigns. The flow can be applied, but volume is lower and data quality too. For PMax, the most useful lever is still brand/non-brand campaign separation and category exclusions.
What about small accounts with under 500 queries a month?
For 500 queries or fewer, manual analysis with a good interface filter is usually as profitable as automating. Where Claude starts to give clear returns is from 1,500-2,000 unique queries a month, when manual analysis time exceeds 4-5 hours monthly.
Conclusion: Claude doesn’t replace judgment, it accelerates it
Processing the search terms report with Claude turns a 15-25 hour monthly task into a 2-4 hour monthly task. What doesn’t change is judgment: deciding what to do with each category is still human work that requires knowing the account, the client, and the sector context.
The most common error when starting with this flow is skipping the sample-review phase on the first 100-200 batches. Without that validation, prompt biases get applied to the full catalog before anyone catches them.
If you want to review the search terms analysis flow on your account or see how much budget you could recover by applying negatives systematically, you can book 30 minutes of consulting.
Could your ad campaigns
perform better?
30 minutes to review your situation and tell you exactly what I would change. No pitch, no sales proposal.