Before we take on a PPC account, we run our own audit — not the client’s, not the last agency’s summary of it, our own pass through the raw account. On a recent one, that audit took four hours and paid for itself roughly eleven times over before we’d signed anything.
What we actually check
Five things, in order, on every account, regardless of size:
- Negative keyword integrity. Not just whether a list exists, but whether an “apply automated recommendations” setting has silently overridden it. This is more common than it should be, and it’s invisible unless you go looking.
- Conversion action accuracy. We check what’s actually firing a “conversion” — page views disguised as leads, newsletter signups counted as purchases, duplicate firing on the same event. Bad conversion data makes every optimization decision downstream wrong, including the ones a smart bidding algorithm makes on its own.
- Internal cannibalization. Ad groups or campaigns bidding against each other for the same terms, quietly inflating CPCs against no one but themselves.
- Bidding strategy alignment. Whether the stated goal (revenue, leads, ROAS) actually matches what the bidding strategy is optimizing for. We’ve seen “maximize conversions” campaigns running against a client whose real goal was margin, which are not the same thing and never will be.
- Landing page-to-ad match. Whether the promise in the ad copy is actually kept on the page it sends people to. Quality Score suffers quietly here long before anyone notices in a monthly report.
The account in question
It was spending €18,000 a month. Item one alone accounted for roughly €6,200 of that: a negative keyword list overridden by an auto-apply setting nobody remembered enabling, which had let Google’s own keyword suggestions quietly undo six months of someone else’s negative keyword work. Item two turned up a conversion action counting email signups as purchases, inflating the account’s apparent conversion rate by close to 40% and making an underperforming campaign look, on paper, like the account’s best performer. Item three found three ad groups bidding on nearly identical broad-match terms, effectively competing against themselves for the same auction.
None of it was fraud. None of it was even obviously wrong if you only looked at the dashboard the client had been shown every month. It looked like a slightly disappointing but acceptable ROAS — the kind everyone quietly attributes to “the market being tougher this year.”
What changed in 90 days
We fixed the negative keyword override in week one and corrected the conversion tracking in week two, before touching bids or creative at all. By day 90, cost per acquisition was down 34% against the same media spend. Nothing about the ads, the audiences, or the creative had changed yet — that work came later. The first 90 days of improvement came entirely from stopping the account from actively working against itself.
Why most agencies don’t audit this way
A real audit takes hours nobody bills for upfront, and it sometimes finds nothing wrong, which makes it hard to justify as a standalone offer. So it gets skipped, or replaced with an automated report that flags surface-level issues (impression share, budget caps) without ever opening the account and checking whether the settings do what the dashboard claims they do. The real cost of a bad audit isn’t the audit. It’s every month between the last real one and the next.

