PPCleaner

Smart Bidding Bad Data: How Junk Queries Skew Your Bids

Published October 27, 202612 min read
A business owner and marketer reviewing an advertising decision in their workplace.
The short answer

Smart Bidding learns from the clicks and conversions it sees. When irrelevant queries get through, they distort that data in three ways. Clicks that never convert push up the CPA you set your targets from. Junk that triggers a soft conversion teaches the model to chase more of it. And long-tail junk shows up faster than the model can learn to avoid it. Your target ends up built on a blend of real buyers and noise.

Blocking those queries does more than save the click. It makes your reported CPA and ROAS match your real customers, so the targets you set mean something. It also stops the model spending its budget room on traffic that was never going to buy. It won't fix broken conversion tracking, and it can't reach terms Google hides. But it's the input-quality step most Smart Bidding advice skips.

Smart Bidding learns from every query you let it pay for

Smart Bidding doesn't know which search terms are junk. It learns from results: clicks that convert, and clicks that don't. So every irrelevant query you let it bid on goes into the data it learns from. Google describes Target CPA and Target ROAS as setting a bid for each auction, using signals like device, location, time of day and the search itself. Those bids are predictions, and the predictions come from what happened before.

Here's what that means in practice. Say you run a plumbing business and your phrase match keyword "emergency plumber" picks up "emergency plumber salary", "emergency plumber course" and "how to become an emergency plumber". Smart Bidding doesn't start out knowing those people are job seekers. It bids, someone clicks, and it records what happened. Each wasted click costs you money once. Then it stays in the history behind the next million bid decisions.

Most advice about Smart Bidding treats data quality as a conversion tracking problem. Fire the right tag, import offline conversions, give the model enough volume. All of that is correct, but it covers only one side. The other side is the query mix: which searches the model is allowed to learn from in the first place. That's the side this article is about.

Three ways junk queries corrupt the signal

Junk queries damage Smart Bidding in three different ways, and each one needs a different fix. Some just cost money and raise your averages. Some actively mislead the model. And some arrive too fast for the model to ever catch up.

Zero-conversion junk inflates the numbers you set targets from

The most common case is simple. A junk query gets clicks and never converts. Smart Bidding can lower its bids on that exact query once it has seen enough clicks. But while it learns, the spend goes into your campaign totals.

The trouble is what you do with those totals. Most advertisers set Target CPA from the CPA they've seen. If the past 90 days show $50 per conversion, the target goes in at $50, or a little below to push for efficiency. But that $50 isn't what a real customer costs you. It's what a real customer costs, plus your share of "plumber salary" and "free plumbing course pdf". The target you gave the model has the waste built in.

Junk that converts on the wrong action teaches the model to chase it

This one is worse. Some junk queries do convert, but on an action that isn't a sale. A job seeker searching "plumbing apprenticeship near me" fills in your contact form to ask about jobs. Someone searching "acme boiler manual pdf" calls your number from the ad to ask a question you can't answer. Both count as conversions if your tracking counts every form fill and every call over a few seconds.

Smart Bidding now has a positive signal on a query that will never bring revenue. It doesn't just keep bidding on that query. It looks for more auctions that resemble it. You told it this was a good outcome, so it does its job and finds more.

On Target ROAS the same thing happens with low-value orders. A Shopping campaign selling $400 espresso machines can pick up "espresso machine descaling tablets" and sell a $12 box of tablets. That's a real conversion with a real value, so the query looks like it works. But if your margin on tablets is near zero, the model is learning to win auctions for a business you don't want to grow.

Long-tail junk arrives faster than the model can learn it

The third problem is volume and variety. Smart Bidding can learn that a query doesn't convert if that query comes back often enough. Most junk doesn't come back. It arrives as hundreds of one- or two-click variations: "plumber salary texas", "plumber salary per hour", "how much do plumbers make uk", "plumber wages 2025". Each one is new to the model. Each one gets a bid based on how much it looks like your good traffic, and to the model it looks quite similar, because it contains "plumber".

We cover why these small terms matter in Low Volume Terms in the Search Terms Report Add Up. For bidding, the point is this: the model is good at pricing queries it has seen many times. It's weakest on the long tail, and the long tail is exactly where junk lives. Close variants make this worse, because your keywords match more search terms than their match type suggests. See Close Variants in Google Ads and Why Exact Isn't Exact.

The arithmetic: what junk does to Target CPA and Target ROAS

With junk in the data, your reported CPA is higher than your real cost per customer, and your reported ROAS is lower. Every target you set from those figures is off by the same gap. The numbers below are illustrative, round on purpose so you can check them.

A Target CPA example

A Search campaign spends $3,000 in a month and records 60 conversions. Reported CPA: $50. You look at the search terms report and find that $600 of that spend went to queries like "plumber salary", "plumbing course" and "diy drain unblocking", with no conversions.

