PPCleaner

Managing Negative Keywords Across Client Accounts

Published September 29, 202613 min read
Agency colleagues reviewing an advertising plan with campaign notes and product samples.
The short answer

Split your negative keywords into two piles. The universal pile — job-seeker terms, "free", "DIY", "how to make", porn and slur filters, non-serviced countries — is genuinely the same in almost every account and belongs in a master list you paste into each new client. The client-specific pile — competitor names, adjacent products you don't sell, the wrong customer segment, the wrong intent — is unique per account and must never be copied, because one client's "wholesale" is another client's whole business.

There is no Google feature that syncs a negative keyword list across accounts. MCC-level shared lists do not exist. What you can do is keep one canonical master list outside Google, push it into each account as a shared list, and handle the per-account work with something that reads each account's own search terms every night instead of you doing it in a spreadsheet on the last Friday of the month.

Every article about negative keywords at scale says the same thing: build a master list, apply it everywhere. That advice is not wrong, it is just the easy third of the job. The master list handles the terms that are junk in every account on earth. It does nothing for the terms that are junk in this account and profitable in the one next to it in your MCC — and those are the ones costing your clients money.

So the useful question is not "how do I share negatives across accounts". It is: which negatives can be shared, which must never be, and how do you keep the second category maintained across 15 accounts without it becoming your Friday?

There is no account-level or MCC-level negative keyword list in Google Ads

Start with the constraint, because a lot of advice pretends otherwise. Google Ads has campaign-level negative keywords and shared negative keyword lists that live inside a single account. There is no manager-account list that propagates down. There is no "apply to all accounts" button. Account-level negative keywords exist in a limited form and are not a substitute for a maintained list — they are a small safety net, not the workspace.

Practically, that means the master list lives somewhere outside Google — a spreadsheet, a text file in your repo, a table in your own tool — and gets pushed into each account as a shared list. When you add a new term to the master, you have to push it again. Every account. Manually, or by script, or by API.

This is the part nobody mentions: a master list is only as good as your redistribution process. We regularly audit accounts where the agency's "standard negative list" was applied at onboarding in 2022 and never touched since. The list exists. The sync does not.

A few more limits worth having in front of you before you design anything:

  • Performance Max accepts campaign-level negative keywords only — up to 10,000 of them — and does not accept shared negative keyword lists. So whatever you do with shared lists for Search, PMax needs a separate mechanism. We go into the ceiling itself in negative keywords in Performance Max and the 10,000 cap.
  • Standard Shopping does accept shared lists, like Search, but the terms behave differently because there are no keywords to match against — see shopping campaign negative keywords work differently.
  • Display, Video and App report no search terms at all. Only Search, Shopping and Performance Max appear in campaign_search_term_view. If a client's spend is mostly Display, negative keywords are not the lever.

What can genuinely be shared across every client

Three families of terms are safe to copy into any account without looking at the client: recruitment intent, free/DIY intent, and adult or offensive terms. Everything else needs a judgement call.

Recruitment intent. jobs, job, careers, vacancy, vacancies, salary, salaries, hiring, recruitment, internship, apprenticeship, cv, resume, glassdoor, indeed, linkedin jobs. A plumbing company pays for "plumber salary" and "plumber apprenticeship" in exactly the same way a law firm pays for "paralegal salary". The click is a person looking for work, not a customer. This one family is usually the single largest slice of clean, obvious waste in a fresh account — we have a full list in job seekers clicking Google Ads? block these terms.

The one exception: if the client is a recruiter, staffing firm or job board, invert the whole family. Which is exactly why "universal" lists still need a five-second sanity check per account.

Free, DIY and education intent. free, freeware, gratis, diy, do it yourself, how to make, how to build, tutorial, template, pdf, torrent, crack, download free, sample, meaning, definition, wikipedia, reddit. These pull informational traffic into commercial campaigns. Be careful with two of them:

  • free is dangerous if the client offers a free trial or free shipping. "free trial crm" is a great term for a SaaS. Put free in the master list as a candidate, not as an automatic add.
  • reddit blocks a real research-stage audience for some B2B accounts. Usually worth blocking, occasionally not.

