Five campaigns, 55 keywords, 56 negatives across all four levels, four conflicts planted deliberately. Google reported two of them. It missed the one sitting on the account-level list, and it missed a campaign-level exact match conflict where the negative was word for word identical to the keyword it was blocking. Both findings came with one remedy: delete the negative.
The account
Nothing about this account was accidental. I built it to answer one question, so I knew what was in it before I looked at what Google said was in it.
- Five campaigns, ten ad groups
- 55 active keywords
- 56 negative keywords, spread across account-level list, shared lists, campaign level and ad group level
- Four conflicts planted deliberately, one at each level of severity
Then I opened the Recommendations page and read what Google reported.
The result
Two of the four.
| The conflict | Level it sits at | Found by Google? |
|---|---|---|
tracking (broad) | Campaign | Yes |
expense app (broad) | Campaign | Yes |
expense report software (exact) | Campaign | No |
free (broad) | Account-level list | No |
The account-level miss is the expected one
Google's check appears not to reach the account-level negative list at all. That is the level with the widest reach in any account, and usually the oldest terms in it, added by somebody who may no longer work there.
In this account, free sat on the account-level list and blocked two live keywords in a campaign that had nothing to do with the reason the word went on the list. Nothing was reported. Nothing failed. Those keywords simply never served.
The second miss is deliberate, and you can read the rule
The negative was [expense report software], exact match, at campaign level. The keyword it blocks is "expense report software", phrase match, same words. Same campaign, same level as the two conflicts Google did find, in the same account, at the same time. Not reported.
Google's own Negative Keyword Conflicts script says why. Before comparing any text, it asks whether the negative is stricter than the keyword. An exact negative against a phrase keyword is stricter, so the function returns false and the pair is never examined. The same applies to any non-broad negative against a broad keyword.
Google has since removed that script from its scripts documentation, and a Google representative on the Ads Scripts forum has said the deprecated solutions are explicitly unsupported. It lives on anyway: every free conflict script I can find is a fork of it, so the rule is now spread across half a dozen tools nobody maintains centrally.
The rule is documented in plain English too. Google's own guidance says a negative using a stricter match type cannot block a normal keyword, and that an exact match negative only blocks an identical exact match keyword.
So Google's conflict check will never show you an exact match negative unless the keyword it blocks is also exact. That is a design decision rather than an oversight, and Google's reasoning is sound on its own terms: an exact negative only blocks one query, and a phrase keyword goes on serving for longer queries. The keyword is not blocked, so by that definition there is no conflict.
The query it blocks is expense report software itself. For a keyword built on those three words, that is the closest match it will ever get, and it is gone. Everything longer still serves, so the keyword keeps spending and looks healthy, while the search it exists for goes to somebody else.
Reasonable people will read that differently, and that is the point. Google decided for you and never mentioned it. The operator who added that negative a year ago should be told it is there, and then decide.
The only fix offered is deletion
Both findings appeared under a heading reading "Select negative keywords to remove". Apply on each row, Apply all across the top, and Dismiss all beside it. No option to narrow the negative instead, and no indication of which fix would actually clear the conflict. If auto-apply is switched on for that recommendation, Google removes them without asking.
That matters because a negative was added for a reason, and deleting it throws the reason away along with the conflict. Both of the conflicts Google found here could have been cleared by narrowing the match type instead: one at exact, one at phrase, each keeping the block working for the queries it was written for while releasing the keyword it was catching by accident.
One founder posted recently about finding eighteen auto-apply toggles switched on by default in his account. Removing conflicting negative keywords is one of them.
What this test does not prove
The honest limits, because they change how much weight the result carries.
- It is one account, built by me, with conflicts I placed on purpose. A real account accumulates them by accident, over years, which may well look different to Google's check.
- It ran once. I have not re-run it to see whether the same four produce the same two.
- Recommendations appear on Google's own schedule. A conflict it had not got to yet would look identical to a conflict it cannot see.
- Google changes things. This is what the account reported in late August 2026.
What it does establish is a floor. On an account where every conflict was known in advance, the check reported half of them and offered one way to fix each.
How to run it on your own account
This takes an afternoon and it tells you something about your account rather than mine.
- Pick one campaign. Export its keywords and its negative keywords.
- Add a negative you know collides with a live keyword in that campaign. A broad match negative blocks any query containing all of its words, in any order, so pick one word from the keyword.
- Wait for Recommendations to refresh, then see whether it appears.
- Repeat at account-list level, where my test says it will not appear.
- Remove your planted negatives afterwards.
If you would rather not plant anything in a live account, the same comparison works on exports. One caveat that applies to everybody: Google's export names your shared negative lists without listing what is on them, so that level cannot be checked from a CSV by anyone.
Free conflict checker, runs in your browser
Paste one campaign's negatives and its keywords. It shows which negatives block which keywords and which match type clears each one. Nothing is uploaded, and no signup.
Check a campaignWhy I ran it
I build SearchSavior, which reads every negative in an account at all four levels and works out which ones are blocking live keywords, with narrowing offered alongside removal. So I had an obvious interest in the answer, which is exactly why the method is written out above: you can check it yourself rather than take my word for it.
Check all four levels in sixty seconds
Connect your Google Ads account and SearchSavior reads every negative at account, shared list, campaign and ad group level, and tells you which fix clears each conflict. Free for 7 days, no card.
Start a free trial