← Blog

Broad Match With No Negative List Is a Budget Leak

Wasted Spend9 min readSearch Term Pro

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.

Frequently asked questions

Why is broad match without negative keywords a problem?

Broad match matches your ad to any query Google reads as related in intent, not just the words in your keyword. Without a negative list attached, there is no floor on how far that expansion can drift — the keyword will serve on adjacent categories, wrong intent, and free/DIY/jobs queries, and you pay for every click before you see it in the report. A paired negative list is the floor that stops the expansion at the edges you have already decided are wrong.

How do I find broad match keywords with no negative list?

In the Google Ads UI, filter the keyword table to match type = broad, then cross-reference each broad keyword's campaign against the campaign's applied negative lists (Campaigns > shared library > negative keyword lists, or the campaign-level negatives). Any broad keyword in a campaign with no applied list and no meaningful campaign-level negatives is unpaired. At scale, the Google Ads Editor or a script that flags campaigns containing broad keywords but zero associated negatives is faster than clicking through.

Should every broad match keyword have its own negative list?

Not its own — every campaign that runs broad match should have a negative list applied, and broad keywords should not run in a campaign without one. The list is usually shared across similar campaigns rather than unique per keyword. The rule is simpler than per-keyword lists: no broad match keyword serves in a campaign that lacks an attached negative floor. That single pairing rule closes most of the leak without creating a maintenance burden.

What negatives should I attach to a broad match campaign first?

Start with the universal intent-mismatch list — free, cheap, jobs, careers, salary, DIY, tutorial, sample, template — then add the campaign-specific terms you already know are wrong for the offer, plus the wasteful queries the search terms report has already surfaced. The universal layer blocks the predictable junk broad match pulls in; the report-driven layer blocks the drift specific to this account. Attach both before you widen the keyword, not after.

Is pausing broad match better than pairing it with negatives?

Not necessarily. Broad match paired with a solid negative list and Smart Bidding can find converting queries exact and phrase would miss. The problem is unpaired broad match, not broad match itself. Pausing it trades the leak for lost reach; pairing it keeps the reach and closes the leak. Pause only when the campaign cannot support the negative-list maintenance broad match demands, or when the search terms report shows the expansion is structurally irrelevant to the offer.