Take those out and the picture changes:

SpendConversionsCPA
As reported$3,00060$50
Junk queries$6000—
Relevant queries only$2,40060$40

Your real customers cost $40, not $50. That changes the decisions you make about targets:

  • If you keep the target at $50 and leave the junk in, the model is meeting target. Nothing looks wrong. You're paying $600 a month for nothing, and the report says you're on track.
  • If you cut the target to $40 to "push efficiency" and leave the junk in, the model has to bring its average CPA down by $10. It can't tell that the junk is what's raising the average, so it lowers bids across the board, on good queries too. You lose volume on "emergency plumber near me" to protect clicks on "plumber salary". This is how a lot of advertisers end up thinking Smart Bidding "chokes" when they tighten the target.
  • If you block the junk first, the reported CPA moves toward $40 by itself. Now you can choose: keep the $50 target and let the model use the extra room to win more good auctions, or lower it knowing the number is real.

The third path is the only one where the target means what you think it means. For a step-by-step diagnosis when CPA climbs, see CPA Too High in Google Ads? Check Search Terms First.

A Target ROAS example

A Shopping campaign spends $2,000 and brings $8,000 in conversion value. Reported ROAS: 400%. Of the spend, $400 went to queries like "espresso machine repair near me" and "espresso machine manual", which brought no revenue.

  • As reported: $8,000 ÷ $2,000 = 400%.
  • Relevant queries only: $8,000 ÷ $1,600 = 500%.

If your break-even ROAS is 450%, the reported figure says the campaign loses money. The clean figure says it makes money. The difference is entirely in the search terms. An advertiser who reads only the top line might raise the target to 500%. That forces the model to cut bids on everything, when the real fix was to remove $400 of queries that should never have matched.

The soft-conversion case breaks the arithmetic the other way

Junk that converts on the wrong action makes your numbers look better than they are. If 10 of those 60 conversions were job applicants filling in a form, your real figure is 50 customers, and your real CPA on actual customers is higher than reported, not lower. Here the model isn't overspending against a fair target. It's hitting an easy target by counting the wrong people. Blocking the query helps, but the lasting fix is in conversion tracking, which we come back to below.

Why "give it more data" advice misses this

The usual Smart Bidding advice is sound but incomplete. Track conversions properly. Give the strategy enough conversion volume. Don't change targets too often. Let the learning period finish. Use value rules or conversion values so the model knows what matters. Nearly every guide that ranks for this topic repeats some version of that list.

What's missing is that more data doesn't help if more of it is noise. Google's message is roughly "trust the model and feed it signals". Fair enough. But the model can only learn from the auctions it entered, and which auctions it enters depends on your keywords, match types and negatives. Smart Bidding sets the price. It doesn't decide which searches qualify. Broad match with Smart Bidding widens the pool further, which is exactly why the query mix deserves more attention, not less.

There's a second gap. Most guides treat the target as a given: pick your CPA, set it, wait. They don't ask where that CPA came from. If it came from a period full of junk queries, you've anchored the model to a number that includes waste. Waiting longer won't fix that. Cleaning the input will.

And there's a reason this frustrates people. The Reddit threads calling it "scam bidding" usually describe the same pattern: tighten the target, volume collapses, loosen it, CPA drifts up. Often the model isn't failing. It's being asked to hit a target on a pool of traffic where a slice was never going to convert, and its only lever is bid size across the whole pool. Read the queries before you blame the algorithm. Google Ads Clicks but No Sales? Read the Queries First walks through that check.

How to clean the input without upsetting the learning

Block junk in steady, small batches, judge each term on intent rather than on cost alone, and fix conversion tracking where junk is converting. Done that way, cleaning terms tightens Smart Bidding's data without throwing the strategy into chaos.

Judge intent, not just spend

The goal isn't "block everything that didn't convert". A query like "emergency plumber cost" might have two clicks and no conversions yet. That's not enough evidence, and the intent is plainly a buyer's. Blocking it removes a good signal the model needs. A query like "plumber salary" is junk after one click, because the intent is clear. Our method for making that call is in Add Negative Keywords From Search Terms Without Guessing.

Watch the modifier words that cut both ways. "Cheap" can mean a buyer on a budget or someone who'll never pay. Blocking "Free" and "Cheap" Searches Without Losing Buyers covers where that line sits.

Pick match types that don't overreach

Use exact or phrase negatives for most blocks. Broad negatives behave unpredictably, and an overreaching negative is a Smart Bidding problem too. If you block "repair" as a broad negative on a campaign that sells repair services, you cut off good traffic. The model's volume drops and its data gets thinner. A phrase negative like "repair manual" does the job without the collateral damage.

Add negatives in batches, not one huge purge

Big changes to a campaign can put a bid strategy back into learning, and a learning model makes noisier bids. We prefer adding negatives regularly in modest batches over cleaning a year of junk in one afternoon. Steady blocking also matches how junk arrives: a few new variations every day, not all at once.

