Andreus Jedd.
Case Study
Performance Marketing
Waxit Car Care · Ecommerce, Australia

Building a Search-Term Governance System Under Live Budget Pressure

How a manual, error-prone negative-keyword process for a six-campaign Performance Max account became a documented, rule-based, self-testing classification system, and what the audit work along the way turned up.

26.6K+
Search Terms Classified
42
Documented QA Review Cycles
32/32
Automated Checks Passing Pre-Ship
6
Campaigns Under Active Management
Engagement
30 June to 5 August 2026
Google Ads contractor
Scope
Performance Max account management, search-term auditing, tracking QA
Prepared By
Andreus Jedd Josue Sarte
Waxit Car Care · Case Study01 / Context & Role
The Account

A six-campaign Performance Max account for an Australian car-care brand

Waxit Car Care sells polishing machines, polishing pads and compounds, pressure washer accessories, and ceramic coating products direct-to-consumer through Shopify. Google Ads runs across six live campaigns, each scoped to a distinct part of the product catalog rather than one broad account, which is precisely what makes search-term hygiene hard to get right at scale.

01Polishing PMaxMachine polishers, polishing pads, compounds & polish
02Pressure Washer Accessories PMaxHoses, nozzles, guns, lances, adaptors, reels
03Core PMaxProspecting, non-segmented categories
04New Customer Core PMaxNew-customer acquisition, existing customers excluded
05Ceramic Coating PMaxPremium ceramic coating segment
06Search, DSADynamic Search Ads, under evaluation for AI Max

Campaigns owned and independently audited within this engagement, alongside the OnaVibe (sister brand) Friday Launch PMax campaign.

RoleGoogle Ads Contractor
Reports toBusiness Owner
Duration~5.5 weeks
CadenceWeekly full audits
PlatformsGoogle Ads, GA4/GTM
AttributionTriple Whale + Pixel
How The Engagement Was Structured

Every owned campaign was audited on a standing weekly cycle rather than reviewed only when a number looked wrong: changelog, performance, budget and bidding, product feed, audience signals, creative, search themes, and negative keywords, in that order, every time. Every recommendation required the business owner's sign-off before anything went live in the account.

"Six campaigns, one catalog, no shared negative list. The account was never going to hold together without a rule set the next person to touch it could actually follow."
Framing note, engagement kickoff
Waxit Car Care · Case Study02 / The Problem
The Problem

Negative keywords were being decided one at a time, with no record of why

Six campaigns sharing one broad product category is a hard boundary to hold by hand, and it was being held by hand: no documented rule set, no record of why a given term was let through or blocked, and no way to check later whether a call was still correct.

Each campaign is scoped to a narrow slice of the catalog: Polishing PMax should never spend on a pressure washer search, and Pressure Washer Accessories should never spend on a pump or machine, since those sit on their own campaign entirely. The boundary between "on-topic" and "in scope for this specific campaign" is easy to get wrong in either direction, and getting it wrong either way has a cost. Too loose, and budget leaks to searches that were never going to convert on that page. Too strict, and the campaign starts blocking its own best-performing, most obvious category terms.

Two findings made the scale of the gap concrete early on: a 180-day pull showed Pressure Washer Accessories PMax was running with zero active negative keywords, and a single unfiltered local-service term cluster, "car wash near me" and its variants, had quietly spent $1,014.62 with zero conversions to show for it. There was no system catching that; there was just whatever anyone happened to notice.

$1,014.62
Spent on one unfiltered search-term cluster, zero conversions, 180 days
0
Active negative keywords on Pressure Washer Accessories PMax
What Made It Hard To Fix By Hand
Waxit Car Care · Case Study03 / The Classification System
What Was Built

A rules-based negative-keyword classification framework, not a one-off cleanup

Rather than hand-triaging search terms campaign by campaign, the fix was a documented decision framework applied consistently across 26,640+ search terms spanning both major PMax campaigns over a 180-day window, built so the same call gets made the same way every time, and so every call can be checked later.

The Scope Rule

Every search term is kept by default. It only becomes a negative if it falls into one of four categories: it names an exclusive competing brand, it names a competitor Waxit doesn't stock, it shows no buying intent (research, comparison, question-format queries), or it's genuinely unrelated to that specific campaign's slice of the catalog, even if it's car-care-adjacent and would belong on a sibling campaign instead.

The Default-Flip Principle

The single biggest structural change in the framework. The original logic kept a term unless it matched a known competitor, which is unwinnable, since no competitor list is ever complete. The rebuilt logic inverts that: a term is negatived by default unless every token in it positively resolves to real Waxit-vendor vocabulary or genuinely generic category vocabulary, checked against a ground-truth product catalog rather than a keyword blocklist. Positive confirmation required, not absence of a bad signal.

01
Scope rule applied
Every term tested against the 4-category rule and the campaign's specific product menu, not just "is this car care."
02
Catalog cross-check
Ambiguous brand or product tokens resolved against an actual product catalog, not assumption.
03
Adversarial review
Verdicts stress-tested against edge cases on purpose, looking for the next false positive or false negative.
04
Regression-tested
Every prior fix locked in as an automated check so it can never silently regress in a later pass.
18,503
Polishing PMax terms swept
8,137
Pressure washer terms swept
42
Logged incidents across 12 review rounds
32/32
Automated checks, ~35 sec runtime
Waxit Car Care · Case Study04 / Precision In Practice
Precision In Practice