Adult and offensive terms. Slurs, porn terms, and the specific garbage that broad match and Performance Max drag in around certain product categories. Nobody wants these and no client will ever ask you to unblock one. Copy freely.

Geography you never serve. If the client only ships to the US, uk, canada, australia, india, dubai and the rest are safe adds. This is technically client-specific but it's a two-minute conversation at onboarding and then it's fixed forever.

Add all four families at onboarding, in one shared list named something obvious like MASTER – universal exclusions, and you have removed a meaningful chunk of waste before you have looked at a single search term.

What must never be shared, and the terms that prove it

Competitor names, adjacent products, customer segment words and intent modifiers are all account-specific. Copying them between clients is how you block the term that was paying the retainer.

Here is the concrete version. Take the word wholesale.

  • For a DTC skincare brand, wholesale is a pure waste term. Someone searching "wholesale face serum" wants a pallet at 40% off, will never buy one bottle at $38, and if they click 200 times a month at $1.20 you are burning $240 a month on them.
  • For a packaging supplier, wholesale is the entire commercial intent. Blocking it kills the account.

Same word. Opposite verdict. Now do the same exercise with:

TermWaste forGold for
wholesaleDTC skincare brandPackaging supplier
used / second handNew car dealerEquipment reseller
cheapBespoke furniture makerDiscount electronics store
near meNational SaaS companyAny local service business
repairAppliance retailerAppliance repair service
templateDesign agency selling custom workNotion template shop
courseAccountancy practiceTraining provider
insuranceCar dealershipInsurance broker

Eight terms, sixteen verdicts, and the only thing separating them is what the client actually sells. No shared list can encode that.

Competitor names are the sharpest case. If you manage four CRM vendors, one of them may be happy to bid on the other three and two of them may have a standing instruction never to appear on a competitor's brand. Competitor negatives are per-account, per-client-policy, and sometimes per-quarter. The decision itself is not obvious either — we argued both sides in competitor searches in Google Ads, block or keep?.

Brand terms are the second sharpest. Client A's brand name is Client B's competitor negative. If you keep one combined list of "brands we block", one bad paste and you have negated your own client's name in their own account. This happens more than agencies admit. It shows up as a sudden collapse in brand impression share and it can sit there for weeks — one of the patterns in negative keywords hurting performance? six signs.

The structure that works: three tiers per account

Use three layers, and be strict about which terms live where. This is the part that keeps a book of accounts maintainable.

Tier 1 — the master list, pushed identically into every account. Recruitment, free/DIY, adult, non-serviced geography. Maybe 200 to 600 terms depending on how thorough you are. Version it outside Google. When you add a term to the master, you push it to all accounts within the same week. Name it identically everywhere so you can find it in five seconds during a handover.

Tier 2 — the client list, built at onboarding and reviewed quarterly. Competitor names, adjacent products, wrong segment, wrong intent, wrong price tier. This comes from a kickoff conversation, not from a spreadsheet. Ask three questions: what do people call you that isn't you, what do you not sell that looks like what you sell, and who is the customer you don't want. Write down every answer as a phrase negative.

Tier 3 — the rolling list, from this account's own search terms. The terms nobody could have predicted. "plumber union rates", "is [brand] going out of business", "[product] lawsuit", "[competitor] reviews reddit". These only appear after money has been spent on them.

Tier 1 is shareable. Tier 2 is per-client and stable. Tier 3 is per-client and never finished. The reason a book of accounts degrades is almost always tier 3: an agency does it brilliantly in month one, well in month two, and not at all from month four. Ten accounts × a proper search terms review is real hours, and those hours are the first thing that goes when a client escalates something else. How often should you check search terms in Google Ads covers what an honest cadence looks like when you're doing it by hand.

Where the tiers live in the account

Keep tier 1 and tier 2 as two separate shared lists applied to all Search and Shopping campaigns. Keep tier 3 at the campaign level where it was found, unless it's obviously account-wide, in which case promote it into tier 2 at your quarterly review.