When you do want to reverse a block, do it quickly and cleanly. How to Undo Negative Keywords in Google Ads shows how.

Fix the conversion action where junk is converting

If job seekers are filling in your form, a negative on "plumber jobs" helps. But it only covers the queries you've seen. The lasting fix is upstream. Make the form or call conversion count only real leads: a minimum call length, a lead form with a service field, or offline conversion import from your CRM so only qualified leads count as primary. Set junk-prone actions like "contact page visit" to secondary so the model doesn't bid toward them.

This matters because negatives and tracking work together. Negatives stop the model entering auctions it shouldn't. Clean conversion actions stop it learning the wrong lesson from the auctions it does enter.

Treat Performance Max separately

Performance Max takes up to 10,000 campaign-level negative keywords, and it doesn't take shared negative keyword lists. So whatever list you keep for Search has to be applied to each PMax campaign on its own. Its search terms appear in the same report source as Search and Shopping, but the view is less complete than people expect. See What the PMax Search Terms Report Actually Shows and, if your negatives don't seem to take, Performance Max Negative Keywords Not Working? Here's Why.

Standard Shopping is simpler: it takes negative keywords and shared lists the same way Search does.

Where cleaning search terms does not fix bidding

Blocking queries cleans one input. It doesn't clean all of them, and it would be dishonest to pretend otherwise.

  • Display, Video and App campaigns report no search terms. Search terms for Search, Shopping and Performance Max are reported in campaign_search_term_view. Display, Video and App report none. If your bidding issue lives in those campaigns, negative keywords won't touch it.
  • Hidden terms stay hidden. Google doesn't show every query, for privacy reasons. Spend on terms you can't see still feeds the model, and you can't block what you can't read. See Google Ads Search Terms Hidden by Privacy, and What to Do.
  • Junk that converted is a judgement call. If "plumbing apprenticeship" produced a form fill last month, it looks like a winner in the data. A tool that blocks by results alone will keep it. You need to read the query and fix the conversion action.
  • Bad clicks aren't bad queries. Bots and accidental taps on a perfectly good query are an invalid traffic problem, not a negative keyword problem. Google Ads Invalid Clicks Refund: What You Actually Get covers what Google does about those.
  • A clean query mix won't rescue a weak offer. If the right searchers land on your page and don't buy, the model will learn that too, accurately. That's a landing page or pricing problem.
  • You may see a dip before you see a gain. Removing traffic means fewer clicks. If your target was set with junk built in, the model may need time to settle on the cleaner pool. Judge the change on cost per real conversion over several weeks, not on clicks the next day.

What PPCleaner does here

PPCleaner handles the steady part: reading the search terms each night across Search, Shopping and Performance Max, judging which ones were never going to convert, and adding them as negatives. That's the small-batch, intent-based cleaning described above, done every day instead of when someone finds the time.

It never touches budgets, bids, ads or keywords, so your Smart Bidding settings stay yours. It never blocks a term that converted in the last 90 days. That's deliberate, so it can't remove a real buyer's query by mistake. It also means junk that triggered a soft conversion won't be blocked automatically. That case is yours to catch, and it's usually a sign the conversion action needs fixing. Every block can be undone in one click for 90 days.

smart biddingtarget cpatarget roassearch termsnegative keywords

Frequently asked

Doesn't Smart Bidding already lower bids on queries that don't convert?

It can, on queries it sees often enough to learn from. Most junk arrives as many small variations, like "plumber salary texas" or "plumber wages per hour", each new to the model. It bids on them because they look like your good traffic. Negatives stop that spend before the model has to learn each variation one by one.

Will adding negative keywords reset the Smart Bidding learning period?

Big changes to a campaign can put a bid strategy back into learning. Adding negatives in modest, regular batches is less disruptive than one large purge. Judge the result on cost per real conversion over several weeks, not on the first few days.

Should I lower my Target CPA after blocking junk queries?

Block first, then look again. Once junk spend is gone, your reported CPA moves toward your real cost per customer. You can then keep the old target and let the model win more good auctions, or lower it knowing the number is real. If you lower the target while junk is still in, the model cuts bids on good queries too.

What if a junk query is getting conversions?

Then your conversion action is counting the wrong people, for example job seekers filling in a contact form. Block the query, but also tighten the conversion: minimum call length, qualified-lead import from your CRM, or set weak actions to secondary. PPCleaner won't automatically block a term that converted in the last 90 days, so this case needs a human look.

Does this apply to Performance Max?

Yes. Performance Max reports search terms and accepts up to 10,000 campaign-level negative keywords. It does not accept shared negative keyword lists, so each PMax campaign needs its negatives added on its own.

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

Google Ads Smart Bidding and Bad Data From Junk Queries — PPCleaner