Skip to main content

N-Gram Finder

How N-Gram Finder works, how n-grams are scored, and how to use the tool to block underperforming search terms.

Written by Shaquira Jeyasingh
Updated over a week ago

Why N-Gram Finder?

Over the last decade, Google Ads match types have become progressively looser — search terms that were previously blocked are now triggering ads, driving up wasted spend. This makes negative keywords more important than ever, and n-gram analysis the most effective way to identify them quickly.

N-Gram Finder analyses every search term in your account, groups them by shared words and phrases, and surfaces the ones consistently draining budget without delivering results. Instead of combing through a search term report row by row, you get a prioritised list of the worst offenders and the tools to block them in a few clicks.

What is an n-gram?

An n-gram is a word or sequence of words extracted from your search terms. The "n" refers to the number of words: a 1-gram is a single word, a 2-gram is a pair, a 3-gram is a trio.

For example, the search terms "free cinema tickets", "free cinema popcorn", and "free cinema locations" all contain the 1-gram "free" and the 2-gram "free cinema". If those search terms are consistently underperforming, adding "free cinema" as a negative keyword blocks all of them at once — more efficient than adding each search term individually.

Campaign types

N-Gram Finder supports three campaign types, each on its own tab:

  • Search Campaigns — standard text ad campaigns

  • Shopping Campaigns — product listing campaigns

  • Performance Max — Google Ads accounts only

Switch between tabs using the campaign type menu in the top-right corner. A tab is only shown if your account has campaigns of that type with active spend during the selected date range. Microsoft Ads accounts have Search and Shopping tabs only.

How nScore works

Every n-gram in the table is assigned an nScore from 0 to 100. The higher the score, the stronger the case for blocking it. nScore is calculated using two factors:

  1. Performance vs. your account average — how much worse the n-gram's CPA or ROAS is compared to the rest of your account

  2. Spend proportion — what share of your total spend the n-gram accounts for. Between two equally poor performers, the one spending more scores higher because it represents a bigger liability

N-grams are colour-coded by score: red (70+), amber (51–69), and green (50 and below).

An n-gram won't receive a score until it has at least one conversion, or enough spend to statistically expect one. Until that threshold is met, the nScore column shows no value. This is intentional — nScore is designed to reflect real performance, not noise from low-data terms.

Key columns

Potential Savings

An estimate of how much spend you'd recover per month by blocking the n-gram. This figure is adjusted to account for search terms Google doesn't report — since Google withholds some search term data for privacy reasons, the visible cost understates the true impact. Potential Savings corrects for this by scaling the estimate based on the ratio of visible to total campaign spend.

Conversion Loss

The estimated conversions (CPA mode) or conversion value (ROAS mode) the n-gram currently drives, normalised to a 30-day period. Compare this against Potential Savings to judge whether blocking the n-gram is worth it.

Net Difference and Adjusted Difference (ROAS mode)

In ROAS mode, two additional columns appear:

  • Net Difference — Potential Savings minus Conversion Loss. Positive means blocking is a net financial win; negative means the n-gram generates more value than it costs.

  • Adjusted Difference — a more nuanced view: if you freed this budget and reallocated it at your account's average ROAS, would you come out ahead? Positive means yes — the freed budget would outperform the n-gram. Negative means the n-gram is actually beating your account average, even if it looks poor in isolation.

Insights

Some n-grams display a coloured dot. This means Opteo has additional data suggesting the n-gram is likely to underperform — useful for making decisions before enough conversion data exists for a full nScore. There are three signals:

  • Poor engagement — the n-gram's GA4 engagement rate is more than 20% below your account average. Requires a Google Analytics connection and more than 15 sessions to qualify.

  • Poor industry performance — Opteo's industry database flags this n-gram as consistently underperforming across similar accounts.

  • Lowest 5% CTR — the n-gram is in the bottom 5% for click-through rate in your account and more than 20% below your campaign average. Not shown for Performance Max, where Display traffic skews CTR data.

To filter the table to only n-grams with at least one of these signals, enable Insights Mode in the Filters menu. This is particularly useful in accounts that haven't yet accumulated enough conversion data to score n-grams reliably.

Tools

Select with AI

Use Select with AI to select n-grams using a natural language instruction — for example, "select all n-grams with an nScore greater than 90" or "select n-grams with more than £500 in potential savings". Faster than selecting rows manually when working with a large list.

Analyse with AI

Click Analyse with AI to send your current N-Gram Finder data directly into Chat. You can ask questions, identify patterns, or get recommendations on which n-grams to prioritise. If you've selected specific rows, only those are sent — otherwise the full table is used.

Export CSV

Download the full n-gram table as a CSV file using Export CSV. Useful for sharing with clients or working through large accounts outside the tool.

Change History

The built-in change history logs every negative keyword added through N-Gram Finder — including the keyword, the date it was added, and who added it.

Further reading

  • Filters — how to customise your view using the campaign selector, date range, and filter options

  • Adding negative keywords — how to select n-grams, review affected search terms and keywords, and choose where to apply negatives

Did this answer your question?