> ## Content Index
> Fetch the complete content index at: https://cascader.io/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# Your n-gram report found an expensive word. Should you block it?
- URL: https://cascader.io/blog/google-ads-ngram-negative-keywords/
- Published: 2026-10-15T15:00:39.000Z
- Updated: 2026-10-18T22:41:46.000Z
- Description: An $1,800 excavator n-gram contains both purchase and rental searches. Follow the rows to a narrower negative—and the evidence needed to defend it.
- Author: Rick Hecker

Suppose your Google Ads n-gram report puts **excavator** beside $1,800 in spend and six bookings. You manage a campaign for excavator rentals. That is enough money to want an answer, and the word names the thing you rent. Blocking it would be a substantial decision to make from one row.

N-gram analysis groups search rows containing the same word or contiguous phrase. In the reviewed Brainlabs implementations, each group receives the contributing rows' full metrics, including spend and conversions. [Brainlabs implementation](https://gist.github.com/BrainlabsDigital/5898a9b990960fc5f302?ref=cascader.io), [maintained adaptation](https://nilsrooijmans.com/updated-google-ads-script-brainlabs-search-query-mining-for-n-gram-analysis/?ref=cascader.io)

Open the searches behind it and a narrower candidate appears: **for sale**. We can get to that choice quickly. The useful work is deciding whether you can justify refusing those searches, and whether the negative you enter will do what you intend.

## Four searches behind the expensive word

Here is a **constructed example**, not a customer account result. The business rents excavators, including mini excavators, and does not sell equipment. These four reported searches contribute to the excavator n-gram in one local Google Search rental campaign during the selected analysis period. They are not a complete account export. Assume tracking has been checked and the period has had enough time for the relevant rental bookings to arrive.

| Search                        | Clicks | Spend  | Confirmed rental bookings |
| ----------------------------- | ------ | ------ | ------------------------- |
| excavator for sale            | 60     | $720   | 0                         |
| used excavator for sale       | 40     | $480   | 0                         |
| mini excavator rental near me | 30     | $300   | 3                         |
| excavator rental near me      | 30     | $300   | 3                         |
| Total                         | 160    | $1,800 | 6                         |

