PPCleaner

Performance Max Negative Keywords Not Working? Here's Why

Published October 21, 202611 min read
An ecommerce owner and marketer reviewing search-query cards beside products and customer orders.
The short answer

Most of the time, a Performance Max negative that "isn't working" is working fine. The term you see either got its clicks before you added the negative, is a slightly different query your match type didn't cover, or is a category label in Insights rather than an actual search term. Negatives also only apply to search inventory, so they do nothing on Display, YouTube or Gmail placements.

To check, pull search terms for the campaign starting the day after you added the negative and compare the exact query text with the exact negative and its match type. If the same text, from after that date, gets past an exact-match negative in the same campaign, you have a real problem. Take it to Google support with screenshots.

Most "failed" PMax negatives actually worked

Usually, when a blocked term seems to keep showing up in Performance Max, the negative is doing its job and the report is what's misleading you. The three usual causes are a date range that includes clicks from before the block, a query that differs slightly from what you blocked, and a category label that you're reading as a search term.

The pages that rank for this topic mostly cover setup. Add negatives at campaign level, mind the limit, ask your rep if you're stuck. That's all true, but it skips the question you actually have: the term is still there, so what's going on? Setup is rarely the cause. Usually the issue is how Google matches negatives and how it reports search terms, and neither is obvious from the interface.

Here's the frame for the rest of this article. When a blocked term seems to get through, it's one of five things:

  1. Timing. The clicks came before the negative existed.
  2. Matching. The negative never covered that exact query.
  3. Placement. The negative is in a different campaign, or wasn't saved.
  4. Reporting. What you're looking at isn't a search term.
  5. Inventory. The spend came from a channel where keywords don't apply.

There's also a sixth case: Google actually served an ad on a query you correctly blocked. It's the rarest by far, so rule out the other five first.

The term in your report may come from before the block

A search terms report covers a date range, and if that range starts before the day you added the negative, the term will show up with every click it got before the block. This is the most common false alarm, and it costs nothing to rule out.

Say you added plumber salary as a negative on the 12th. You open the report for the last 30 days on the 20th. "plumber salary" is still there with 14 clicks and $38 spent. That doesn't prove anything. All 14 clicks could have happened between the 1st and the 11th.

The fix is dull but it works. Set the start date to the day after you added the negative and check again. If the term is gone, the block worked. If it's still there, add a daily breakdown and look at the dates its clicks fell on.

Two details make this harder than it sounds:

  • Change history gives you the exact time. Don't rely on memory, especially in an account where several people make changes. Change history shows who added the negative and when.
  • Data arrives late. Search term data isn't real-time, and conversions get credited back to the day of the click. A term can get fresh rows of data a few days after you blocked it. Those rows describe old clicks, not new ones. That's why the day-by-day view matters more than the total.

If you manage several accounts, this check alone resolves a surprising share of client emails that say "the negatives don't work."

Your negative didn't match the query you're looking at

Negative keywords match more literally than positive keywords. A negative only blocks the queries its match type covers, and it doesn't stretch to cover variations the way your targeting does. So a term that looks blocked is often a different query that the negative never applied to.

Put the query from the report next to the negative, word for word, and run it through the rules below.

Exact negatives block one query

An exact negative [plumber salary] blocks the query "plumber salary" and nothing else. "plumber salary texas", "plumbers salary" and "salary plumber" can all still trigger your ads. If you blocked in exact match and see a longer or reordered version in the report, the negative worked and a different query got through.

Phrase negatives block a word sequence

A phrase negative "plumber salary" blocks any query that contains those words in that order: "plumber salary texas", "average plumber salary". It doesn't block "salary of a plumber", because the order differs. It doesn't block "plumber salaries" either, because that's a different word.

Broad negatives block a set of words

A broad negative plumber salary blocks queries that contain both words in any order, such as "salary for a plumber in ohio". It doesn't block "plumber wages" or "plumber pay", because neither query contains the word "salary". Broad negatives also behave unpredictably across match types. When a broad negative surprises you, rebuild the block as phrase or exact so you know exactly what it covers.

Close variants work in one direction only

This is the part that catches experienced managers. Your targeting reaches close variants and related meanings, and in Performance Max it reaches much further than that. Your negatives don't expand the same way. Google's documentation says negative keywords don't match close variants like plurals or misspellings. So [plumber salary] doesn't block "plumber salery" or "plumbers salary", even though PMax will happily show ads on both.

What you see in practice: you block one version of a bad query, and a week later its plural, its misspelling and a reordered version all show up. That isn't the negative failing. It's the gap between how far targeting reaches and how literally negatives match. The longer explanation is in close variants in Google Ads and why exact isn't exact.

