Three weeks into managing a new account, you notice the negates aren't keeping up.
You've added 47 negative-exact keywords across the last two monthly cycles. Each one was a search term that overspent without converting, flagged by BulkSheet Pro's negate engine, applied through the bulk sheet. The math is doing what it should — patience budget exceeded, no orders, term blocked. But account-level ACoS isn't dropping the way you'd expect.
The reason: each individual term is a different specific phrase, but they share something. "Vegan air fryer cookbook." "Vegan recipes weeknight." "Vegan meal prep guide." "Vegan dinner under 30 minutes." None of these search terms is a duplicate. Each one might appear in your search term report two or three times in a month — not enough to trip the per-term negate threshold on its own. But together, the word "vegan" is showing up in 87 search terms across the account, costing $312 in spend over four weeks, producing zero orders. Your air fryer cookbook isn't vegan. Amazon's auto-targeting doesn't know that yet.
Looking term-by-term, you'd never catch this. Each "vegan X" term is below the negate threshold. But the pattern is right there — the word "vegan" is the cause, and the engine that finds it is BulkSheet Pro's Search Term Patterns page.
What an n-gram is, in practice
BulkSheet Pro tokenizes every search term in your bulk sheet and groups terms by the words and phrases they share. An n-gram is just a sequence of n consecutive words. A 1-gram is a single word ("vegan"). A 2-gram is two consecutive words ("vegan recipes"). A 3-gram is three ("vegan dinner ideas").
For each n-gram, the engine aggregates: how many distinct search terms contain it, total spend across all those terms, total orders, total clicks, and ACoS computed from the combined spend and sales. The page can show you the n-grams that are bleeding spend (the "worst" view) or the n-grams that are converting unusually well across many search terms (the "best" view).
Stopwords are filtered out — "a", "the", "and", "or", common units like "oz" or "lb", and a few other words that are too generic to be useful as negatives. So a search term like "the best vegan air fryer cookbook" tokenizes to "best", "vegan", "air", "fryer", "cookbook" for unigram purposes. From there the engine builds bigrams ("best vegan", "vegan air", "air fryer", "fryer cookbook") and trigrams ("best vegan air", "vegan air fryer", "air fryer cookbook"). Each n-gram becomes a candidate pattern.
The worst view: finding waste patterns
In the worst view, BulkSheet Pro flags n-grams whose combined performance crosses a waste threshold. Two cases qualify as high-confidence waste:
The first is the zero-order-overspend case. The n-gram appears in at least two distinct search terms, total spend across those terms exceeds your account's patience budget (seven times account CPO × target ACoS), and there are zero orders. This is the n-gram-level equivalent of the patience-exceeded gate used in per-term negation — except now it operates on aggregate spend across many terms, which catches patterns that no individual term would trigger.
The second is the high-ACoS-with-orders case. The n-gram has produced some orders, but the combined ACoS across all terms containing it is more than double your target. The minimum gates: at least two distinct search terms and at least 10 clicks across them, so a single bad term doesn't drive a false positive.
When you click into the Rec Actions tab, BulkSheet Pro shows only bigrams and trigrams (n ≥ 2). Single-word negatives are intentionally excluded from the recommendations — a one-word phrase negative is too broad. Negating the word "kids" because "kids vegan recipes" looks bad would also block every legitimate "kids cookbook" search you might want. Bigrams and trigrams are specific enough to negate safely.
The best view: finding harvest patterns
Flip the view to best. Now the engine flags n-grams whose combined ACoS is at or below half your target, with at least two distinct search terms and at least two orders.
This is the harvest counterpart to the waste case. Sometimes you have a converting phrase that's spread across many auto and broad search terms — none of them individually crossing the harvest threshold, but the pattern as a whole is clearly working. "Weeknight dinner" might appear in 14 search terms across your account, total ACoS 18% against your 35% target, $89 in spend producing $494 in sales. Worth its own dedicated campaign in exact match.
The best view is less commonly used than the worst view (most harvest candidates show up in the per-term Harvest Terms page), but for accounts where the auto campaigns surface lots of long-tail variations of the same converting phrase, the pattern view catches them in a way the per-term view doesn't.
What happens when you select n-grams
Select a row in the worst view. BulkSheet Pro queues a phrase-match negative for that n-gram in every ad group where it currently appears. This is important: the negation isn't account-wide. It's targeted to the specific ad groups that surfaced the wasteful terms. If "vegan" is only bleeding from your "AirFryer-Auto" and "AirFryer-Broad" ad groups, the phrase negative goes to those two. If a different ad group is producing "vegan keto recipes" at a good ACoS (because that ad group's SKU IS a vegan keto product), it's untouched.
The reason this matters: a phrase negative is a permanent block on that ad group. You don't want to phrase-negate "vegan" in an ad group where vegan is the right audience. The per-ad-group targeting keeps the negation precise.
Select n-grams in the best view, and the workflow flips: BulkSheet Pro pre-populates the Harvest Terms page with every search term containing the selected n-gram, queued for harvest into a new exact-match campaign. From there the standard harvest workflow takes over — pick a SKU, pick a bid, pick a budget, build the campaign.
What BulkSheet Pro won't do
It won't negate a single word. Unigrams are excluded from the Rec Actions tab entirely. You can see them in the table for diagnostic purposes (a word like "vegan" might be flagged in the worst view), but selecting one for negation isn't supported. The risk of blocking legitimate future searches is too high. Stick to bigrams and trigrams.
It won't aggregate across product types when the math would mislead. SP search terms and SB search terms can both contain "vegan," but the patterns aren't fully comparable — different placements, different attribution windows, different audiences. The page aggregates across all the terms in your bulk sheet because they all reflect actual money spent, but the recommendations respect ad group boundaries.
It won't flag n-grams below the spend floor. The Rec Actions tab requires at least $10 of total spend on the n-gram across all the terms containing it, and at least five distinct search terms. Below those floors, the signal isn't strong enough to justify a phrase-match negative — and the cost of a false positive (blocking legitimate future searches) outweighs the small spend you'd save.
It won't infer your intent on edge cases. If your product genuinely is vegan-friendly and "vegan" shows up in your bulk sheet at high ACoS because your auto campaigns are bidding too aggressively on a niche shopper, BulkSheet Pro can't know that. The recommendation surfaces; you decide. The page is a magnifier, not a referee.
The cycle that follows
You select the 12 highest-confidence bigram and trigram negatives in the worst view. Most are variations of "vegan X" or "diabetic X" — patterns that genuinely don't apply to your product. A few are unexpected — "X for dogs," "free pdf," "step by step." All twelve get queued as phrase negatives in their respective ad groups.
You export the bulk sheet, upload to Amazon, and the next monthly cycle shows the impact: the patient waste that was leaking through your per-term negates is gone. ACoS comes down two points. Total spend comes down 7%. Orders hold. The negate engine on the per-term level keeps catching the obvious outliers. The pattern engine catches what they can't see — the small bleeds that, in aggregate, became the bigger story.