Learning how to find negative keywords that actually matter is different from downloading a list. A published list catches the obvious junk that every account in your category shares. The expensive waste is specific to your account, your product name, and the queries your particular keywords happen to match, and no list will ever contain it.
This post is the method I use on every account I audit. There is a 20-minute version that finds most of the money, and a longer version that finds the patterns the 20-minute version misses. Both work from the same source, and neither requires a tool you do not already have.
Table of contents
- Start here: the 20-minute pass
- The n-gram method, and why single queries mislead you
- Running an n-gram analysis without a tool
- The four patterns worth hunting
- The decision rule: negate, or move it somewhere better
- What the search terms report hides from you
- How often to run this
- What to do with what you find
- Common questions
Start here: the 20-minute pass
Before anything clever, do this. It finds the majority of recoverable spend in most accounts and it takes less time than a status meeting.
Open your search terms report. It is the only report in the platform that has not been pre-filtered. In Google Ads it sits under the Insights and Reports menu, or inside any campaign under the Search Terms tab.
Set the date range to the last 90 days. Shorter than that and low-volume queries will not have accumulated enough spend to be visible. Longer and you start reading history rather than current behavior.
Sort by cost, highest first. Not by clicks, not by impressions, not by conversions. Cost is the only column that tells you where the money went.
Read the top 50 queries out loud.
That last instruction sounds like a gimmick and it is not. Reading silently, you pattern-match against what you expected to see. Reading aloud, you hear “cyber security analyst salary” as a sentence a human typed, and the absurdity of paying $60 for it registers properly.
Mark each query plausible or not plausible against one test: could a person with budget and authority to buy have typed this? Not “is this related to our category.” Relatedness is why the query matched in the first place.
Add up the cost of the not-plausible rows and divide by the total cost of all 50. That is your wasted ad spend rate on your highest-spending queries. In B2B SaaS and cybersecurity accounts I audit, 40% to 60% is a normal finding rather than a worst case.
You now have two things: a number to take to a budget conversation, and a list of specific queries to negate.
The n-gram method, and why single queries mislead you
The 20-minute pass has a real limitation. It only sees queries that individually spent enough to reach the top 50.
Most waste does not work that way. It arrives as a thousand near-identical variations, each costing $4, none of them individually large enough to notice. “cyber security analyst salary,” “cybersecurity engineer salary nyc,” “soc analyst salary entry level” and 300 relatives might collectively be your single largest line item while no individual query cracks the top 100.
An n-gram analysis finds the pattern instead of the instance. You break every search query into its component words and word pairs, then total the cost by word rather than by query. The word salary appearing across 300 queries at $4 each surfaces immediately as a $1,200 problem.
This is the single highest-leverage analysis in paid search and almost nobody outside agencies runs it.
Running an n-gram analysis without a tool
You need a spreadsheet. That is all.
Step 1: export the search terms report. Last 90 days, with columns for search term, cost, clicks, conversions and conversion value. Download as CSV.
Step 2: split queries into words. In your spreadsheet, use a formula or Text to Columns to break each search term into individual words across separate columns. A query of six words produces six entries.
Step 3: build the unigram table. Create a list of every unique word that appears, and for each one sum the cost, clicks and conversions of every query containing it. A pivot table does this in about two minutes if you first reshape the data so each row is one word paired with its query’s metrics.
Step 4: sort by cost and read the top 40 words. This is where it gets interesting. You will see words you never considered bidding on sitting near the top of your spend.
Step 5: repeat for two-word pairs. Single words are noisy, since security will obviously appear everywhere. Bigrams like analyst salary, free tool, how to, open source and certification cost are far more actionable because they carry intent rather than topic.
Step 6: add a conversion column and sort by cost with zero conversions. Any n-gram with meaningful spend and no conversions across 90 days is a candidate for negation. Meaningful means enough spend to be confident, which for most accounts is somewhere around 3 to 5 times your target cost per acquisition.
If you would rather not build this yourself, several scripts and third-party tools do it, and Google’s own search terms report documentation explains the underlying data. The method matters more than the tool.
The four patterns worth hunting
Once you can see n-grams, you are looking for four specific shapes.
Pattern 1: intent modifiers that flip a good query bad
A query can contain your exact category and still be worthless because of one word attached to it.
salary, jobs, career, certification, course, tutorial, free, open source, github, reddit, example, template.
These are the highest-value n-grams to find because a single broad negative on one of them can eliminate hundreds of individual queries at once. In cybersecurity accounts this pattern is usually the largest single recoverable block, for reasons I covered in the cybersecurity negative keyword list.
Pattern 2: the adjacent-category leak
Your keywords are matching a category next to yours. You sell compliance automation and you are paying for “compliance consulting.” You sell a pentest platform and you are paying for “penetration testing course.”
These queries are real businesses with real budget. They are just not buying what you sell. This pattern is easy to miss because the query looks reasonable at a glance.
Pattern 3: the wrong-size buyer
for small business, for startups, for individuals, personal, home on one side, enterprise, fortune 500 on the other, depending on which end of the market you serve.
Worth checking against your actual close data rather than assumption. I have seen accounts negate for startups while their best-converting segment was seed-stage companies.
Pattern 4: your own name doing something unexpected
Search your product name in the report and read every query containing it. Brand collisions are invisible until you look. If your product shares a name with a game, a film, a consumer product or a ticker symbol, you are paying for that traffic and it will never appear in a generic negative list.
Also look for login, support, careers and status page attached to your brand. Those are existing customers and job applicants, and they are usually better served by organic than by a paid click.
The decision rule: negate, or move it somewhere better
This is the step most people skip, and skipping it is how accounts get quietly strangled.
When you find an expensive query, there are three possible actions, and negating is only one of them.
Negate it when no version of this searcher will ever buy. Job seekers, students, people looking for a free tool. There is no campaign structure that makes a salary query valuable.
Move it when the searcher is right and the placement is wrong. A high-intent comparison query converting badly out of a broad-match campaign at $80 a click may perform well as an exact-match keyword in a dedicated comparison campaign with matched ad copy and a landing page built for it. Negating it in one campaign and bidding on it deliberately in another is often the correct move.
Leave it when it is early-funnel but genuinely your buyer. Some queries convert at a terrible rate on first touch and produce your best customers on the third. This is only knowable if your conversion tracking reaches past the form into your CRM, which is the honest limit of everything in this post.
The test I apply: would a person with budget and a problem plausibly type this? If yes, the question is where it belongs, not whether to block it. If no, negate it.
Getting this backwards is expensive in a way that does not show up for months. Block your comparison queries and impressions fall, the account looks more efficient on cost per lead, and pipeline dries up two quarters later.
What the search terms report hides from you
Three limitations worth knowing, because they change how much you should trust the number you just calculated.
Google withholds low-volume queries, and the gap is much larger than most people assume. For privacy reasons, search terms that were not searched by enough distinct users do not appear in the report at all.
I measured this rather than guessing at it. Across 7 business units in 5 B2B accounts, covering $757,058 of Search spend over 90 days, I compared total Search campaign cost against the total cost of every query the search terms report was willing to show me.
31% of that spend never appeared in the report at all. Per unit it ranged from 22% to 61% withheld.
The more useful cut is brand versus non-brand, because the gap is consistent and large:
| Share of spend visible in the report | |
|---|---|
| Brand campaigns | 57% to 97% |
| Non-brand campaigns | 30% to 75% |
Every one of the 7 units showed brand more visible than non-brand, without exception. Visibility tracks how repetitive your query set is. A brand campaign gets the same handful of searches thousands of times, so nearly all of it clears Google’s privacy threshold. A non-brand campaign generates a long tail of near-unique queries, and on the automation-heavy units barely 30% of that spend surfaced.
Which produces the uncomfortable version: the report is most complete exactly where you need it least, and least complete where the waste actually lives. Your account-level visibility number is mostly telling you how brand-heavy your spend is, rather than how well your account is reported.
One account illustrates it cleanly. It came back 75% visible, which looks fine, until you notice a single brand term accounted for 55% of everything the report showed. Strip that one term out and it falls to 57%.
One thing I expected and got wrong: I assumed a longer window would surface more. It does not. Running the same measurement at 30 and 90 days produced near-identical results on every unit, and where it moved it drifted slightly down rather than up. A longer window catches more rare queries, but it also accumulates more spend on rare queries, and the ratio holds.
Two honest limits. All 5 accounts sit under one enterprise advertiser, so this is B2B software and services rather than a random sample. And brand status, match type and automation all move together here, so I can tell you visibility tracks query diversity without isolating which of the three drives it.
The practical consequence: whatever waste rate you calculate from the report is a floor, and on your non-brand campaigns it may be a floor under roughly a third of the actual spend.
Performance Max reports less than Search. PMax gives you search category themes rather than the full query detail, so the same analysis on a PMax-heavy account is working with substantially less information. If a large share of your budget is in PMax and your lead quality fell after launching it, the negative list will only take you so far.
Conversion data is only as good as your conversion action. If your account counts form fills as conversions, then an n-gram showing strong conversion performance may just be showing you which queries produce the most willing form-fillers. That population skews toward the exact people you are trying to exclude.
That third one is the real constraint, and it is why negative keywords are the first half of a job rather than the whole of it.
How often to run this
The 20-minute pass: monthly. Sort by cost, read the top queries, negate the obvious. This is a habit, not a project.
The full n-gram analysis: quarterly, or whenever spend changes materially, a new campaign type launches, or lead quality shifts without an obvious cause.
Immediately after launching a new campaign, changing match types, or turning on any automated campaign type. The first 30 days of a new campaign is when the most novel junk arrives, and it is also when nobody is looking because everyone is watching conversion volume.
The accounts that stay clean treat this as maintenance. The accounts that need a rescue treated it as a project they finished once.
What to do with what you find
Applying what this turns up will reduce your spend, your clicks and probably your conversion count. That is the expected outcome, and it is worth setting the expectation before you do it rather than after, because the first month’s report looks like a decline.
The number that should improve is cost per qualified opportunity. If you cannot currently measure that, the more valuable project is connecting your CRM back to your ad account so the platform can optimize toward pipeline instead of form submissions. A clean negative list stops you buying obvious junk. Conversion tracking that reaches your CRM stops you buying the subtle junk, which is the more expensive category.
Common questions
How much should a search term spend before I negate it?
Enough that you are confident it is not a small sample telling you a story. A workable rule is 3 to 5 times your target cost per acquisition with zero conversions across 90 days. Below that you are often negating a term that simply has not had enough impressions yet. The exception is obvious junk: a salary or certification query needs no statistical threshold at all, because no version of that searcher becomes a customer.
What is an n-gram analysis, in one sentence?
Breaking every search query into its component words and word pairs, then totalling cost by word rather than by query, so that a pattern spread across 300 small queries becomes visible as one large number.
How often should I do this?
The 20-minute pass monthly, sorting by cost and reading the top queries. The full n-gram analysis quarterly, or whenever spend changes materially, lead quality shifts, or you launch an automated campaign type. The first 30 days after any launch is when the most novel junk arrives and when nobody is looking, because everyone is watching conversion volume.
My conversions dropped after I added negatives. Did I break something?
Probably not, and this is the expected shape. You removed traffic that was converting on a form fill without ever becoming pipeline, so conversion count falls while cost per qualified opportunity improves. The way to tell the difference between a healthy cut and a mistake is impression volume in your best campaigns. A gradual decline in conversions is the fix working. A sudden collapse in impressions on a previously healthy campaign means you blocked something you needed, and the search terms report will not show you what you prevented.
Does this work for Performance Max?
Partly. Performance Max reports search category themes rather than the raw queries, so you are working with substantially less information and the n-gram method loses most of its power. If a large share of your budget sits there, that is an argument about where the budget should sit rather than a reporting complaint.
This is the method I run on every account I take on, and it takes a few hours to do properly. If you would rather see the output than build the spreadsheet, book a BADASS Discovery Call at bad2badass.com. The BAD-ectomy is the version where I also fix what it finds.