What to do about it:

  • Block the root idea with phrase match when it's always bad. "salary" as a phrase negative covers every query that contains the word, in any position.
  • Add plurals and common misspellings yourself. Nobody else will.
  • Avoid single-word negatives that can appear in good queries too. "jobs" is safe for most service businesses. "free" isn't always safe, as covered in blocking "free" and "cheap" searches without losing buyers.

A wider negative brings its own risk: it can block queries that were bringing in sales. If you go wider, check that nothing that converted contains the word you're blocking. The method is in add negative keywords from search terms without guessing.

The negative is in the wrong place, or never got there

A Performance Max negative only applies to the campaign it was added to, and PMax doesn't accept shared negative keyword lists. If you built a shared list and expected it to cover PMax, it doesn't. This is the placement problem, and it's more common than people admit.

Things to check, in order:

  • Is the negative on this PMax campaign? A negative added to your Search campaign does nothing for PMax, even if both campaigns target the same products. With several PMax campaigns, each one needs its own negatives.
  • Did you attach a shared list? Standard Shopping and Search accept shared lists. Performance Max doesn't. A list called "Global negatives – all campaigns" doesn't actually cover all campaigns if any of them are PMax. How account-level lists compare with campaign-level negatives is covered in account-level negative keyword lists vs campaign-level.
  • Have you hit the cap? A Performance Max campaign accepts up to 10,000 campaign-level negative keywords. Most accounts never get near that. Accounts that bulk-import big generic lists do. If an upload partly failed, the last batch may never have been added. Count what's actually on the campaign. Don't count what's in your spreadsheet.
  • Was the change saved? Uploads through Editor, scripts or a request to a Google rep can fail quietly or sit pending. Change history is the record. If the negative isn't there, it doesn't exist.
  • Is something else contradicting it? Brand exclusions, search themes and negatives each control a different thing. A search theme doesn't override a negative, but a messy setup makes it hard to tell which control you're testing. See search themes vs negative keywords in Performance Max and Performance Max brand exclusions and what they miss.

One more trap in accounts with several campaigns. If you block "plumber salary" in PMax and it then shows up in a Search campaign, that isn't a PMax leak. The query moved to another campaign that never had the negative. To spot that kind of conflict, see negative keyword conflicts Google Ads won't flag.

Search term categories are not search terms

The Insights view in Performance Max groups queries into categories. A category with spend doesn't mean your blocked term got through. A label like "plumber careers" can hold dozens of queries, and you may have blocked only some of them.

This is where much of the confusion comes from. You block "plumber salary" and "plumber apprenticeship". Next week the "plumber careers" category in Insights still shows impressions and clicks. It looks like the block failed. What's actually happening is that "how to become a plumber", "plumber training near me" and "plumbing school cost" still sit in that category, and you never blocked them.

Categories are useful for spotting a theme, and that's all they're good for. To check a block, you need the query-level data. Search terms for Search, Shopping and Performance Max are reported in campaign_search_term_view in the Google Ads API. That's where you see the actual query text, filtered to your campaign and broken down by date. The report available in the interface is narrower, and some queries are held back for privacy no matter where you look. What the PMax search terms report actually shows explains what's in it, and Google Ads search terms hidden by privacy covers the part you can't see.

The honest limit: if a bad query gets so little volume that Google never reports it, you can't block it on purpose. All you can do is block wider patterns with phrase match. No tool gets around that, ours included.

Negatives only touch search inventory

Negative keywords control which searches can trigger your ads. Performance Max also spends on Display, YouTube, Gmail and Discover, where no search query is involved. So spend on those channels carries on after you add negatives, and that's expected.

The same fact explains a common complaint: "I added 400 negatives and my PMax spend didn't move." Two reasons:

  1. The budget gets spent somewhere else. Blocking bad queries frees up budget, and PMax usually spends it, either on other queries or on other channels. Total spend staying flat doesn't prove the negatives failed. Look at what the money is buying now, not at the total.
  2. Some of the waste was never on search. If a placement or a weak asset group is the problem, negatives can't reach it. Display, Video and App report no search terms. See Performance Max placement exclusions, honestly for what you can actually control there.

The right question isn't "did spend drop?" It's "did spend on the queries I blocked drop to zero after the block date?" That's the only thing a negative keyword promises.

How to check that a block actually applied

You can check a PMax negative in about ten minutes. The goal is to find out whether the exact query you blocked got any clicks after the block was live, in the campaign where you added it.

  1. Get the timestamp. In change history, find when the negative was added, on which campaign, and with which match type. Write all three down.
  2. Confirm it's there. Open the PMax campaign's negative keyword list and find the keyword. Check the match type. A lot of "exact" negatives turn out to be broad, and a lot of phrase negatives turn out to be exact.
  3. Pull query-level data from the next day. Use campaign_search_term_view or the search terms report, filtered to that one campaign, starting the day after the timestamp, with a daily breakdown. Don't use the Insights categories for this.
  4. Compare text, not meaning. For each row that looks like your blocked term, ask whether this exact text is covered by the negative's match type. "plumbers salary" isn't covered by [plumber salary]. "salary plumber" isn't covered by "plumber salary".
  5. Check the dates on the rows. Is there a click dated after the block? Remember the reporting delay. Wait a few days before you call a row new.
  6. Check other campaigns. If the query disappeared from PMax but showed up in Search or Shopping, it moved. That's a gap in your coverage, not a failure of the negative.

