GA4 audit

GA4 audit: find out how much revenue your analytics is missing

I audited a DTC store where GA4 captured only 59% of purchases. The other 41% were invisible - the checkout confirmation page was not tracked by native Shopify GA4 integration. We fixed it with server-side purchase events deduped by transaction_id. Now it captures 100%.

DTC store audit
59%
of purchases captured before fix - now 100%
Root cause
0
checkout page events from native tracking - all missed
Fix
3wk
server-side events with transaction_id deduplication
GA4 audit revenue gap diagram showing GA4 vs CRM mismatch
GA4 Audit: Where GA4 Loses Revenue
The case

59% capture rate: what that actually means

A DTC store came to me because their GA4 purchase numbers never matched Shopify revenue. GA4 showed 60 purchases a week. Shopify showed 100. The difference was not bots or returns - it was tracking gaps.

The root cause: their GA4 setup used Shopify's native Google channel integration. That integration fires a purchase event when the thank-you page loads. It works on desktop, standard browsers, no checkout extensions. It breaks on Shopify's hosted checkout when the user pays via Shop Pay, when they are on a mobile device with aggressive ITP, or when the thank-you URL loads in a context the gtag snippet cannot reach.

Result: 41% of real purchases never appeared in GA4. Every campaign decision - budget allocation, creative testing, audience targeting - was based on a sample of 59% of conversions. Not a representative sample either. The missed conversions were systematically skewed toward mobile and Shop Pay users.

The fix was server-side purchase events fired from the backend, deduplicated by transaction_id against any browser-side events that did fire. Three weeks from audit to 100% capture rate. No more gap between GA4 and Shopify.

What I audit

GA4 audit deliverables

01

Purchase capture completeness

Are all purchases reaching GA4? I compare GA4 purchase event counts against your ecommerce platform, payment provider, or CRM for the same date range. Any gap gets a root cause.

02

Checkout funnel mapping

Every step from add-to-cart through payment confirmation. Which steps fire events? Which are silent? Where do users appear to drop when they are actually converting?

03

DataLayer review

Is your dataLayer structured correctly? Are event parameters passing the right values? Is the purchase event carrying item-level data or just a transaction total?

04

Conversion event configuration

Are the right events marked as conversions in GA4? Are you counting page_view as a conversion somewhere? Are conversion windows set correctly for your sales cycle?

05

Attribution model and window

GA4 defaults to data-driven attribution with a 30-day click window. Does that match your actual sales cycle? I flag mismatches that inflate or deflate channel performance.

06

Consent mode and ITP impact

How much data are you losing to browser-side blocking and cookie consent rejections? Consent mode v2 with server-side fallbacks is the right architecture for most setups now.

Methodology

How I run a GA4 audit

I start with the numbers before I touch any code. GA4 purchase count vs platform revenue for the last 90 days. If the gap is under 5%, the problem is probably elsewhere. If it is over 10%, the checkout tracking is broken.

Then I go into the implementation: Google Tag Assistant, DebugView, network traffic on the checkout flow. I walk every step with a test transaction in a staging environment where possible, and a real low-value transaction where not.

I document every finding with: what is wrong, where the break is, what a correct implementation looks like, and effort to fix (hours, not story points). You get a prioritized list you can hand to a developer or have me implement.

The most common findings in order of frequency: checkout page purchase event missing, duplicate event firing (browser + server both firing without deduplication), missing item-level parameters on purchase events, incorrect conversion event marking, and attribution window mismatch.

A GA4 audit is not a one-time fix. I include a re-verification step 30 days after implementation to confirm capture rate has stabilized - because implementations break when someone pushes a site update.

Connected work

After the audit

A GA4 audit is often the entry point to a broader marketing attribution engagement. Once GA4 is accurate, you have a foundation for cross-channel attribution - reconciling GA4 data with Meta CAPI, Google Ads enhanced conversions, and your CRM.

If the audit finds server-side tracking gaps (it usually does), the next step is a server-side tracking implementation. If you want a broader picture of all your measurement gaps at once, start with a tracking audit that covers all channels simultaneously.

Not sure GA4 is the problem yet? Run the free growth leak audit first: it reads your tracking layer from the outside and shows which dimension is actually leaking.

FAQ

Frequently asked questions

What does a GA4 audit include?
A full audit covers: event firing verification (are the right events firing on the right triggers?), purchase capture completeness (are checkout page conversions captured - or just landing page completions?), dataLayer structure review, server-side event comparison, UTM parameter integrity across the funnel, GA4 property configuration (data streams, conversion events, attribution settings), and a reconciliation against your actual revenue numbers.
How long does a GA4 audit take?
A standalone audit takes 5-10 business days depending on stack complexity. A DTC store with a standard Shopify checkout takes less time than a custom SaaS checkout with multiple payment providers. I give you a timeline at kickoff once I have seen your stack.
What do you deliver at the end?
A prioritized issues list with severity ratings, fix specifications (not just 'this is broken' but exactly how to fix it), effort estimates per fix, and a baseline measurement of current capture rate so you know what improving looks like numerically.
Can you fix what you find, or only audit?
I can do both. The audit is a fixed-scope diagnostic. Implementation is a separate engagement - either I run it or I hand detailed specs to your dev team. Most clients want me to run the implementation because the fixes require judgment calls that a spec alone does not capture.
My GA4 shows 40,000 sessions but only 12 purchases. That seems low. Is something broken?
Possibly. The most common cause is checkout page misses - native GA4 tracking via Shopify or similar platforms often does not fire on the payment confirmation step. The second most common is consent mode blocking events before the user accepts cookies. A GA4 audit will tell you exactly which events are missing and why.
Next step

Find out what your GA4 is missing

Book a call. I will ask for read access to your GA4 property and your ecommerce platform, run a quick preliminary comparison, and tell you whether an audit will find material gaps.

Common gaps

What standard GA4 setup misses

01

Checkout funnel blind spots

GA4 default ecommerce events fire from the browser. Payment processor redirects and server-confirmed purchase events happen outside browser context. If the thank-you page fails to load, the conversion disappears entirely.

02

Cross-device attribution

User browses on mobile, converts on desktop. Without server-side user_id stitching, that conversion registers as direct. You lose the paid social attribution that earned it.

03

Consent mode modeling gaps

Consent Mode V2 models conversions for non-consenting users using your historical consented data. Implement it late or incorrectly and the model trains on bad signals. Conversion reporting stays broken even after the fix.

Sources: Google Analytics docs · Yaniv Goldenberg on LinkedIn