For Performance Max, none of the shared lists apply. You add tier 1, tier 2 and tier 3 directly as campaign-level negatives on each PMax campaign — which means if you have three PMax campaigns in an account, you are writing the same 400 terms three times. That's an API job, not a UI job, and it's the single most tedious thing about managing PMax across a book of accounts. The 10,000-per-campaign ceiling is generous enough that you will rarely hit it, but you will feel every manual paste.

Match types are where shared lists quietly break

Use phrase negatives for almost everything in a master list. Broad negatives behave unpredictably across match types, and exact negatives block one string and nothing else — neither is what you want for a list you apply to 15 accounts you are not watching closely.

A negative keyword is not the mirror image of a positive one. Broad, phrase and exact are the three negative match types, but they do not follow the same matching logic as their positive counterparts. A broad negative can behave in ways that surprise you when the query contains the words in a different order or with extra words around them. On one account you notice. Across a book of accounts, an unpredictable broad negative in your master list is a problem you find six months later when a client asks why volume dropped. The full mechanics are in negative keyword match types don't work like positives.

Rules that survive contact with a portfolio:

  • Phrase by default. "job" as phrase blocks "plumber jobs near me" and "job vacancies plumber" and leaves "jobbing builder" alone. Good enough, predictable.
  • Exact for single common words that appear inside real terms. [free] as exact only, if the client sells a free tier. Don't phrase-block a word that appears in your money terms.
  • Broad almost never. Reserve it for genuinely unambiguous multi-word junk, and even then, check what it caught after a week.
  • Watch the singular/plural and misspelling gap. Negatives do not match close variants the way positives do. salary does not block salarys. Your master list needs the plural, the misspelling and the abbreviation as separate lines. This is why master lists grow to 500 terms rather than 100.

There is a real cost to a big master list: every term is a term someone has to justify later. We have opinions about the ceiling in how many negative keywords are too many? — the short version is that the number matters less than whether anyone can still explain why each entry is there.

Performance Max breaks the portfolio model completely

Every technique above assumes you can apply one object to many campaigns. Performance Max does not let you. No shared lists, campaign-level only, and the search terms come back grouped and partially hidden.

This matters more as PMax takes a bigger share of client budgets. Three specific problems when you manage a book of accounts:

No shared lists means no propagation. Add a term to the master list, and your Search campaigns across 15 accounts update in one push if you have scripted it. Your PMax campaigns update only if you write to each campaign individually. Every new PMax campaign a client launches starts from zero negatives unless you remember.

The search terms report is less complete. PMax search terms appear in campaign_search_term_view, but what you see is not the full query-level detail you get from Search. Terms get grouped into categories and low-volume terms are withheld. You cannot block what you cannot see. What the PMax search terms report actually shows is the honest version, and where Performance Max wasted spend hides covers the spend that never surfaces as a query at all.

Brand exclusions are not negative keywords. The brand exclusion list in PMax is a different mechanism with a different scope, and account managers routinely assume it covers more than it does — Performance Max brand exclusions and what they miss sets out the gaps. Search themes add another wrinkle: they are positive signals, not negatives, and they can pull in traffic your negatives then have to catch (search themes vs negative keywords in Performance Max).

If you manage 15 accounts and each has two PMax campaigns, that is 30 campaigns needing individual negative keyword maintenance with a worse data feed than Search. Budget the time honestly, or automate it.

How to actually run this across 15 accounts

The workload splits cleanly. Tier 1 is a distribution problem you solve once with a script. Tier 2 is four conversations a year. Tier 3 is the one that eats your week, and it is the one worth automating first.

A realistic manual process:

  1. Onboarding, per account (about an hour). Push the master list. Run the kickoff questions and build tier 2. Check the client isn't a recruiter before you paste the jobs list.
  2. Monthly, per account (20 to 60 minutes). Pull the search terms report for the last 30 days, sort by cost with zero conversions, work down until the terms stop being obviously bad. Add as phrase negatives at the right level. Copy anything account-wide into PMax campaign negatives by hand.
  3. Quarterly, all accounts (half a day). Diff each account's tier 1 against the master and re-push. Review tier 2 against what the client now sells. Audit for the negative that's blocking something it shouldn't.

