The single most common avoidable leak in a Google Ads account is a broad match keyword running in a campaign with no negative keyword list attached to it. Broad match matches on intent, not on words, so it will serve your ad against any query Google judges related — and without a negative floor, nothing stops that judgement from drifting into adjacent categories, wrong audiences, and the free-and-jobs junk that wastes money in nearly every account. You pay for each of those clicks first and discover them in the report afterward. An unpaired broad keyword is not a risk you monitor; it is a leak you can locate and plug.
This is a specific, findable problem with a specific fix, and it is worth an afternoon this week. The point is not the well-worn advice to "add negative keywords" — it is the pairing rule underneath it: no broad match keyword should serve in a campaign that lacks an applied negative list. Below is how to find the unpaired keywords in your own account, what to attach and where, how to read the report for the queries the leak is already paying for, and how to keep the pairing intact as the account changes.
Why an unpaired broad keyword is a defined leak
Broad match casts the widest intent net of any match type, and in 2026 that net is wider than it used to be — Google has steadily loosened what counts as a related query, so a broad keyword pulls in more query variety, faster, than the same keyword did two years ago. Practical Ecommerce's reassessment of broad match makes the same point: the match type now leans on Google's intent model rather than the literal words, which is exactly why it needs a hard boundary you control (Practical Ecommerce). That boundary is the negative list. Without one, the only limit on the expansion is Smart Bidding's willingness to keep spending on queries it thinks might convert.
The reason this qualifies as a defined leak, rather than a general risk, is that it is binary and auditable: a broad keyword either runs in a campaign with an attached negative floor or it does not. When it does not, you can predict the waste before opening the report, because the junk broad match attracts is the same predictable set across accounts — free-hunters, job-seekers, DIY researchers, and adjacent-category browsers. Paying to rediscover them in your own search terms report is paying for information you already had. The unpaired keyword is where that avoidable payment happens, which makes it the first thing to look for in a wasted-spend audit.
How to find broad match with no negative floor
Finding the unpaired keywords is a two-list cross-reference. First, filter the keyword table to match type = broad — that is the population that can drift. Second, list which negative keyword lists are applied to each campaign, in Campaigns > shared library > negative keyword lists, plus any campaign-level negatives. A broad keyword sitting in a campaign with no applied list and no meaningful campaign-level negatives is unpaired, and it is the row you are hunting. Sort the broad keywords by cost so the biggest unpaired spenders surface first; a leak on a high-spend keyword is worth more than a dozen on keywords that barely serve.
At the scale of a few campaigns, clicking through the UI is fine. Past that, the Google Ads Editor lets you see negatives and keywords side by side, and a simple script that flags every campaign containing at least one broad keyword but zero associated negatives turns the audit into a one-line answer. However you run it, the deliverable is a list of campaigns where broad match is serving without a floor. That list is your work queue, ordered by the cost flowing through each unpaired campaign. This is the same discipline as an account-level visibility audit — you are measuring a structural gap, not reacting to a single bad query.
Pairing the list: what to attach and where
The fix is to attach a negative list to every campaign on your unpaired queue before you touch anything else, and the right place to attach it is almost always a shared list rather than campaign-level negatives typed in by hand. A shared negative list applied across the campaigns that share an intent profile means one edit propagates everywhere, and it means a new campaign launched into that group inherits the floor automatically instead of starting unpaired. The mechanics of choosing account, campaign, or shared scope are worked through in the negative-list structure post; for this audit, default to shared unless a campaign genuinely needs a unique exclusion.
As for contents, attach the universal intent-mismatch layer first — free, cheap, discount, jobs, careers, salary, internship, DIY, tutorial, sample, template, course — because that is the junk broad match reliably pulls in regardless of what you sell. Then add the campaign-specific terms you already know are wrong for the offer: competitor products you do not carry, regions you do not serve, adjacent categories your product is not. This is the same tiered list a disciplined account builds before launch; if the campaign never got one, pairing it now is the retrofit. Attach the floor, then move to the report for the account-specific drift the standard list cannot anticipate.
Reading the report for what the leak already bought
With a floor in place, the search terms report shifts from a firehose to a queue of real decisions. Open it for each newly-paired campaign, filter to the broad keyword's traffic, and sort by cost. The expensive irrelevant queries at the top are what the unpaired period was paying for — negate them, and note the patterns, because a cluster of similar wasteful queries is usually better handled as one grouped negative than as a dozen single ones. The pattern-grouping versus single-negatives post covers when to negate the pattern rather than the instance.
The judgement call at this stage is distinguishing a genuinely irrelevant query from one that is merely underperforming. A query that is off-intent for your offer is a negative; a query that is on-intent but expensive might just need a bid adjustment or more time to gather conversion signal. Negating the latter is how a leak-fixing session tips into the opposite failure — over-negating — where you strangle the converting traffic broad match was supposed to find. Negate the queries you are certain are wrong, and leave the borderline ones for the bid lever, not the block list.
The match type of the negatives you add
The negatives you attach have match types too, and getting them wrong reopens the leak from the other side. Broad-match negatives block a query only when it contains all the negative's words in any order, and they do not block close variants, misspellings, or synonyms — so a single-word broad negative like "free" is powerful and safe, but a multi-word broad negative can both miss the variants you meant to catch and, if too generic, quietly suppress good traffic you never see. Use phrase and exact negatives for most multi-word exclusions, where you want to block a specific query or phrase precisely.
The failure mode to avoid is assuming a negative blocks the plurals and close variants of what you typed — it does not, in the way positive keywords match them. If you negate "job" you have not necessarily blocked "jobs," and against broad match's expansion that gap matters. The mechanics of how negatives handle plurals and variants, and where they differ from positive matching, are in the negative match types post; the short version for this audit is to add the obvious variants explicitly rather than trusting the negative to infer them.
Keeping the pairing intact as the account changes
Closing the leak once is not the same as keeping it closed. Accounts drift: a new campaign gets launched without the shared list, someone converts an exact keyword to broad without checking the floor, or a list gets detached during a reorganisation. The pairing rule — no broad match keyword serves in a campaign without an attached negative list — has to become a standing check, not a one-time cleanup. Re-run the two-list cross-reference on a cadence, monthly for an active account, and treat any newly-unpaired campaign as a leak to plug on sight.
The governance is lighter than it sounds because the shared-list structure does most of the work: launch every broad-match campaign into a group that already carries a floor, and the default state becomes paired rather than unpaired. Fold what each account teaches you back into the shared lists so the universal layer compounds over time. Done consistently, broad match stops being the account's biggest liability and becomes what it is supposed to be — a discovery engine with a boundary you control, feeding your search terms report queries worth a decision rather than junk you have already paid for.