If all six checks pass and the term is gone, the block worked. If a query got through that the negative didn't cover, widen the negative or add the variant. If the exact text of an exact negative got clicks after the block, in the same campaign, keep reading.

When it really is Google

Occasionally the checks above all come back clean and the term still got through: same campaign, exact text, exact-match negative, clicks dated well after the block. That points to Google's side, and you should report it rather than work around it.

We see it rarely in accounts we audit, and when we do, it's nearly always a handful of clicks rather than steady spend. That's no comfort if those clicks cost $30 each. What to send Google support:

  • Change history showing the negative, its match type and when it was added.
  • The search term row with the date, campaign and query text.
  • A note that the query is identical to the exact negative.

Keep your request specific. "Negatives don't work in PMax" gets a canned answer. "Query X got 3 clicks on the 18th despite exact negative [X] added on the 12th" gets someone to look at it. If those clicks also look fake, that's a separate claim. Google Ads invalid clicks refund: what you actually get explains what to expect from it.

Don't promise a client a refund for this. Google may credit invalid activity. A served query that should have been blocked isn't automatically refunded, and we can't tell you it will be.

Where PPCleaner helps, and where it doesn't

PPCleaner reads search terms from campaign_search_term_view every night for Search, Shopping and Performance Max. It judges which ones were never going to convert and adds them as campaign-level negatives, which is the only kind PMax accepts. That takes care of the step most people skip: adding the plural, the reordered version and the misspelling when they show up, instead of waiting a month for someone to notice them.

It doesn't change what Google reports. It can't block queries Google hides for privacy. It does nothing about Display or YouTube spend, because no search query is involved there. It never blocks a term that converted in the last 90 days. So if a term you think is bad keeps running and PPCleaner left it alone, check its conversions. It probably converted at some point. Every block can be undone in one click for 90 days, and if you'd rather undo by hand, see how to undo negative keywords in Google Ads.

PPCleaner can't settle the question this article is about for you. It can't tell you whether one specific term got through after one specific block. Only the dated, query-level check above can do that. Run it once on the term that's bothering you. Most of the time you'll find the negative worked, and that the gap was always the queries next to it.

performance maxnegative keywordssearch termsmatch types

Frequently asked

Do negative keywords actually work in Performance Max?

Yes, for search inventory. A campaign-level negative stops the queries its match type covers from triggering ads in that PMax campaign. It doesn't affect Display, YouTube, Gmail or Discover placements, because no search query is involved there.

Why do I still see a term I blocked in the PMax search terms report?

Usually for one of three reasons. Your date range includes clicks from before you added the negative. The query differs slightly from what you blocked (a plural, a misspelling, a different word order). Or you're looking at an Insights category, not an actual search term. Filter the report to start the day after the block, with a daily breakdown, before you decide the negative failed.

Can I add a shared negative keyword list to Performance Max?

No. Performance Max accepts up to 10,000 campaign-level negative keywords but doesn't accept shared negative keyword lists. Standard Shopping and Search do. A shared list labelled for all campaigns won't cover your PMax campaigns.

Do negative keywords block close variants and misspellings?

No. Google's documentation says negative keywords don't match close variants like plurals or misspellings, even though your targeting does reach them. If you block [plumber salary] in exact match, you have to add 'plumbers salary' and common misspellings yourself, or use a phrase negative on the root word.

My PMax spend didn't drop after adding negatives. Did they fail?

Not necessarily. PMax usually spends the freed-up budget on other queries or channels, so total spend often stays flat. Check whether spend on the specific queries you blocked dropped to zero after the block date. That's the only thing a negative keyword promises to do.

About the author

Alain Abulafya

Founder of PPCleaner · Google Ads consultant & media buyer

Alain has worked in digital marketing for more than 15 years, over 10 of them managing and optimizing Google Ads campaigns. He has worked with more than 100 advertisers in e-commerce and lead generation, and he is a Google Partner. He built PPCleaner to automate the search term reviews he used to do by hand for his clients.

Stop the leak

Clean your search terms. Save time and money.

Every night, PPCleaner reviews the searches your campaigns actually paid for, groups them by intent, and excludes the ones that never convert. No spend threshold to wait for, nothing touched but negatives — and one click undoes any of it.

Start 7 days free

Search, Shopping and Performance Max · Cancel in one click

Related articles

PMax Negative Keywords Not Working? How to Check the Block — PPCleaner