Step 2 × 15 accounts is somewhere between five and fifteen hours a month, every month, forever. That is the number agencies quietly stop paying. If you are pricing this work into a retainer, the arithmetic in Google Ads agency or do it yourself — the honest maths is the same arithmetic from the other side of the table.

What to automate, and what not to. Automate tier 1 distribution and tier 3 discovery. Do not automate tier 2 — the competitor and product-adjacency decisions need a human who has spoken to the client.

This is the shape PPCleaner takes. It reads each account's own search terms every night — Search, Shopping and Performance Max — judges which ones were never going to convert, and adds them as negative keywords in that account. It does not share anything between accounts, by design, because tier 3 is not shareable. It never touches budgets, bids, ads or keywords, so nothing else in the account moves while you're not looking. It never blocks a term that converted in the last 90 days, which is the specific guardrail that makes per-account automation safe across a book of clients. And every block can be undone in one click for 90 days, which matters when a client asks in week six why a term stopped showing.

The honest limitation: it will not know that this particular client has a standing instruction not to bid on a named competitor, and it will not know that "wholesale" is your packaging client's best term before that term has had a chance to convert. Tier 2 is still yours. So is the client conversation.

Before you change anything, get a baseline. Run the Google Ads audit checklist you can run in an hour on your two worst accounts, and calculate what the waste actually is using the method in how to calculate wasted ad spend honestly rather than the inflated version that counts every non-converting click. If tier 3 waste in a $20,000/month account is $1,400, you know exactly what the automation is worth and exactly what your Friday afternoon was worth.

One last thing about portfolios specifically: the accounts that need this most are the small ones. A $50,000/month account gets attention because it's loud. The $3,000/month account with one Search campaign and one PMax campaign gets a search terms review twice a year, and it is the account where a single bad term can be 15% of spend. Whatever process you build, make sure it applies to the accounts nobody is watching — because why Google Ads shows irrelevant search terms doesn't scale with budget, and neither does the damage.

negative keywordsagencyaccount managementperformance maxshared lists

Frequently asked

Can I create a negative keyword list at the MCC level and apply it to all client accounts?

No. Google Ads shared negative keyword lists live inside a single account. There is no manager-account list that propagates down to the accounts below it. If you want the same list in 15 accounts, you push it into each account — by hand, by script, or through the API — and you push it again every time the master changes. Account-level negative keywords exist in a limited form but are not a replacement for a maintained shared list.

Which negative keywords are safe to copy into any client account?

Four families. Recruitment intent (jobs, salary, careers, vacancy, indeed, glassdoor), free and DIY intent (free, diy, how to make, tutorial, template, pdf, torrent), adult and offensive terms, and countries the client does not serve. Two cautions: invert the recruitment family if the client is a recruiter or job board, and treat "free" as a candidate rather than an automatic add if the client offers a free trial or free shipping.

Why can't I share competitor negative keywords between clients?

Because one client's competitor is another client's brand name, and because competitor bidding is a client policy decision, not a technical one. If you keep a combined list of competitor brands across your book, a single bad paste negates your own client's brand name in their own account. That shows up as a collapse in brand impression share and it can sit unnoticed for weeks.

How do shared negative keyword lists work with Performance Max?

They don't. Performance Max does not accept shared negative keyword lists. It accepts campaign-level negative keywords only, up to 10,000 per campaign. So in a book of accounts you have to write the same terms into every PMax campaign individually — three PMax campaigns in an account means three copies of the same list. It is API work, not UI work, and every new PMax campaign a client launches starts with zero negatives.

How much time does negative keyword maintenance take across 15 accounts?

A proper monthly search terms review runs 20 to 60 minutes per account, so five to fifteen hours a month across 15 accounts, plus roughly half a day quarterly for re-pushing master lists and reviewing client-specific terms. This is the work that quietly stops in month four when a client escalates something else, and the small accounts are usually the first to be dropped.

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

Managing Negative Keywords Across Client Accounts — PPCleaner