Reviewing the search terms report one row at a time misses the money. The queries that drain a budget are rarely single expensive lines — they are the same junk word appearing across dozens of cheap queries that individually look harmless and collectively cost a fortune. N-gram analysis is how you catch that: it breaks every query into its component words and phrases and sums the cost and conversions for each pattern across the whole report, so a word like free, jobs or diy reveals itself as a budget drain long before any single query would.
This is a different job from the row-by-row search terms report walkthrough, which is about judging individual queries. N-gram analysis judges words. It is the fastest way to find negative candidates at scale, and it is the natural response to a report that hides up to 40% of your terms, because a word-level negative blocks the hidden queries containing that word too. This post covers what an n-gram is, why patterns beat rows, how to build the analysis, how to read it, and the caution that stops it from becoming an over-negation machine.
What an n-gram actually is
An n-gram is a run of n consecutive words pulled from a query. The query cheap running shoes for men contains the 1-grams cheap, running, shoes, for, men; the 2-grams cheap running, running shoes, shoes for, for men; and so on. On their own these are just fragments. The technique becomes useful when you take every query in the report, explode it into its n-grams, and then aggregate your performance metrics — cost, clicks, conversions — against each fragment across every query it appears in.
What you get is a view of your spend organised by word rather than by query. As one practitioner guide on search term pattern analysis puts it, the point is to look for patterns across your data instead of examining each search term individually. A 1-gram table tells you which single words carry spend; a 2-gram or 3-gram table tells you which phrases do, which is where intent usually lives — free alone is ambiguous, but for free and free download are much clearer signals. Running all three lengths and reading them together is what turns a wall of queries into a short list of decisions.
Why patterns beat rows
The core problem with row-by-row review is that waste hides in the aggregate. A single query that spent two dollars with no conversion is not worth acting on, so you skip it — and you skip the next fifty like it, each carrying the word diy, until the pattern has quietly spent two hundred dollars that a per-row scan will never flag because no individual row crossed your attention threshold. N-gram analysis collapses those fifty rows into one line that reads diy: $200, 0 conversions, and that line is impossible to ignore. The method surfaces exactly the waste that per-row review is structurally blind to.
It also scales in a way manual review does not. An account with thousands of search-term rows cannot be read line by line every week, but its n-gram table is usually a page or two, because real queries reuse the same few hundred words. You go from an intractable list of queries to a tractable list of words, ranked by exactly the metric that matters — spend with no return. That compression is the whole value: it turns a task you would skip into one you can finish in the time you have.
How to build the analysis
The manual route needs nothing but a spreadsheet. Export the search terms report, split each query into its words, and build a pivot table that sums cost, clicks and conversions for each word — then repeat for 2-grams and 3-grams. It is a few minutes of setup and it works on any account you can export. If you would rather automate it, a Google Ads script can output n-grams on a schedule, and several third-party tools let you paste the report in and get a ranked word table back without touching a spreadsheet. The technique predates the tools; the tools just save you the pivot.
Whichever route you take, aim the output at the same shape: a table of words and phrases, ranked by cost, with conversions and conversion value shown alongside so you can judge return rather than spend alone. Include the query count per pattern too — how many distinct queries a word appears in — because a word draining budget across a hundred queries is a more confident negative than the same spend concentrated in two. The goal is a list you can scan top to bottom and make a keep-or-block decision on each line in seconds.
Reading the table: high spend, no return
Sort by cost descending and start at the top. The patterns you want are the ones with meaningful spend and few or no conversions across many queries — those are the words systematically pulling in the wrong traffic. A word with high spend and a healthy conversion rate is not waste, it is a keyword you should probably be bidding on more deliberately; a word with high spend and zero conversions across dozens of queries is a negative candidate. The conversion column is what separates the two, which is why an n-gram table without conversions is only half the tool.
Read the multi-word grams before you act on the single words. A 1-gram like service may look wasteful in total, but its 2-grams often split cleanly into service near (local intent, converting) and service manual (research intent, not converting). The phrase-level view tells you whether to block the whole word or just the wasteful combination, and getting that distinction right is the difference between trimming waste and cutting into traffic that pays. When a single word is genuinely off-topic in every combination, block it; when it is only wasteful in specific phrasings, block those phrasings.
The caution: do not negate every zero-conversion gram
A zero-conversion pattern is a candidate, not a verdict, and treating the table as a block-list is the fastest way to starve an account. Three checks stand between a candidate and a negative. First, volume: a pattern with only a handful of clicks has not had the chance to convert, so it needs more data, not a negative. Second, intent: read a few of the actual queries behind the word, because a word that looks like junk in aggregate can sit inside high-intent queries you want to keep. Third, assist: some low-converting patterns contribute to conversions earlier in the journey and look worse in a last-click table than they are.
When you do negate, choose the match type deliberately rather than pasting a plain word list, which enters everything as the most aggressive broad negative. A word wasteful in every context can be a phrase or broad negative; a word wasteful only in combination should be a phrase negative scoped to the pattern; and remember that negatives do not expand to plurals or misspellings, so add the forms your report actually shows — the mechanics are covered in negative keyword match types. Applied with those guards, n-gram analysis is the highest-leverage negative-finding pass you can run; applied blindly, it is a way to block your own converting traffic. For the individual expensive one-off queries it will not catch, keep running the row-level pass on the wasted spend the top-cost view hides.