PPC Rebels 2026 cover: n-gram analysis of Google Ads search terms to find the words eating your budget

N-Gram Analysis of Search Terms in Google Ads 2026: Finding the Words That Eat Your Budget

A search terms export from a live account is tens of thousands of rows, and most of them appear exactly once. You cannot read that by eye, and the obvious filter — “cost above zero, conversions zero” — returns noise, because a single query with one click proves nothing. N-gram analysis of search terms solves precisely this: instead of individual queries, it surfaces the words and phrases that repeat inside them and systematically drain budget. What follows is the whole method: how to split queries, how to aggregate metrics without double counting, which decision rules to apply, where the method lies to you, and what changed in 2026 with AI Max.

What an n-gram is, and why the query table misleads

An n-gram is a sequence of N words inside a query. “buy running shoes cheap” contains four unigrams, three bigrams (“buy running”, “running shoes”, “shoes cheap”) and two trigrams. The point of the technique is that an individual query is almost always statistically empty, while a word appearing across three hundred queries carries a real signal.

The classic case: no single query in the account looks expensive — each costs two or three dollars. But the word “free” appears in two hundred queries that together burned four hundred dollars with zero conversions. The row-by-row report hides this, because the damage is spread thin. In an n-gram table it is the top row.

N-gram analysis does not replace reading queries. It decides which ones to read: instead of sixty thousand rows you open thirty, each backed by real spend.

N-gram analysis of search terms step by step: from export to pivot

Step 1. Export. Choose a window that covers a normal demand and conversion cycle. If deals close in three weeks, a one-week export shows cost without results and will manufacture false negatives. Keep the search term, campaign, ad group, matched keyword and match type, impressions, clicks, cost, conversions and conversion value. Do not mix periods where offers, geos or tracking changed — otherwise you are analysing your own edit history rather than user language.

Step 2. Normalize. Lowercase everything, collapse repeated spaces, separate punctuation. Otherwise “Shoes” and “shoes,” land in different rows and the spend gets diluted.

Step 3. Give every query an ID. This is the step people skip, and it is the one that protects you from the method’s main failure. A row number is enough.

Step 4. Split into n-grams. In a spreadsheet: select the query column, Data → Split text to columns with a space separator, then stack the resulting word columns into a single n-gram column, carrying the query ID and its metrics alongside each row. For bigrams, join each word with the next one in separate columns and stack those the same way.

Step 5. De-duplicate on “query ID + n-gram”. Otherwise the query “shoes shoes nike” credits its cost to “shoes” twice. This is the one place where the method quietly corrupts your numbers.

Step 6. Pivot. Rows: the n-gram. Values: sum of cost, sum of conversions, sum of conversion value, and a distinct count of query IDs — how many different queries contain the word.

One warning belongs here. Rows in this table overlap: a single query feeds several n-grams, so total cost across all n-grams exceeds account spend. That is expected and not an error — but it means you must never add the rows together or reconcile them with billing.

Which metrics to read

Metric What it shows How to use it
Cost per n-gram Money that passed through queries containing the word Sort descending to get your candidate list
Conversions and value Whether there is any result at all Zero on meaningful spend is a red flag, not a verdict
Distinct query count How widely the word spread Separates a systemic pattern from one expensive query
Share of cost without conversions How much of the money inside that n-gram went nowhere The main working metric when comparing words
CPA and value/cost The economics of the word Decides “negate” versus “give it its own ad group”

There is no universal threshold at which an n-gram is “guilty” — not from Google and not from practitioners. Any rule like “negate anything above three target CPAs with zero conversions” is your own rule, tied to your margin and conversion lag, not an industry standard. Write it down explicitly and revisit it quarterly, so the team stops deciding by vibe.

N-gram analysis of search terms: the decision rules

Practitioners converge on a simple split by n-gram length. One- and two-word grams are the main source of negative keywords: they are general enough to block a whole class of irrelevant demand. Three- and four-word grams are the opposite — they carry specific intent that deserves its own ad and landing page.

