What you'll learn in this article
- How 3,000 redundant keywords accumulate in an account without anyone doing anything wrong
- The four-pass process I used to sort them, and why I never clicked "apply all"
- The pairs I deliberately kept, and the rule that decided it
- What genuinely improved: management time, reporting clarity, diagnosis speed
- What did not improve the performance claims a cleanup can't honestly make
The account had roughly 11,000 active keywords when it landed on my desk, and about 3,000 were doing nothing another keyword in the same ad group wasn't already doing. Here's what I actually did to remove redundant keywords google ads flagged and a lot it didn't because the recommendation panel makes this look like a one-click job, and the results were real but not the ones most people expect.
My conclusion up front: cleaning 3,000 duplicates did not lift conversion rate. It made the account legible. I could diagnose a problem in ten minutes instead of an hour, and every optimization afterwards was better-informed. That second-order effect is where the value sits.
None of these keywords were mistakes. They were the sediment of four years of normal work, and accounts silt up until the silt costs more in confusion than it ever did in clicks.
What 3,000 redundant keywords looked like
I exported everything before touching anything. The 3,000 broke into four species and the species determined the treatment.
Roughly half was the same text in two or three match types inside one ad group since the 2021 expansions that overlap is near-total, which is exactly what the platform's recommendation is built for. The second group was singular and plural variants, long since covered by close variants. The match types explainer is what made me stop treating them as separate entities.
The third group was cross-ad-group duplication: the same keyword in two ad groups in one campaign. Google never flags these, because its recommendation works within an ad group and this was the group actually damaging my reporting. The fourth was near-synonyms targeting an identical query pool, which needed a human read. Only the first two are mechanical, which is why the job took two days rather than two hours.
The four-pass process I used
I did not start from the recommendation panel, but from the export I wanted the full picture before the platform showed me its filtered version.
Pass 1 Build the map
I downloaded the account in Google Ads Editor and used its duplicate finder scoped across campaigns, not within an ad group that difference is why it caught duplication the interface never mentioned. I exported the result alongside 12 months of clicks, conversions, cost and Quality Score. Anything under 100 impressions in a year got parked, since that's a question about how many keywords an account can usefully hold, not redundancy.
Pass 2 Decide the survivor, not the victim
For every cluster I asked which keyword to keep rather than which to delete. The survivor was the one with real conversion history and stronger Quality Score, in that order. Where the platform disagreed a few hundred pairs I went with mine: it optimises for simplicity, I was optimising for not discarding learned performance.
Pass 3 Pause, don't remove
Everything I intended to cut got paused first for four weeks. Paused keywords keep their history and reactivate in seconds, turning an irreversible decision into a reversible one. Two came back exact match entries where the broad survivor started pulling queries I didn't want.
Pass 4 Batch by campaign and log everything
I worked one campaign at a time over four days rather than posting 3,000 changes at once, so any wobble was traceable to a batch. Every change went into a dated log with its reason, which answered a stakeholder's question six weeks later in thirty seconds.
The redundant keywords I deliberately kept
About 400 stayed put, and the exceptions are more useful than the deletions. First, bid separation: two campaigns targeting different geographies with different budgets held the same keyword, which is structure, not redundancy. Second, keyword insertion those ad groups need the variant text present for the ad to read correctly, and the platform excludes them from its own recommendation.
Third, Quality Score. Where the keyword flagged for removal carried a materially higher Quality Score than the survivor, I inverted the suggestion Quality Score feeds directly into what you pay per click, so trading a strong one for a weak one in the name of tidiness is a bad deal. I flag this in every audit of an inherited account, because it turns a harmless cleanup into a cost increase. Fourth, a few high-spend terms I wanted visible as their own dashboard line.
What actually improved: management
Before the cleanup, one high-value query's data split across three or four rows, so no row looked significant and the query read as noise. Afterwards each query mapped to one keyword, and terms I'd ignored for months turned out to carry real volume. The account's behaviour didn't change my ability to see it did.
Bulk edits stopped being risky too: changing a bid or final URL used to mean hunting for the other two copies and hoping I'd found them all, which is how the account got inconsistent in the first place. Change history became readable as well one keyword, one history which fed straight into my weekly optimization routine, now roughly a third faster and it hasn't grown back.
What improved in performance (and what didn't)
Over the eight weeks after, conversion rate was flat within normal variance, CPA moved under 3% in a direction I can't separate from seasonality, and impression share was unchanged. If you're running the google ads remove redundant keywords job expecting a step change, it isn't coming duplicates don't bid against each other. Google enters one keyword per auction, so the second copy was never buying a second click. The "your keywords compete and waste budget" framing is, as far as I can measure, wrong.
What did move was data concentration: three keywords consolidated into one accumulates conversion history three times faster, and denser history per entity is what Smart Bidding uses as signal density. I can't isolate that effect, so I won't claim a number. The real gain was indirect three negative keyword additions I'd have missed in the old view saved meaningful spend. That's not the cleanup improving performance; it's the cleanup letting me improve it.
The practical takeaway
If you're about to remove redundant keywords google ads has flagged: export first, decide which keyword survives rather than which dies, check Quality Score before trusting any suggestion, pause instead of removing, and batch by campaign. Budget two days for an account this size the mechanical half is fast, the judgment half is not.
Set expectations where the evidence puts them: this is a legibility project, not a performance one. Google documents what its own version considers redundant in its official types of recommendations guide read that for the definition, then read this for what it misses.