Open beta — completely free, no card required.
Playbooks

How to Run a GA4 Audit with AI (and What It Actually Finds)

Run a GA4 audit with AI in about four minutes: the exact prompt, a real audit output with findings, where AI beats a $3,000 consultant audit, and where it doesn't.

By Ivan Pika

An agency GA4 audit runs $2,000–$5,000 and comes back in two or three weeks. The same checklist, run by Claude over a live connection to the property, takes about four minutes. I've sold the slow version for years, so it brings me no joy to report that the fast version caught nine of the eleven items on my own audit checklist, plus two things my checklist didn't have.

The mechanics are short: connect the property to Claude or ChatGPT through an MCP connector and ask one structured prompt — overview, funnel, device and channel splits, anomalies, a tracking smell-test. The model reads live data instead of screenshots and comes back with ranked findings.

Two different jobs hide under "GA4 audit"

An implementation audit asks: is the data right? Tags, events, consent mode, referral exclusions. The plumbing. A performance audit asks: what is the data saying? Where does the money leak, which segment broke, what changed last Tuesday.

Audit SaaS like GAfix or ga4audits.com sells the first kind and blurs the line — automated config checks, the "229 checks" genre. Useful, narrow. A consultant does both, which is part of what the invoice is for.

AI over a live connection is strongest at the second job, and decent enough at smelling the first that one of the three findings below is a tracking bug. It won't crawl your GTM container. But when 9% of your revenue is attributed to (not set), it notices, because the number is sitting right there in the data it just read.

What an AI GA4 audit found on a real store

The raw output, trimmed:

Ranked by money impact:

  1. Mobile checkout completion is 31% vs 58% on desktop. Largest recoverable gap, ≈ $8,100/month.
  2. The May 18 conversion drop is a traffic-mix shift, not site breakage. One campaign to retune.
  3. 9% of purchase revenue carries source (not set). Fix before trusting any channel decision.

The store behind it: outdoor gear, audit run May 31 looking back 30 days. 31,400 sessions, 565 purchases, $48,700 revenue. A 1.80% conversion rate and $86 AOV that look perfectly healthy. Surfaces lie. That's why audits exist.

Finding one. 1,289 begin_checkout events in the window: 671 mobile, 576 desktop, the rest tablet. Checkout completes at 43.8% sitewide — 58% on desktop, 31% on mobile — and mobile carries 63% of traffic and 208 of the 565 purchases. The store doesn't have a traffic problem or a product-page problem; 28,400 product views to 2,300 add-to-carts is 8.1%, inside the healthy 8–12% band for mid-priced DTC (luxury and high-consideration stores run lower). It has a mobile checkout problem. Lifting mobile completion from 31% to a still-mediocre 45% is roughly 94 extra orders a month, about $8,100 at current AOV.

The second finding is a date. Sitewide conversion dropped from 2.1% to 1.5% on May 18 and stayed there. The reflex says the site broke. It didn't. Sessions jumped about 50% the same day — the first thing the overview check flagged. A new Meta prospecting push had gone live, mobile-heavy, converting at 0.4%. After May 18 that campaign was a third of all sessions, enough to sink the blended rate while every segment's own conversion stayed flat. That one distinction is the difference between rebuilding your checkout and pausing one campaign.

The third finding is the leash on the other two. 9% of purchase revenue carries (not set) as its source. A tracking smell, not a business finding, but it caps how much you can trust any channel-level call, including finding two. It went to the top of the fix list for exactly that reason.

Each finding has a number attached and a reason to fix it in that order. That's what "audit" should mean.

Where it beats a $3,000 audit — and where it doesn't

I've been on both sides of this invoice. My checklist, the one the $3,000 version walks:

  1. Property settings (timezone, currency, retention)
  2. Internal traffic and referral exclusions
  3. Consent-mode coverage by region ← missed
  4. Cross-domain tracking ← missed
  5. Duplicate transactions
  6. (not set) attribution share
  7. Funnel event coverage per step
  8. Conversion spread by channel
  9. Conversion spread by device
  10. Anomaly scan with date correlation
  11. Revenue reconciliation against the platform

The model caught nine of those, two of them unprompted; items 5 through 11 are what the prompt below walks. And the two things my checklist never had: finding two's mix-shift decomposition, and the habit of pricing every finding in dollars before ranking them. What it does better than me: it reads all 40 rows of the channel table, every time. A human auditor on their fortieth property skims what looks familiar. That's how blind spots survive template audits. The model has no familiarity to skim with.

It's also free to re-run. A $3,000 audit happens once a year and is stale by Q3. A four-minute audit happens Monday morning, and the deliverable stops being a PDF and becomes a habit.

And it doesn't pad. Nobody asks the model to stretch three findings into forty slides to justify a fee.

