22 Months of Google Ads Search Terms Sorted Into a 3-Tier Negative Keyword Structure in Minutes
Every search term the account had bought since January 2024, bucketed, title-matched against the product catalog, and turned into a buildable negative keyword structure. Plus four honest caveats the brief assumed away.
What was getting in the way.
Negative keyword cleanup on a mature Shopping and Performance Max account is the chore everyone defers. Doing it properly means reading every search term the account has paid for, deciding which are generic noise, which belong to brand terms, and which map to real products, then expressing all of that as negative keyword lists the account can actually use. Over 22 months that is hundreds of thousands of rows. Done by hand it takes days, so it gets done shallowly or not at all, and the account keeps paying for queries it should have excluded long ago.
Context
An e-commerce retailer with a mature Google Ads account spanning Shopping and Performance Max, a catalog of about 2,400 products, and 22 months of search term history across two distinct eras of the business.
How the work runs.
- 01
Pull the full history through the Google Ads API.
Every search term row for Shopping and Performance Max campaigns since January 2024: 311,000 API rows.
- 02
Aggregate and rank on what the account can trust.
The rows collapse to 177,000 unique search terms, ranked on conversions only, because conversion value is not trusted in this account and the tiering must not lean on it.
- 03
Title-match terms against the product catalog.
Each term is matched against a 2,398-product title file, so "this query maps to something we actually sell" is measured, not guessed.
- 04
Build the three-tier structure.
Terms are bucketed into generic, brand, and item tiers and compiled into 813 buildable negative keyword patterns, delivered with three CSVs ready for review and import.
- 05
Report the four things the brief assumed away.
The 22-month window is really two disjoint account eras separated by a 20-month shutdown, with the earlier era selling on a different website. Performance Max is 70% of in-window spend and its search terms are not exposed through the Google Ads API at all. The search term view covers only about 50% of Shopping spend. And only 160 terms clear 25 clicks, so term-level performance tiering is not statistically supportable; the honest grain is the tier, not the term.
Evidence from the workflow.

Each system has a role.
intake (311k Shopping and Performance Max search term rows since January 2024)
Google Ads API
record of truth (2,398 titles for term-to-product matching)
Product catalog title file
action (aggregation, conversion ranking, title matching, tiering)
Classification pipeline
the deliverable (813 buildable patterns across three tiers)
Negative keyword patterns + CSVs
Why this is Coworker.
Takes assignments and reports back. You hand it work, it prepares and returns a result.
- 01
Read-only against the Google Ads API; the account itself is never modified. Conversion value is excluded from ranking because the account's value data is untrusted, and that exclusion is stated in the deliverable. Every pattern traces back to the terms that produced it, so any bucket can be audited before import.
Impact / Outcomes
A multi-day manual classification pass became minutes of agent work: 311k rows in, 177k unique terms aggregated, 813 buildable negative keyword patterns out, with CSVs ready for human review before anything touches the account.
Four structural limits were surfaced instead of hidden: disjoint account eras, Performance Max terms invisible to the API, the search term view covering only about half of Shopping spend, and click volume too thin for term-level tiering. The deliverable says what it cannot claim.
A bonus finding reframed the cleanup: how closely a search term matches a product title was a weak predictor of efficiency in this account, while product category was strong. Two core categories carried 46% of spend at 1.7 times the account's cost per acquisition while scoring the highest title match. Matching what you sell is not the same as selling it efficiently.
Nothing was changed in the account: the structure ships as reviewable patterns and CSVs, and a human decides what gets built.
Find where a workflow like this fits.
Start with the systems, work, constraints, and authority already present in your operation.