Skip to main content

Audit Your Ad Account Like a Codebase

Access, change log, tests, source of truth. A developer’s checklist for judging a PPC agency before renewal

Updated 4 min readMarkdown
Part of seriesRevenue-Ready Web
Audit Your Ad Account Like a Codebase

On 5 August, @Google changed what some Search campaigns do. The deploy notice was an email.

Your ad account is production code you don’t have commit access to. Treat the renewal like a code review.

Disclosure... I run Everther Studio, an agency, so weigh this accordingly. Here’s the checklist I’d run on any agency, us included, mapped to things you already know.

Permissions... who has admin?

An agency usually works through a manager account linked to yours. A manager account can unlink from a client at any time, provided the client account has at least one user with access or is linked to a manager with administrative ownership. The client account keeps its campaign history.

Check 3 things before renewing. Who holds admin on your account, and is at least one admin an address you control? If you’re on monthly invoicing and the manager being unlinked is the paying manager, the account stops serving after the unlink. And lists that rely on a shared remarketing tag stop populating after an unlink, so find out whether you depend on the agency’s. Some agencies bill through their own account. Fine. Just know the blast radius of leaving.

The git log... Change history

Change history, under Campaigns, lists what changed and lets you filter by tool and item. Conversion edits made through Google Analytics land there too. Pull the last 90 days. You’re looking for frequency and reasons. Ten target changes in a week with no note is the ad equivalent of force-pushing to main.

Breaking changes... the AI Max migration

On 5 August, Google emailed advertisers that Search campaigns using automatically created assets or the campaign-level broad match setting would be upgraded to AI Max from 1 September. The migration ran through 30 September, and advertisers who turned those settings off beforehand weren’t touched. Google Ads API versions released after 1 September also drop the legacy entities used to manage those two settings. If your agency runs scripts or tools against the API, that’s a real question: did anything break, and who checked?

Tests... what’s a conversion, and does it reconcile?

Primary conversion actions drive bidding and appear in the Conversions column. Secondary ones are observation only and appear under All conversions. That’s a config flag deciding what the optimiser chases. One tracking vendor warns that marking every Shopify event as primary inflates the Conversions column and confuses Smart Bidding. Ask for the full list.

Then test against your source of truth. Your orders table beats any dashboard. If you can join ad clicks to orders, you can reconcile properly. The usual approach is to capture the click ID on landing and store it with the order-

Storing identifiers like this usually needs consent under UK and EU cookie rules, so check with whoever owns your compliance before you ship it.

With that in place, compare the conversions Google reports against orders carrying a click ID for the same dates. They won’t match exactly. Platforms and stores count differently, with different attribution windows and refund handling. If the gap is wide, you want to know before the next invoice.

Profit isn’t ROAS

ROAS is revenue over spend. Break-even ROAS is one over gross margin-

At that example margin, a store whose campaigns were returning 1.87 (the figure on a Shopify store we took on) makes about 75p of gross profit per £1 of ad spend. That loses about 25p. The dashboard would still show a number that reads fine.

The fee is the scope doc

One UK agency’s 2026 guide puts management fees at £750 to £3,000 a month, with percentage-of-spend deals commonly 10 to 20 percent. Another UK agency flags that percentage deals can reward higher spend rather than efficiency. Treat both as agency marketing, not benchmarks. What matters: fee and media spend on separate lines, who does the work by name, what’s included, and exit terms covering access, history and assets.

Do this before you reply

Check who pays Google. Read the conversion actions list. Pull Change history. Reconcile a week of conversions against orders. If any of those get pushback, that’s your answer.

----

If you’ve hit this — leave a comment. Curious what your setup looks like.

About the author

  • Raj Pathak founder @ Everther Studio We develop high-converting websites on Next.js, Shopify, Framer and Kajabi, - run paid ads across Google, Meta, TikTok, and LinkedIn. 2 people No account managers Senior hands on every project I write about what actually works in paid ads, web performance, email systems and building a lean studio that competes with agencies 10x our size Real results only. No recycled theory

No comments yet. Be the first to comment.

Revenue-Ready Web

Part 1 of 4

Practical breakdowns for founders and developers on SEO, AEO, content structure, and web systems that drive real enquiries — not just traffic.

Up nextHeadless Shopify With Next.js: The Costs After LaunchShopify’s framework-agnostic Hydrogen preview supports Next.js. Here’s what you still own after launch: API versions, apps, checkout, redirects.