The purchase searches account for 100 clicks, $1,200 and no bookings. The rental searches account for 60 clicks, $600 and all six bookings. Already, excavator is a poor description of the demand we might want to stop buying: [reading the word in its complete search](https://cascader.io/blog/negative-keyword-dictionary/) reveals explicit requests for the business's offer too.

I would propose the phrase negative **"for sale"** in this rental campaign, provided the advertiser intentionally declines purchasing demand and accepts losing some buyers who could become renters. The rental-only offer supports that choice, and the mature, checked outcomes show no confirmed bookings from the two purchase searches. The wording and destination still need their own checks before application.

## How n-gram aggregation counts spend and bookings

In the reviewed Brainlabs script and its maintained adaptation, each distinct word or contiguous phrase in a search row receives that row's **full metrics**. The cost is not divided among the words. Rates are calculated from the summed metrics, rather than by averaging each search row's rates. [Brainlabs implementation](https://gist.github.com/BrainlabsDigital/5898a9b990960fc5f302?ref=cascader.io), [maintained adaptation](https://nilsrooijmans.com/updated-google-ads-script-brainlabs-search-query-mining-for-n-gram-analysis/?ref=cascader.io)

Take **used excavator for sale**: its 40 clicks, $480 and zero bookings belong to both excavator and for sale. The search **mini excavator rental near me** contributes its 30 clicks, $300 and three bookings to both excavator and rental. These are different views of the same activity, not separate portions of it.

For our four searches, excavator therefore has $1,800, for sale has $1,200, and rental has $600\. Add them and you get **$3,600 from $1,800 of underlying spend**. Each dollar appears under excavator and again under either for sale or rental. The same six bookings appear under both excavator and rental. Nothing in that overlap establishes that a word caused the cost or the booking.

![The same $1,800 appears across overlapping n-grams: excavator counts $1,800, for sale counts $1,200 again, and rental counts $600 again. Adding the three rows gives $3,600.](https://cdn.mymidnight.blog/ced556cd9f9c0c8315cfbe0744a3baf0/2026/10/stage-9-overlap.webp)

Constructed example. Each contributing row gives its full spend to every gram it contains, so these totals overlap.

The ratios describe the mixture precisely:

- Across all four searches: $1,800 ÷ 6 = **$300 per recorded booking**, and 6 ÷ 160 = **3.75% recorded booking rate**.
- Within the rental subset: $600 ÷ 6 = **$100 per recorded booking**, and 6 ÷ 60 = **10% recorded booking rate**.
- Within the purchase subset: zero bookings leave cost per booking **undefined**, not $0.

The rental searches generated the observed bookings at a lower recorded cost. That is useful evidence for preserving them from an overbroad negative. It does not establish that $100 is profitable or that six bookings predict a stable future rate. We have no supplied margin or acceptable acquisition cost with which to settle that question.

## Decide whether this demand belongs in the campaign

The strongest objection to our candidate is straightforward: someone searching to buy an excavator might agree to rent one. Zero bookings from these 100 clicks cannot disprove that possibility. If you exclude the phrase, you accept losing any such future customers whose searches it matches.

“We only rent” describes the offer. “We accept losing potential renters who are currently searching to buy” describes the advertising choice. The first supports the second; it does not quietly make the second for you. Google's recommendation to exclude searches seeking products or services the business does not provide is relevant here, but the manager still has to decide which demand this campaign intends to pursue. [Google search terms guidance](https://support.google.com/google-ads/answer/2472708?hl=en&ref=cascader.io)

I would not require proof that no buyer could ever rent. That would make an exclusion almost impossible to justify. I would require agreement that pursuing this possible crossover demand falls outside the campaign's purpose, given the observed evidence.

If the campaign deliberately seeks buyers who might rent, that changes my recommendation: investigate the family against that purpose instead of treating the rental-only offer as sufficient. Credible evidence that purchase searches acquire valuable rental customers would also weaken the refusal. Those are reasons to reconsider. The bare possibility of a future renter is the opportunity cost we have already agreed to accept.

## Use evidence for the reason you are giving

In a live account, keep the evidence reproducible. Save the actual analysis dates, campaign and ad group identities, filters, processed rows and outcome definition. Rebuild the gram from those same rows with their context attached. An account-wide aggregate can collect demand meant for different destinations; one campaign's purpose cannot explain every row in it.

Check the tool's selection settings too. The maintained Brainlabs adaptation includes date and campaign filters, paused-status settings and a current-negative check. Current configuration may differ from historical configuration, and the negative check can omit previously served searches that now match an exclusion. Preserve the settings that actually produced your report. [Maintained adaptation](https://nilsrooijmans.com/updated-google-ads-script-brainlabs-search-query-mining-for-n-gram-analysis/?ref=cascader.io)

Google's search terms report also omits some low-activity searches for privacy. Reconcile the aggregate to the rows your analysis processed, recording any unexplained difference. Recovering those rows can explain the total; it cannot reveal every useful search a future negative might remove. [Google search terms report](https://support.google.com/google-ads/answer/2472708?hl=en&ref=cascader.io)

Now check the outcome you are using. **As a separate hypothetical, suppose our column counted inquiries rather than confirmed bookings.** Six inquiries would not establish six rentals. Confirm the conversion actions behind the column and their downstream meaning before defending acquisition economics. Likewise, outcomes can arrive after their clicks, making a recent period's cost per conversion look worse. Judge maturity using the account's actual conversion lag or sales cycle. Our construction assumes both checks are settled; your account may not. [Google conversion actions](https://support.google.com/google-ads/answer/11461796?hl=en&ref=cascader.io), [Google conversion lag](https://support.google.com/google-ads/answer/9347141?hl=en&ref=cascader.io)

When a material input is missing, make the next action specific: recover the contributing rows, confirm the outcome definition with its owner, check tracking, or review the period once its relevant outcomes have matured. Resolve the gap your explanation depends on. If an agreed offer-based boundary independently justifies refusing demand, say so; [immature or unreliable zeros add no performance justification](https://cascader.io/blog/the-600-zero-is-not-a-verdict/) to it.

An economic exclusion has a different dependency. A search can describe exactly what you offer and still acquire customers at an unacceptable cost. Use reliable outcomes and the advertiser's actual acquisition economics to decide whether to decline that demand, accepting the lost reach and examining whether the problem is concentrated in a subset. Retaining excavator from this proposed negative does not oblige you to keep funding losses indefinitely.

A manager using Smart Bidding has a fair objection here: historical phrase averages leave out auction context. Google describes bidding that predicts conversion or value using signals such as location and device. I would take that objection seriously before excluding relevant demand on its average performance. Inspect what the bidding is optimizing and the evidence for the economic conclusion. Contextual bidding does not settle whether this advertiser wants purchase demand or guarantee that every relevant search is worth its cost. [Google Smart Bidding](https://support.google.com/google-ads/answer/7065882?ref=cascader.io)

## Check negative match type and campaign scope

You have a report group and a reason to decline demand. Now test the proposed negative separately: it changes future eligibility rather than describing past results.

| Proposed negative   | Reach across the four shown searches                                          |
| ------------------- | ----------------------------------------------------------------------------- |
| Phrase "excavator"  | Matches all four, including both rental searches                              |
| Phrase "for sale"   | Matches the two purchase searches and leaves the two rental searches eligible |
| Exact \[excavator\] | Matches none of the four                                                      |

Google's Search phrase negatives require the specified word sequence, with additional words permitted. Exact negatives require those words in that order without extras. Making excavator exact would therefore leave the observed purchase searches untouched. The search terms report's “Match type” describes the relationship to the positive keyword; it does not specify your proposed negative's match type. Use Google's negative rules to assess reach, rather than treating a script's checker as the authority. [Google negative matching](https://support.google.com/google-ads/answer/2453972?hl=en&ref=cascader.io), [Google search terms report](https://support.google.com/google-ads/answer/2472708?hl=en&ref=cascader.io)

The phrase fits our refusal better, but it still has edges. For sale does not cover every purchase synonym or reordered expression. And consider a plausible unseen search comparing excavator rental with equipment for sale: those words could be present in demand you would value. Test useful observed and plausible unseen searches before accepting the lost reach. Preserving the two shown rental searches cannot promise that every future rental prospect survives.

Keep placement just as deliberate. This case justifies a decision within the rental campaign whose purpose we know. **In a separate thought experiment, suppose the business also sold equipment in another campaign.** For sale could describe exactly the demand that destination needs. The rental exclusion might still fit, while extending it through a shared list could obstruct the sales campaign.

Shared-list changes affect all attached campaigns; account-level negatives apply automatically across eligible inventory. Check the purposes of every affected destination and any list's attachments before using wider scope. Convenience is a poor reason to broaden a decision you have only justified locally. Our negative keywords guide gives [a step-by-step test of a negative's words, match type and destinations before you save it](https://cascader.io/blog/negative-keywords-google-ads/#the-reach-test-step-by-step). [Google negative lists and scope](https://support.google.com/google-ads/answer/2453983?hl=en&ref=cascader.io)

## Record the choice and verify the change

Once purpose, wording, negative match type, destination and accepted reach are established, apply the bounded exclusion. Save the actual account dates, identifiers, settings and supporting rows alongside the decision note. For the constructed case, its explanation could read:

> **Evidence and ground:** In the selected period, the two purchase searches spent $1,200 across 100 clicks with no confirmed rental bookings; the rental searches spent $600 across 60 clicks with six bookings. Tracking and maturity are explicit assumptions of this example. The advertiser intentionally declines purchase demand in this rental campaign.
> 
> **Action and destination:** Add phrase negative "for sale" to this local excavator rental campaign. The business rents equipment and does not sell it. Wider placement needs a separate purpose review.
> 
> **Accepted reach and uncertainty:** The phrase leaves the two shown rental searches eligible. We accept the possibility of losing buyers who might rent and useful unseen searches containing for sale. The phrase does not cover all purchase wording; $100 per recorded rental booking is not a profitability finding.
> 
> **Review:** Confirm saved text, match type and destination. Review remaining purchase intent and useful rental demand. Reconsider if the campaign's purpose changes or credible rental value from purchase searches changes the case.

After application, read the saved configuration back: exact wording, match type and campaign placement, plus attached campaigns if a list is involved. A recommendation in a note does not establish that the intended setting was saved.

Review later served searches and booking outcomes with comparable coverage and enough time for outcomes to mature. Missing query rows alone cannot prove exhaustive blocking, given incomplete reporting. The historical $1,200 is not a forecast of savings; excluded traffic does not guarantee budget moves to rental searches. A better before-and-after CPA is worth examining, but alone it does not establish that the negative caused the improvement.

You can now explain the demand you declined, the wording and campaign you chose, and the uncertainty you accepted. The remaining rental demand still has to earn its place economically. Assess that against the business's acquisition economics and reliable booking evidence; choosing a narrower negative has made that review clearer, not finished it.