The working sequence after you have the table:

  1. Sort by cost without conversions and take the top 20–30 rows. Below that the long tail begins, where decisions cost more than the money they save.
  2. For each candidate, open every query containing it. This is mandatory, not a formality. It is where you discover that “free” also sits inside “free trial crm for sales team”, which generates leads.
  3. Sort candidates into three buckets: negate, promote to its own ad group, or leave and collect more data. The third bucket is a legitimate answer, not cowardice: if your conversions land after three weeks, a two-week sample simply has not shown them yet.
  4. For “promote” candidates, check the volume. Splitting out an ad group makes sense when the n-gram carries meaningful spend and its own intent; otherwise you are building structure for its own sake. The broader logic of where exclusions live is in our guide to account-level negative keyword and placement lists.
  5. Log what you changed and when. In a month, when you are chasing a dip, this list is the first thing you will want.

How not to over-negate

Over-negation is the expensive side effect, and it hides well: you watch cost fall and you do not watch demand leave with it. Three rules keep it in check:

  • The broader the negative match type, the higher the burden of proof. Before adding a broad negative, force yourself to write down why phrase match is not enough.
  • Check converting queries separately. Filter every query containing the word where conversions happened. If the count is above zero, you are not cutting waste, you are cutting a mixture.
  • Negate at the right level. A campaign-level negative can block a keyword that lives in another ad group and performs. That is the classic cause of “this campaign suddenly stopped showing” that teams then hunt for a week.

It is also worth running a negative keyword conflicts check quarterly: active keywords blocked by your own negatives. Old lists built for offers that no longer exist survive in accounts for years, quietly cutting relevant traffic.

Tooling: from a spreadsheet to BigQuery

Google Sheets. Fine for accounts whose monthly export runs to tens of thousands of rows. The whole method is split-to-columns, stack, de-duplicate on ID plus n-gram, pivot. The one drawback is that every run is manual.

Google Ads scripts. Ready-made n-gram scripts pull the queries, build the table and write results into a Google Sheet on a schedule. On large accounts they hit execution time limits, so people run them several times filtered by campaign name. The wider automation picture is in our write-up on Google Ads scripts and automated rules.

BigQuery. The right answer once the export already lives in a warehouse. Unigrams are one query:

WITH q AS (
  SELECT
    GENERATE_UUID() AS query_id,
    LOWER(TRIM(search_term)) AS term,
    cost_micros / 1000000 AS cost,
    conversions,
    conversions_value
  FROM `project.dataset.search_terms`
  WHERE segments_date BETWEEN '2026-09-01' AND '2026-10-26'
),
grams AS (
  SELECT DISTINCT query_id, word, cost, conversions, conversions_value
  FROM q, UNNEST(SPLIT(term, ' ')) AS word
  WHERE word != ''
)
SELECT
  word,
  COUNT(DISTINCT query_id) AS queries,
  ROUND(SUM(cost), 2) AS cost,
  SUM(conversions) AS conv,
  ROUND(SAFE_DIVIDE(SUM(cost), NULLIF(SUM(conversions), 0)), 2) AS cpa
FROM grams
GROUP BY word
HAVING cost > 50
ORDER BY conv ASC, cost DESC
LIMIT 50;

SELECT DISTINCT does the same job as de-duplication in the spreadsheet: it stops one query from crediting its cost twice to a repeated word. Bigrams add a join of adjacent array elements. If there is no warehouse yet, start with exporting Google Ads into BigQuery — after that an n-gram report is a five-minute routine rather than an evening project.

Third-party tools. Several platforms build n-gram tables and let you add negatives straight from their interface. They save time on mechanics, but they do not make the call: software does not know your margin, your lead quality, or what a word means in your niche. Automation should prepare candidates, not pass sentence.

What the report will not show you in 2026

N-gram analysis of search terms leans on data Google does not hand over in full, and the gaps have widened over the last two years.

Privacy thresholds. A query is reported only if it has enough search volume across Google overall, not inside your account, and Google does not publish the minimum. The queries that fall below it are the long, unusual ones — exactly where the surprising findings tend to live.

The “other search terms” row. The honest way to size the gap is to compare campaign cost for a period against the sum of cost across the exported query rows. The difference is the budget you cannot see line by line. Adthena reported in October 2024 that, in its sample, an average of 51% of spend sat under “other” search terms. That is one vendor’s dataset rather than a benchmark, but the order of magnitude is sobering.

