Google Ads Account Audit Checklist for Agencies: A 107-Point Framework
A practitioner-built Google Ads audit checklist for agencies managing multiple client accounts. Covers campaign structure, conversion tracking, bidding, audience, and cross-platform integrity — with the issues that actually cost clients money.
I've been auditing Google marketing stacks since before Smart Bidding existed. Before Performance Max. Before Google renamed conversion tracking three times.
In that time — 14 years, hundreds of accounts, a stretch as an Adobe Solutions Consultant where I was embedded inside agencies for months at a time — I've learned that bad Google Ads performance almost never comes from where the client thinks it does.
They think it's the bids. It's usually the conversion tracking. They think it's the copy. It's usually the audience overlap. They think it's Google Ads at all. Half the time, it's a GA4 discrepancy that's been quietly corrupting their attribution model for eight months.
This checklist is built from those 400+ audits. It's not a Google certification study guide. It's the framework I actually use — organized the way an agency runs audits in the real world, not the way Google's documentation is organized.
Why Most Google Ads Audits Miss the Real Problems
The Single-Platform Trap
Pull up Google Ads. Run through your checklist. Write up the findings. Send the report.
Here's what you missed: the reason your client's ROAS dropped 22% last quarter wasn't in Google Ads at all. It was a GTM container change that broke the purchase event on mobile — which Google's Smart Bidding then trained on for six weeks, quietly learning from phantom conversions that were actually session timeouts.
That's not findable inside Google Ads. You need to be looking at GTM, GA4, and Ads simultaneously — and comparing the numbers across all three — to catch it.
Most audit checklists are single-platform because that's how auditors are trained. One tool, one output. The problem is that Google marketing stacks aren't built that way. They're built in layers, and the expensive issues live in the seams between layers.
Rule-Checkers vs. Reasoning
The other failure mode is checklists that apply rules without context.
"All ad groups should have at least 3 ads." Fine, but what if two of them have zero impressions because the campaign is exact match and the ad rotation is optimized? The rule is technically violated but completely irrelevant.
"Enable auto-tagging." Always — unless you're using a third-party attribution tool that breaks when GCLID parameters are present, in which case disabling it is intentional.
Good auditing requires judgment. This checklist gives you the framework and flags the places where you need to stop and think rather than just check a box.
How to Structure an Agency Audit Workflow
Before you open a single account, do these two things.
Tier Your Clients Before You Start
Not every account gets the same depth of audit. An account spending $3,000/month and a steady 3.2 ROAS doesn't need what an account spending $85,000/month with declining efficiency gets.
Tier 1 — Full audit (everything below): Accounts with spend over $15K/month, new client onboarding, accounts showing performance degradation, or accounts flagged for renewal.
Tier 2 — Targeted audit (sections 2, 3, and 7): Mid-spend accounts on retainer. Focus on conversion integrity and cross-platform checks quarterly. Full audit annually.
Tier 3 — Health check (section 2 only): Low-spend stable accounts. Conversion tracking check monthly. Nothing else unless something moves.
This tiering saves you roughly 60% of your audit time across a portfolio and concentrates your attention where it generates the most revenue — for both your client and your agency.
What to Pull Before You Open the Account
Pull these before you audit anything:
- 90-day performance trend — Ads dashboard, all campaigns, ROAS or CPA depending on the account goal. You're looking for inflection points to anchor your investigation.
- GA4 vs. Ads conversion comparison — Pull conversions from GA4 and from Google Ads for the same 90-day window. Any gap over 15% needs explaining before you do anything else.
- GTM container publish history — Last 5 publishes. Dates and descriptions. Compare against the performance trend. This is where half your inflection points will have an explanation.
- Search Console impression trend — If organic is down alongside paid performance, the issue may be on the site, not the account.
You're building a timeline before you build a checklist. That context tells you which sections of the audit below to treat as diagnostic vs. confirmatory.
The Google Ads Account Audit Checklist
1. Account Structure
Campaign and ad group organization
- Campaigns are segmented by objective (awareness vs. conversion vs. retention), not by product alone
- Ad groups contain tightly themed keyword clusters — not catch-all groups with 40+ keywords
- Match type strategy is intentional and documented (broad + Smart Bidding, or phrase/exact with manual oversight)
- Campaign budget allocation reflects revenue contribution — highest-ROI campaigns are not budget-constrained
- Shared budgets are used only where appropriate (rarely) — check for shared budgets suppressing high-performers
- No active campaigns with zero impressions in last 30 days without explanation
- Search, Shopping, Display, Video, and Performance Max are in separate campaigns — not commingled
Naming conventions
- Campaign names include: market/geo, network type, objective, and date of launch
- Ad group names reflect the keyword theme they represent
- Naming is consistent across the account (critical for filtering and reporting at scale)
Performance Max
- If PMax is running: asset groups are segmented by audience, not dumped into one group
- PMax brand vs. non-brand performance is being monitored (search term insights report)
- PMax is not cannibalizing existing Search campaigns — check for search term overlap
- Listing groups are configured correctly if Shopping inventory is included
2. Conversion Tracking
This is the single most important section. Get this wrong and everything downstream — bidding, reporting, optimization — is wrong.
Conversion action setup
- Primary conversion action is tagged and verified — not imported, not "unverified"
- Conversion window matches actual sales cycle (e-commerce: 7–14 days; B2B: 30–90 days)
- Attribution model is appropriate for the account — data-driven where there's sufficient volume, last-click where there isn't
- No duplicate conversion actions counting the same event twice (common after GA4 imports)
- "Include in conversions" is toggled correctly — micro-conversions (phone clicks, scroll depth) should be secondary, not primary
- Smart Bidding is not optimizing to a secondary conversion action accidentally
GA4 import
- If using GA4 imported conversions: GA4 key events match what Ads is counting
- No mismatch between GA4 purchase count and Ads conversion count exceeding 15%
- GA4 import is not creating doubled conversions alongside a native Ads tag
Tag implementation
- Google Ads conversion tag fires on the confirmation/thank-you page only — not on add-to-cart or other intermediate steps
- Tag fires once per conversion, not multiple times per session (check via Tag Assistant)
- Enhanced Conversions is enabled and hashed email data is being sent where available
- Auto-tagging is enabled (unless a documented reason exists to disable it)
- GCLID data is being stored in CRM if the account uses offline conversion imports
3. Bidding and Budget
Bidding strategy
- Smart Bidding strategies have sufficient conversion volume to function (minimum 30–50 conversions/month per campaign recommended)
- Target CPA or Target ROAS is set based on actual historical performance, not an aspirational number
- Campaigns are not stuck in the "learning" phase — more than 7 days in learning indicates a constraint (budget, conversion volume, or target)
- Manual CPC is not being used on high-volume campaigns where Smart Bidding would outperform it
- Bid adjustments (device, location, audience, ad schedule) are not fighting Smart Bidding — if using tCPA/tROAS, most bid adjustments are ignored and should be removed
Budget
- Top-performing campaigns are not budget-limited (daily budget hit more than 10 days/month = leaving revenue on the table)
- Budget distribution across campaigns reflects contribution to business goals
- Seasonal budget adjustments are scheduled in advance where applicable
- No campaigns running with $1–2/day budgets that have never generated impressions — these are account clutter
Auction insights
- Impression share is reviewed for all active campaigns
- Lost impression share due to rank (not budget) should prompt bid or Quality Score review
- Competitor presence has not meaningfully increased in last 90 days without a corresponding strategy adjustment
4. Ad Copy and Creative
Responsive Search Ads
- Every active ad group has at least one RSA with "Good" or "Excellent" ad strength
- RSAs include at least one headline pinned to position 1 (the brand or primary value proposition)
- Assets include keywords in at least 2–3 headlines — not all headlines are generic
- No duplicate headlines within the same RSA
- Descriptions include a clear CTA in both description lines
Ad extensions (now "Assets")
- Sitelinks are configured and relevant — not pointing to the homepage from a branded campaign
- Callout assets are specific and differentiated ("Free 2-day shipping," not "Great Service")
- Structured snippets are configured where relevant
- Call assets are enabled for campaigns where phone leads are a conversion goal
- Image assets are uploaded for Search campaigns
Performance Max creative
- All asset types are uploaded: headlines, long headlines, descriptions, images, logos, videos
- Videos are not auto-generated — Google's auto-generated videos are consistently lower quality than uploaded assets
- Images meet the minimum quality standard — no stock photos with watermarks or low resolution
5. Audience and Targeting
Audience segments
- Remarketing audiences are created and applied to relevant campaigns
- Customer match lists are uploaded and refreshed (check list membership counts — old lists shrink)
- In-market and affinity audiences are applied in "Observation" mode on Search campaigns (not "Targeting," which restricts reach)
- Audience bid adjustments are data-informed — not set and forgotten at campaign launch
Geographic targeting
- Location targeting is set to "Presence" not "Presence or interest" where local intent is required
- Location exclusions are configured — adjacent markets the client doesn't serve should be excluded
- Performance by location is reviewed — underperforming geos may need exclusion or bid reduction
Device targeting
- Mobile vs. desktop performance is reviewed — if mobile CPA is 3× desktop, a negative bid adjustment is warranted
- If a significant portion of conversions happen on desktop but traffic is predominantly mobile, this needs discussion (often a site UX issue, not an Ads issue)
6. Search Terms and Negative Keywords
Search term analysis
- Last 90 days of search term data reviewed for irrelevant queries
- Branded terms are isolated — competitors bidding on your client's brand should be identified
- High-spend, zero-conversion terms are identified and either excluded or investigated
- New keyword opportunities identified from search terms converting outside current keyword set
Negative keyword lists
- A shared negative keyword list is applied at the account level (job seekers, students, generic research terms)
- Campaign-level negatives are configured to prevent cross-campaign cannibalization
- Negatives are not accidentally blocking converting queries
Match type hygiene
- Exact match keywords are actually exact match — confirm no unintended broad match variants are appearing
- If the account was set up before 2021, old BMM keywords may have defaulted to phrase match without review
7. Cross-Platform Integrity
This is the section that separates a real audit from a checkbox exercise.
GA4 ↔ Google Ads
- Ads account is linked to the correct GA4 property (not a legacy UA property)
- Session counts in GA4 from google/cpc match Ads click counts (within ~5%)
- Conversion counts match between GA4 and Ads (within 15%) — significant gaps indicate tagging issues
- Auto-tagging is enabled and GCLID data is appearing in GA4 session_source reports
GTM ↔ Google Ads
- Google Ads conversion tag is firing via GTM — confirm the trigger configuration
- No duplicate tags — both a GTM-fired conversion tag and a hardcoded page tag firing simultaneously
- GTM container publish history has no recent publishes that correlate with performance drops
- Conversion Linker tag is present and firing on all pages
Search Console ↔ Google Ads
- Organic impression trend for branded terms — if Ads is bidding on brand and organic is healthy, verify incremental contribution
- Non-brand organic clicks vs. paid clicks ratio — if organic covers 80%+ of non-brand traffic, paid non-brand budget may need reallocation
- GSC is linked to the Ads account for search term data enrichment
Merchant Center (e-commerce accounts)
- Merchant Center account health — no active product disapprovals
- Shopping feed freshness — products are updating at least daily
- Product coverage in PMax vs. Standard Shopping — are all eligible products represented?
These cross-platform checks are where manual auditing breaks down. StackXray runs all of these checks simultaneously and flags every mismatch automatically — across all six Google platforms at once.
The Checks Most Agencies Skip
After 400+ audits, these are the ones I find in almost every account that hasn't had a thorough review in the last 12 months:
Auto-applied recommendations. Google's auto-apply feature — if enabled — can silently add keywords, change match types, and modify bids without any notification. Check under Recommendations → Auto-apply settings. I find this turned on in roughly 40% of accounts I inherit.
Audience exclusions in Performance Max. PMax has no negative audience targeting UI — you can only exclude audiences via customer match lists uploaded as exclusions. If your client's existing customers shouldn't see acquisition campaigns, this requires deliberate setup. Most accounts don't have it.
Value rules. If conversion value varies by customer type, geography, or device — and the account is using value-based Smart Bidding — value rules let you apply multipliers. Barely any agencies use this.
Account-level negative keywords. Added in 2023. If the account was set up before that, there's likely no account-level negative list — which means every campaign is individually blocking (or not blocking) the same generic terms.
Conversion delay reporting. Before calling a recent campaign "not working," check how long conversions historically take to register. A campaign running for 10 days may look like zero conversions — but if the average conversion delay is 12 days, it's too early to judge. This saves more accounts than almost anything else on this list.
How to Deliver the Audit Findings to Clients
A great audit delivered poorly gets ignored. Here's what works for agencies:
Lead with business impact, not platform issues. The client doesn't care that their conversion window is misconfigured. They care that it means their Smart Bidding has been optimizing to inflated numbers for 90 days and their real CPA is probably 30% higher than what Ads reports. Start every finding with the business consequence, then explain the technical cause.
Tier your findings. Critical (fix this week), Recommended (fix this month), and Informational (FYI, no urgency). Clients who get a 47-item list of equal-weight findings fix zero of them.
Show the comparison. For every major finding, show what the data looks like now and what it will look like after the fix. Even a rough estimate ("this will reduce wasted spend by approximately $X/month") is more actionable than a technical description.
Deliver it as a PDF, not a slide deck. PDFs get shared, filed, and referenced later. Your report lives longer than your meeting.
Automating the Audit Across Multiple Accounts
Running this checklist manually takes 3–5 hours per account. If you're managing 10 clients, that's a significant recurring time cost — and the temptation to shortcut it is real.
The solution isn't to do fewer checks. It's to automate the data collection and flag generation so you're spending your time on judgment and recommendations rather than pulling reports from four different platforms.
What you can script: Performance threshold checks, impression share monitoring, negative keyword conflicts, budget utilization. Google Ads scripts can run nightly across all accounts in your MCC.
What you can't easily script: Cross-platform integrity checks. Comparing Ads conversion counts against GA4 key events against GTM tag firing history requires pulling data from three different APIs, normalizing it, and running comparison logic.
If you're auditing more than 3–4 client accounts per month, automating the data collection layer frees you to focus on the analysis and client communication — which is where your expertise actually creates value, and which can't be automated.
Run your first Google marketing stack audit free.
StackXray audits GA4, GTM, Google Ads, Search Console, Core Web Vitals, and Merchant Center in one pass — with Claude AI cross-referencing findings across all six platforms simultaneously.
Audit your first client account free14+ years in enterprise martech across Adobe AEP, GA4, GTM, and Google Ads. Former Solutions Consultant at Adobe, embedded with digital agencies across the enterprise stack. Founder of StackXray.