E-commerce · Google Ads
How to mine Google Ads search terms and negative keywords without cutting conversions
Mine Google Ads search terms by grouping the real queries into words and short phrases (n-grams), add negative keywords only for patterns that are clearly outside what the store sells, and audit existing negatives for ones that block buyers. Zero conversions on a single search term is not proof of waste: on Shopping and Performance Max most sales come from a long tail of queries that each convert rarely.
Updated
What search term mining is, and what it is for
Search term mining means reading the Google Ads search terms report, the queries people actually typed before clicking an ad, and turning it into two lists: negative keywords that stop ads showing for irrelevant queries, and new keywords for converting queries that are not yet targeted. Search term mining is safe only when a negative keyword is added for a pattern that is off-topic for the store, not for every query that has not converted yet.
Keywords are guesses; search terms are what Google matched those guesses to. A negative keyword tells Google not to show an ad when a query contains a given word or phrase, in broad, phrase or exact match. Negative keywords do not stretch to cover close variants the way positive keywords do, so a phrase negative written in the plural does not block the singular. That detail decides whether a negative removes waste or removes a winner.
We mine search terms weekly. Our tools only report candidates. A person reviews the list, and every change runs as a dry run before it is applied.
Step 1: rank single search terms by wasted spend
1. Pull the terms. The search term view in the Google Ads API covers Search and Shopping queries. Performance Max exposes only category-level search term insights, not raw queries, so search term mining pays most on Search campaigns.
2. Weight by spend, not by count. A search term with spend and zero conversions is a candidate for a negative. Rank candidates by how much they cost: a term with 1 or 2 clicks and no conversion may simply lack data.
3. Tag each candidate. We tag candidates as competitor, generic (a single broad word) or junk (free, PDF, recipe, jobs). Brand terms are excluded from the negative candidates entirely. A one-word generic query is almost always too broad to convert, unless that word is the store's single core product.
4. Split brand from non-brand. Brand queries are cheap and convert well because the searcher already wanted the store. Know the brand share of an account before reading its overall ROAS.
Step 2: group search terms into n-grams to see patterns
An n-gram is a run of n consecutive words inside a query. Our n-gram miner splits every search term into 1-, 2- and 3-word grams and adds up cost, clicks and conversions per gram. It drops linking words such as for, with and their Romanian equivalents, so single-word grams are not dominated by them, and it counts each search term only once per gram, so a query that repeats a word does not double its cost.
The n-gram view finds what the per-term view misses: a word that appears in many queries, each too small to notice, which together spend with no conversions. A gram becomes a negative candidate only if it appears in at least 2 distinct search terms, has spent above a threshold, has zero conversions and contains no brand term. Sorted the other way, the same table lists grams that convert at a low CPA: candidates for exact-match keywords.
Tokenising has to be Unicode-aware. Splitting on plain ASCII letters breaks words with Romanian, Czech, Polish, Hungarian or Bulgarian diacritics into fragments that match nothing.
Step 3: decide which candidates become negative keywords
Off-topic patterns become negatives. In one account 32% of search spend went to zero-conversion terms, spread over 1,220 terms. We applied 19 phrase negatives to three Shopping campaigns, covering product types the store does not sell and the name of a marketplace.
Winners stay, even inside a losing pattern. Before applying, we checked every phrase against converting queries. Two terms were left out because they converted at a high return. One negative was deliberately written in the plural because the singular form of the same query was a winner, and a plural phrase negative does not touch the singular.
Brand names that are ordinary words need care. One store's brand name is a common phrase. Phrase match on the brand keyword spread to the singular generic phrase, which spent with no conversions. The fix was to pause the loose keyword and add the singular generic phrase as a phrase negative, which leaves the plural brand name untouched.
Never negate a word that resembles your own brand. A competitor's name almost identical to one of our brand names stays off the negative list, because that negative would also block people searching for us.
Competitor names are a strategy decision, not hygiene. Showing on rival names is usually low intent, so competitor terms are listed separately and decided on purpose. Competitor terms that do convert come from comparison shoppers and stay.
Apply in batches. Adding or removing keywords changes a campaign's composition, which resets the learning of smart bidding. We group negatives into one weekly change. While a campaign has fewer than 15 to 30 conversions, we add negatives only for queries that are clearly off-topic.
Step 4: audit existing negative keywords for ones that block buyers
Negative keyword lists only grow, and an over-broad negative cuts conversions silently: nobody sees the queries it blocked. Our negative cleaner pulls every negative in an account, from campaigns, ad groups and shared lists, sends them in chunks of 100 to a language model with a one-line description of what the store sells, and asks for each to be marked RISK (could block real buyers) or OK (competitors, free, jobs, off-topic). The prompt tells the model to be conservative. The cleaner only reports; a person removes a negative after finding where it lives.
The first full run read 7,572 negatives in one account. The language model reads only the words, not the search data, so its output is a second opinion, not a verdict.
Shopping and Performance Max need a different route. A shared negative list attached to several campaigns applies one negative to all of them in a single change. We used a shared list to stop brand queries flowing into a Performance Max campaign, so they went to the Brand Search campaign instead. Account-level negatives for Performance Max could, when we did this, be set only in the Google Ads interface, not through the API.
Where we were wrong
Zero conversions per term is not waste on Shopping. An audit across all our accounts first reported a large pool of waste. It was entirely Shopping traffic, in campaigns that converted well at campaign level. In one account two Shopping campaigns spent 72% and 64% of their cost on zero-conversion queries, yet both campaigns produced conversions at campaign level: commodity goods attract a long tail of queries that each convert rarely. On Shopping and Performance Max we now judge the campaign and use negatives only for queries outside the catalogue.
New campaigns have no history. Zero conversions in a campaign a few days old means no data, not bad queries.
Relevant products had simply not converted yet. Many zero-conversion queries named products we really sell. Negating them would have cut the traffic the campaigns needed to learn.
We nearly negated real customers. Queries in a minority language looked like noise in one account. They were a real customer segment, and the right answer was a landing page in that language, not a negative keyword.
After these corrections the real cleanup was small: a handful of clearly off-topic queries on Search campaigns.
Limits of the method
Performance Max shows search terms only as categories, so the largest campaign in many accounts cannot be mined at query level. Removing waste does not prove the saved budget will convert somewhere else. The n-gram thresholds are a judgement call, and the language model in the negative cleaner has not been checked against what happened after a negative was removed.
A short checklist
Weekly: pull search terms for Search campaigns; rank zero-conversion terms by cost; run the n-gram view and keep patterns found in at least 2 terms; exclude brand terms and anything resembling the brand; check each candidate against converting queries, in singular and plural; keep competitor terms that convert; apply the list as one batch, dry run first; add converting non-brand terms as exact keywords. Every few months: run the over-broad negative audit and review it by hand.
Questions and answers
How often should I check Google Ads search terms for negative keywords?
Weekly. New search terms appear constantly and waste compounds when nobody prunes. Group the negatives into one weekly change rather than adding them daily, because adding or removing keywords changes the campaign's composition and resets smart bidding's learning. While a campaign has fewer than 15 to 30 conversions, add negatives only for queries that are clearly off-topic.
Should I add every search term with zero conversions as a negative keyword?
No. A search term with zero conversions may simply lack data, and on Shopping and Performance Max most sales come from a long tail of queries that each convert rarely. Rank zero-conversion terms by cost, keep terms that name products you sell, and negate only patterns clearly outside the catalogue, such as product types you do not stock or job and free-download searches.
What is n-gram analysis in Google Ads?
N-gram analysis splits every search term into runs of 1, 2 or 3 consecutive words and adds up cost, clicks and conversions for each run. A word that appears in many small queries and never converts shows up as one large line, which the per-term report hides. The same table sorted by low CPA lists converting phrases to add as exact-match keywords.
Can I add negative keywords to Performance Max?
Not in the same way as Search. A shared negative keyword list attached to campaigns applies one negative to several campaigns at once. Account-level negatives for Performance Max could, when we last did this, be set only in the Google Ads interface, not through the API. Performance Max also shows search terms only as categories, so query-level mining works best on Search campaigns.
How do I find negative keywords that are blocking good traffic?
Export every negative keyword from campaigns, ad groups and shared lists, and review them for words a real buyer could use. We send them in chunks of 100 to a language model with a short description of the store and ask it to mark each as risky or fine, conservatively. Treat the result as a second opinion and remove a negative only after checking it by hand.
How to cite this
Going Stellar (2026). How to mine Google Ads search terms and negative keywords without cutting conversions. GOING STELLAR S.R.L..
https://goingstellar.ro/methods/google-ads-search-terms-negative-keywords/