AI Max and match expansion. The report now carries an AI Max match type, and the keywords report adds summary rows for AI Max expanded matches and landing page matches. In an analysis by Mike Ryan of Smarter Ecommerce, widely quoted in the trade press, roughly 29% of impressions attributed to exact match in the studied EMEA ecommerce campaigns had actually arrived through expansion by July 2026. That sample is ecommerce-only and does not transfer to lead generation — but the implication for this workflow holds: the share of traffic you do not control with keywords has grown, which turns n-gram analysis from a nice-to-have into baseline hygiene. The background is in our pieces on AI Max for Search and on the AI Max unified journey view.

One more detail that is easy to forget: Google recommends waiting at least two weeks after enabling AI Max before adding negative keywords. Same logic as a bidding learning period — act sooner and you optimise against noise.

Negative keyword mechanics people forget

  • Negatives do not expand to close variants. Blocking “flowers” does not block “flower”. Synonyms, singulars, plurals and misspellings go in by hand — and the n-gram table is a good way to see which forms actually occur.
  • Negative match types behave differently from keyword match types. Negative exact blocks only that exact query, negative phrase blocks queries containing the words in order, negative broad blocks queries containing all the words in any order.
  • In Performance Max, negatives apply to Search and Shopping but not to Display or video. Those need content exclusions, and n-gram analysis simply does not apply there — the data does not exist.
  • Account-level lists save hours. A universal junk list (jobs, careers, free, DIY, competitor names where that is your policy) is built once and attached everywhere.

A cadence teams actually keep

Weekly: a quick scan of new queries with meaningful spend. Monthly: a full n-gram run and decisions on the top rows. Quarterly: an audit of negative lists and a conflicts check. Annually: a review of the universal lists, where half the words lost their meaning along with the offers that justified them. This schedule is more modest than most articles promise, which is exactly why it survives contact with real work.

If you are cleaning up data in parallel, two more things are worth a look: the fundamentals of negatives and the search terms report if the team is new to this, and Data Manager moving to encryption on November 16, 2026 — the other side of the same question, the quality of the data your automation learns from.

And if you need a stable platform under the traffic as well as the method, see Google Ads agency account rental and the rest of the PPC Rebels services: saving money on junk queries pays off when the campaigns keep running.

FAQ

Why is n-gram analysis better than reading the search terms report?

It exposes repeating patterns. One query with a single click and no conversion tells you nothing, while a word appearing in two hundred queries with several hundred dollars of spend and no results is data.

How big does an account need to be for this?

Once a monthly export contains a few thousand unique queries and manual review stops being realistic. With a hundred queries a month, just read them.

What minimum spend makes an n-gram worth acting on?

There is no universal number. A practical rule worth adopting as your own: cost on the n-gram should exceed your target CPA by at least two or three times, and the word should appear in more than one or two queries. That is a guideline, not a standard.

Why does total n-gram cost exceed account spend?

Because one query feeds several n-grams. The rows overlap by construction, so they cannot be summed or reconciled against billing.

Unigrams or bigrams first?

Unigrams. They give the widest coverage and the most obvious findings. Move to bigrams when a single word shows up in both useful and wasteful queries, because only the neighbouring word can separate them.

Can I negate straight from the table without opening queries?

Technically yes, and that is how losses happen. Checking the full queries behind a candidate takes minutes and removes most of the mistakes.

What about an n-gram with spend and very few — but non-zero — conversions?

Do the maths. If its CPA runs far above target, the better move is usually not a blanket negative but pulling those queries into their own ad group with its own bid and landing page, so you manage them explicitly.

Does the method work for Performance Max?

Partially. PMax exposes search terms, but the campaign also serves in channels where search queries do not exist, and negatives apply only to Search and Shopping. N-gram analysis explains part of the spend, not all of it.

How does AI Max change the approach?

There is noticeably more matching you did not specify with keywords, which makes regular word-level hygiene more important. At the same time, Google advises leaving negatives alone for the first two weeks after enabling AI Max so you do not optimise against unsettled data.

How many negative keywords can I add?

Limits on lists and on the number of negatives per list exist and change periodically; practitioners quote figures in the tens of thousands per account. Check the current numbers in Google Ads help before a bulk upload rather than trusting a figure from an article.

How do I know I have over-negated?

The symptoms: impressions and unique query counts fall, impression share drops, and CPA does not improve. Run a negatives conflict check and compare before and after on impressions, not only on cost.

Can this be fully automated?

You can automate the table and the alerts. The “negate or scale” decision stays with a human, because it depends on margin, lead quality and what the word means in your niche — none of which appears in the report.

Similar Posts