A Google Ads audit is not a report full of screenshots. It is a triage process that finds broken tracking, budget leaks, weak query control, fragile landing paths, and automation settings that nobody owns before the account receives more spend.
What this SMB Google Ads audit is designed to catch
This checklist is built for inherited SMB accounts where the question is practical: what is broken, what is risky, and what should be fixed first? It does not promise a CPA, ROAS, or conversion lift. It gives the account owner a prioritized repair list.
Use it when you are taking over an account, reviewing agency work, preparing a budget increase, or trying to understand why reported performance no longer matches business reality.
What you will learn
- How to separate tracking problems from campaign-structure problems.
- Where to look for budget leaks before changing bids.
- How to review Search, Performance Max, AI Max, audiences, scripts, API jobs, and reporting without turning the audit into a rebuild.
- How to turn findings into an owner, priority, and next action.
What to collect before you start the audit
Collect recent change history, conversion action definitions, landing page URLs, feed or asset ownership, reporting dashboards, Google Tag Manager access, analytics access, and any active script or API documentation. If nobody owns a setting, that is already an audit finding.
Tracking and conversion action checks
Primary vs secondary conversions
Start with conversion action intent. A lead, purchase, phone call, imported offline conversion, and pageview-style micro action should not all carry the same decision weight.
Duplicate or stale conversion actions
Look for actions that still record but no longer represent a real business event. Duplicate actions can make automation optimize toward noisy signals.
Missing offline or imported conversion review
If sales happen after the form or call, imported conversion hygiene matters. The audit should check whether imported events are mapped, named, and reconciled with the CRM or sales process.
Account structure and naming checks
Structure should make intent, owner, geography, and budget control visible. Naming is not cosmetic when multiple people make changes in the same account.
Budget, pacing, and spend-control checks
Budget review starts with intent. Brand, non-brand, remarketing, Performance Max, and experimental campaigns should not be judged with the same spend logic.
Search terms, negatives, and match-type checks
Search term review is where many inherited accounts reveal whether the account is buying intent or just buying traffic. Negative keyword conflicts, broad match expansion, and query drift should be reviewed before bid changes.
Landing page and final URL checks
Every meaningful campaign path should resolve cleanly, preserve tracking parameters, match the query intent, and avoid redirect surprises. A landing page problem can look like a bidding problem until you test the URL path.
Performance Max and feed or asset checks
Google describes Performance Max as a goal-based campaign type that can access Google Ads inventory from a single campaign. In an audit, that means you need to review feed quality, asset coverage, audience signals, landing paths, and conversion goals together rather than judging the campaign from one metric.
AI Max and tracking-template checks
AI Max and final URL expansion need landing-page QA. Google warns that incompatible tracking templates can create broken expanded landing pages with a 404 error, so the audit should include template and URL expansion checks before scaling.
Audience, location, language, device, and schedule checks
Settings that look minor can change who receives the spend. Review them as controls, not decoration.
Bidding strategy and automation checks
Automation should have clean goals, stable inputs, and a known owner. The audit should separate learning-state review from panic edits.
Scripts, API, alerts, and reporting checks
Google describes the Google Ads API as the programmatic interface for managing large or complex Google Ads accounts and campaigns. If scripts, API jobs, or dashboards influence decisions, the audit must check whether they still run, still read the right entities, and still alert the right person.
SMB Google Ads audit checklist table
| Area | Check | Where to look | Bad signal | Priority | Fix owner |
|---|---|---|---|---|---|
| Tracking and conversion actions | Confirm primary conversion actions match real business outcomes | Goals > Conversions | Micro actions marked primary | Critical | PPC lead with analytics owner |
| Tracking and conversion actions | Separate secondary conversions from bidding signals | Goals > Conversions | Secondary actions used as main optimization signals | Critical | PPC lead |
| Tracking and conversion actions | Check for duplicate conversion actions | Conversion action list and tag setup | Same event counted through multiple paths | Critical | Analytics owner |
| Tracking and conversion actions | Review stale or unused conversion actions | Conversion action status and history | Old actions still included in reporting | High | PPC lead |
| Tracking and conversion actions | Validate imported or offline conversion mapping | Uploads, CRM handoff, diagnostics | Imported actions missing or mismatched | High | CRM and PPC owner |
| Tracking and conversion actions | Confirm value settings are intentional | Conversion action settings | Default or inconsistent values drive bidding | High | PPC lead |
| Tracking and conversion actions | Test form, call, and purchase paths | Landing page, Tag Assistant, diagnostics | Event fires late, twice, or not at all | Critical | Analytics owner |
| Tracking and conversion actions | Document consent and tag dependencies | Tag Manager, Consent Mode notes | Consent state or tag ownership unclear | High | Analytics owner |
| Account structure and naming | Map campaigns to business intent | Campaign list | Mixed intent in one budget pool | High | PPC lead |
| Account structure and naming | Check naming convention consistency | Campaign, ad group, asset names | Names hide market, offer, or owner | Medium | PPC lead |
| Account structure and naming | Review brand and non-brand separation | Campaign structure | Brand spend masks acquisition issues | High | PPC lead |
| Account structure and naming | Confirm geo or language splits are intentional | Campaign settings | Markets combined without reporting reason | Medium | PPC lead |
| Account structure and naming | Identify orphaned tests and legacy campaigns | Change history and labels | Old tests still spend or report as active | Medium | PPC lead |
| Budget and spend control | Match budgets to campaign intent | Budget column and shared budgets | Budget follows history, not priority | High | Account owner |
| Budget and spend control | Review shared budget logic | Shared budget settings | Unrelated campaigns compete for budget | High | PPC lead |
| Budget and spend control | Check pacing against business calendar | Spend reports and budget notes | Spend accelerates without owner review | High | Account owner |
| Budget and spend control | Separate experiments from core spend | Experiments, labels, campaign names | Tests consume core budget invisibly | Medium | PPC lead |
| Budget and spend control | Confirm budget changes have reasons | Change history | Repeated edits without notes | Medium | PPC lead |
| Search terms, negatives, and match types | Review search term intent | Search terms report | Queries do not match offer intent | Critical | PPC lead |
| Search terms, negatives, and match types | Check negative keyword conflicts | Negative keyword lists | Good queries blocked by old negatives | High | PPC lead |
| Search terms, negatives, and match types | Audit broad match expansion | Keyword report and search terms | Broad match dominates without query QA | High | PPC lead |
| Search terms, negatives, and match types | Group queries by funnel intent | Search terms and landing pages | Research and purchase intent share ads | High | PPC lead |
| Search terms, negatives, and match types | Review match type mix by campaign | Keyword report | Match types do not reflect control needs | Medium | PPC lead |
| Search terms, negatives, and match types | Check branded query protection | Search terms and campaign names | Competitor or generic spend hidden in brand | High | PPC lead |
| Search terms, negatives, and match types | Document negative list ownership | Shared library | Nobody owns global exclusions | Medium | PPC lead |
| Landing pages and final URLs | Test final URLs for active campaigns | Ads, assets, URL report | Broken page, redirect loop, or mismatch | Critical | Web owner |
| Landing pages and final URLs | Confirm tracking parameters persist | Landing page test and analytics | Parameters drop after redirect | High | Analytics owner |
| Landing pages and final URLs | Match landing page to query intent | Search terms and page content | Ad promise does not match page | High | PPC and web owner |
| Landing pages and final URLs | Review mobile landing experience | Preview and page testing | Mobile path is slower or incomplete | Medium | Web owner |
| Landing pages and final URLs | Check policy-sensitive claims and forms | Landing page and ad review notes | Form or claim creates review risk | Medium | Web owner |
| Performance Max, feed, and assets | Review conversion goal alignment | PMax campaign settings | PMax optimizes to wrong goal | Critical | PPC lead |
| Performance Max, feed, and assets | Check feed or asset coverage | Asset groups and feed diagnostics | Thin assets or missing feed fields | High | PPC and feed owner |
| Performance Max, feed, and assets | Review final URL expansion setting | PMax settings and landing pages | Expansion sends traffic to weak paths | High | PPC lead |
| Performance Max, feed, and assets | Check audience signals and exclusions | Asset group signals | Signals are generic or stale | Medium | PPC lead |
| Performance Max, feed, and assets | Compare PMax with other campaign roles | Campaign structure | PMax hides problems in Search or Shopping | Medium | PPC lead |
| AI Max, tracking templates, and automation | Review AI Max final URL expansion | AI Max settings | Expanded URLs are not QA'd | High | PPC lead |
| AI Max, tracking templates, and automation | Test tracking template compatibility | Tracking templates and landing pages | Expanded landing page returns 404 | Critical | PPC and web owner |
| AI Max, tracking templates, and automation | Confirm automation has a named owner | Campaign notes and change history | Settings change without accountability | High | Account owner |
| AI Max, tracking templates, and automation | Document what automation must not change | Account notes and labels | Guardrails are tribal knowledge | Medium | PPC lead |
| Audience, location, language, device, and schedule | Check location targeting mode | Campaign location settings | Presence and interest setting is wrong | High | PPC lead |
| Audience, location, language, device, and schedule | Review language settings | Campaign settings | Language setting does not match market | Medium | PPC lead |
| Audience, location, language, device, and schedule | Review device performance and constraints | Device segment reports | Device mix hides landing page issues | Medium | PPC lead |
| Audience, location, language, device, and schedule | Check schedule against sales coverage | Ad schedule and lead handling | Ads run when nobody can respond | Medium | Account owner |
| Scripts, API, alerts, and reporting | Confirm scripts still run successfully | Google Ads Scripts history | Script failures are ignored | High | Automation owner |
| Scripts, API, alerts, and reporting | Review API or dashboard dependencies | API jobs, Looker Studio, exports | Reports rely on stale fields | High | Reporting owner |
| Scripts, API, alerts, and reporting | Check alert routing | Email alerts and script notes | Alerts go to ex-users or nobody | High | Account owner |
| Scripts, API, alerts, and reporting | Reconcile dashboards with Google Ads totals | Reporting dashboard and account UI | Dashboard numbers do not match source | Critical | Reporting owner |
Want me to run this checklist on your account? Book a Google Ads audit and I will return a prioritized fix list instead of a generic report.
Prioritization: what to fix first
| Issue type | Business impact | Effort | Risk if ignored | Fix order |
|---|---|---|---|---|
| Broken or duplicate conversion tracking | Decisions and bidding rely on wrong signals | Medium | More budget reinforces bad data | Fix before budget changes |
| Wrong primary conversion action | Automation optimizes toward the wrong event | Low to medium | Reported success can hide weak demand | Fix before bid changes |
| Search term mismatch | Spend goes to poor-fit demand | Medium | Query drift keeps compounding | Fix before expanding match types |
| Broken final URL or tracking template | Traffic reaches the wrong page or fails | Medium | Good traffic is wasted before evaluation | Fix before scaling |
| PMax or AI Max goal mismatch | Automation receives weak instructions | Medium | Learning compounds around the wrong outcome | Fix before adding assets or budget |
| Reporting or script failure | Team acts on stale evidence | Low to medium | Problems remain invisible | Fix before recurring reviews |
Common mistakes that make audits useless
- Starting with bid changes before validating conversion actions.
- Treating Performance Max as a black box instead of checking goals, assets, feeds, and landing paths.
- Reviewing search terms without checking negative conflicts.
- Ignoring scripts, API jobs, and dashboards because they sit outside the campaign screen.
- Delivering findings without a fix owner and a review date.
Final recommendation
Run the audit like triage: tracking first, then budget and query control, then landing paths, automation, and reporting dependencies. If a finding cannot be tied to evidence, an owner, and a next action, it is not ready for the fix list.
For a deeper systems angle, pair this audit with the Google Ads Scripts pillar, the Google Ads data export script, and the Consent Mode measurement checklist.
Want a second pair of eyes on the account? Book a Google Ads audit and I will turn the findings into a prioritized repair plan your team can actually execute.
FAQ
How often should an SMB Google Ads account be audited?
Audit before a major budget increase, after an ownership change, after tracking changes, and whenever reported performance no longer matches pipeline or sales reality.
Should I audit tracking before campaign structure?
Yes. If conversion actions are wrong, every structure, budget, and bidding decision can look more confident than it really is.
Do Performance Max campaigns need a different audit?
They need additional checks for goals, asset groups, feed quality, audience signals, final URL expansion, and how the campaign fits the rest of the account.
Should AI Max be enabled before the audit is clean?
No. Review tracking templates, landing paths, conversion goals, and ownership first so expansion does not amplify an existing setup problem.
Can scripts replace a manual Google Ads audit?
Scripts can monitor and flag issues, but they do not replace human judgment about business intent, lead quality, landing page fit, or fix priority.
What should I fix first after the audit?
Fix measurement and tracking problems first, then budget leaks, query mismatch, landing path issues, and automation settings that depend on those inputs.
Do I need a full rebuild or only a cleanup?
Most accounts should not be rebuilt by default. Decide after you know whether the problem is tracking, structure, query control, landing pages, automation, or reporting ownership.
Source notes
- Google Ads API introduction
- Google Ads API reporting overview
- Google Ads Scripts product overview
- Google Ads Scripts examples
- Google Ads API Performance Max
- How AI Max for Search campaigns works
- About Performance Max campaigns