Two of the same mistake, made in opposite directions

A rule set is only as good as its edge cases. Two examples of how the framework's logic actually resolves a genuinely ambiguous term: one where the old approach was too aggressive, one where it wasn't aggressive enough.

Too aggressive, allow by exception
"5 inch polishing pads"
Generic, high-intent category vocabulary was being caught by a false brand-citation match to one specific SKU, negatived by mistake, even though it's arguably the campaign's core search term.
Rebuilt, confirm by catalog
"ryobi to m22 adapter"
Ryobi read as a pure competitor brand by default. Cross-checked against the catalog, it's also a real, stocked compatibility descriptor on genuine Waxit/Aquatouch adaptor listings, kept, with the distinction now encoded as a permanent rule.
Reading A Term Correctly, Not Just Quickly

Raw conversion count is a bad filter on its own; a low-volume term can still be a genuine winner. The term "rupes" looked like a marginal performer at a glance, at 4.86 conversions. Measured against the campaign's own benchmark instead, it was beating it on every axis that mattered. It stayed. The framework's standing rule since: judge a term against its own campaign's benchmark, never against raw volume alone.

CTR
1.46% vs. 1.10% avg
Conversion rate
1.85% vs. 1.70% avg
ROAS
15.18x vs. 12.17x avg
Other Edge Cases The Framework Now Encodes Permanently
Waxit Car Care · Case Study05 / Audit Discipline
How The Account Was Run

Weekly, full-account audits, the same eight questions, every time

Every owned campaign was audited on a standing structure: changelog, performance, budget & bidding, product feed, audience signals, creative, search themes, negative keywords, so nothing gets reviewed only when something looks wrong. Three findings from that cadence below.

01 · Tracking Gap
A 60% attribution gap traced to Enhanced Conversions
Polishing PMax was reporting 14.60x ROAS in the attribution platform against 6.10x natively in Google Ads on the same week, a divergence too large to be normal lag. Traced to Enhanced Conversions configuration rather than a real performance swing, and escalated to the top-priority fix once the two product pages behind it were confirmed to be recording zero GA4 key events despite Google Ads showing attributed sales.
02 · Structural Gap
A landing page 404 that had been broken for four months
The Pressure Washer Short Guns & Lances landing page was returning a 404 on Android, confirmed broken across 17 separate dated policy checks stretching back over four months, well before this engagement started. It had simply never been chased down to a fix. Flagged as the top immediate action once found: it was quietly capping an entire asset group's eligibility.
03 · Reading The Macro Number Correctly

Account-wide ROAS fell sharply in July, from a 14.25x EOFY peak in late June to 6.37x for the month that followed, the kind of drop that invites a scramble for an account-level explanation. Splitting the number apart first: new-customer acquisition held steady, new customers actually grew as a share of purchases, and the fall was concentrated almost entirely in returning-customer revenue immediately after the EOFY sale ended. Read together, that's a demand-timing event, not an account failure: the right response was to set July as the honest baseline and measure forward from there, not to make reactive changes chasing a number that was never really about execution.

Built-In Self-Correction

Two calls made early in the engagement were reversed once fresh data came in, on purpose. A bulk negative-keyword recommendation covering DeWalt, Ryobi and Ozito was walked back after a 180-day pull showed those terms actually converting at 40.74x, 14.51x and 18.82x ROAS respectively. A separate claim that pressure washer machines "weren't selling" was retracted once it was confirmed that demand was being correctly captured by a different, dedicated campaign at 17.69x ROAS. The discipline that matters here isn't never being wrong. It's checking against source data before a recommendation ships, and reversing in writing when the data disagrees.

Waxit Car Care · Case Study06 / Method & Takeaways
What This Demonstrates

Systems thinking applied to an account most people would just triage by hand

Core Skills
Google Ads Performance Max Search-term auditing at scale Rules-based classification design GA4 / GTM tracking QA Multi-source attribution reconciliation Python / pandas for QA automation Regression testing discipline Structured audit methodology Stakeholder reporting
Working Principles Applied
  • Default to deny, require positive confirmation. Never rely on a blocklist that can never be complete.
  • Every rule gets a regression test, so a fix made once can't silently break later.
  • Judge a search term against its own campaign benchmark, never against raw volume alone.
  • Verify before shipping a recommendation, and reverse it in writing when the data disagrees.
"Old logic was keep unless it matches a known competitor, unwinnable, because that list can never be complete. Rebuilt logic is: negative by default unless every part of the term positively resolves to something real."
From the classification framework's working rules

Related services: Google Ads for e-commerce and Google Ads management.

Figures in this case study are drawn directly from working audit files, the search-term classification workbook, and its accompanying regression-test suite and review ledger maintained throughout the engagement. Client and account details are shared with the understanding that this work is being presented as a professional portfolio reference.

Andreus Jedd Josue Sarte
Performance Marketing Specialist · Google Ads & Performance Max
ajeddsarte@gmail.com
+63 927 497 2612