Now the losses. Items 3 and 4 are exactly the kind it misses: consent-mode coverage and a cross-domain leak between the shop and a separately-hosted checkout are implementation problems that don't announce themselves in aggregates. It can't crawl your GTM container or verify tags firing on the live site; runtime validation is a different tool's job, and the config-check SaaS above does it better. For the record, neither miss needs a $3,000 invoice either: cross-domain is a two-minute look at Admin → Data streams → Configure tag settings, and consent mode shows up in Tag Assistant. It can't see your checkout, only the numbers your checkout produces, so the why behind finding one still needs a human opening the store on a phone. And on pasted exports it gets tempted to do its own arithmetic — give it a 40-row channel CSV and it will occasionally sum revenue to $47,960 instead of $48,700. Quietly. Live connections mostly remove this; on exports, make it read totals, not recompute them.

How to run a GA4 audit with AI

Path one, no connector — the least lazy. Export four reports from GA4: Acquisition → Traffic acquisition for channels, Monetization → Ecommerce purchases for revenue, Tech → Tech details with the primary dimension switched to Device category for the device split, and Explore → Funnel exploration for the four-step funnel. Last 30 days and the prior 30, CSV each.

No funnel exploration yet? Build it once: four steps on the event names view_item, add_to_cart, begin_checkout, purchase, each step set to "is indirectly followed by" so skip-to-checkout paths still count.

Free and it works today. Fine for a one-off — except it's eight CSVs plus that one-time build, call it half an hour the first run, and you have to paste the totals rows and tell the model to compare them rather than re-add the columns.

Path two is Google's official GA4 MCP server. Free and capable, but it assumes Python, gcloud, and service-account patience. If you're deciding between that and a hosted option, the honest breakdown of who each one fits covers it.

Path three, the laziest: a hosted connector. The five-minute no-code Claude setup is read-only; on the ChatGPT side you need a paid plan with Developer Mode — the ChatGPT setup walkthrough covers it. This site runs one of them, ConvRadar, so discount accordingly: its audit ships as a single tool call — you type "run the full audit" and get the ranked-findings format you saw above. But any path that puts live GA4 data in front of the model produces those findings. The connector changes the friction, not the physics.

The GA4 audit prompt

Same wording on all three paths:

Audit this GA4 property: last 30 days vs the prior 30.
1. Overview — sessions, conversion rate, revenue, AOV. Flag anything that moved more than 15%.
2. Funnel — view_item → add_to_cart → begin_checkout → purchase. Name the weakest step against an 8–12% view-to-cart and 60–70% checkout-completion baseline (high-AOV and considered purchases run lower).
3. Conversion by device and by default channel group. Flag any segment more than 2x off the property average.
4. Anomalies — any metric that step-changed on a specific date. Correlate with traffic mix before blaming the site.
5. Tracking — (not set) share of revenue, duplicate transaction IDs, funnel events that undercount their step.
Rank findings by money impact. Put a number on every claim.

And the Monday version, once the first full pass is done:

Same audit, last 7 days vs the prior 7. Skip step 5.
Cap it at the single biggest change. Two minutes.

On the free path, two of step 5's three checks map cleanly to the exports. The undercount check reads the funnel export's per-step counts. The (not set) check needs Session source/medium as the traffic report's primary dimension — in the default channel-group view, untagged traffic hides under "Unassigned" instead. The duplicate-transaction check is the odd one out: it needs Transaction ID, which the standard purchases report won't give you. A quick free-form Exploration with Transaction ID as the dimension and purchases as the metric covers it — any ID with more than one purchase is your duplicate. Or skip that check until you're connected live. Section-by-section variants (funnel only, channels only) live in the GA4 prompt library.

What a Google Analytics (GA4) audit costs in 2026

Consultants charge $2,000–$5,000 and take weeks. Audit SaaS runs $0 to $150 a month. AI: $0–$30 a month on top of the subscription you already pay.

PathPriceTurnaroundWhat you get
Consultant / agency$2,000–$5,000 one-time2–3 weeksImplementation + performance audit, human judgment
Audit SaaS$0 (limited free checks) to $150 / month / propertyMinutesConfig checks only
AI + connector$0–$30 / month on top of your AI subscription~4 minutesPerformance audit + tracking smells, re-runnable weekly

The number that matters isn't the price of one audit. It's the price of the second one. At $3,000 each, you audit annually. At four minutes, you audit weekly, and a May 18 anomaly gets caught the week of May 18, not in the January retrospective.

What to do with the findings

Triage order matters more than effort. Tracking findings first, always, because every other number inherits their error. Then the single biggest money leak, worked properly: if the audit surfaced a conversion drop, the ten-minute drop diagnostic is the deeper workflow for that branch. Resist fixing all three findings at once. You'll ship three half-fixes and learn nothing from any of them.

Then re-run the audit next Monday. It's four minutes.

I used to charge $3,000 for finding these things. The finding is free now. The judgment still isn't.

Try it on your GA4.
Start free trial →