Your GA4 Setup Is Probably Broken. Here's How to Check.

We audit GA4 implementations every week. These are the problems we find in almost every single one.

I’ve lost count of how many GA4 implementations we’ve audited. The number that were correctly configured out of the box? Zero.

That’s not hyperbole. Google’s default setup leaves critical gaps, and most businesses either don’t know or assume their developer “sorted it.” Here are the five issues we find in virtually every audit.

1. Conversions aren’t configured

GA4 doesn’t import your Universal Analytics goals. Every conversion event needs to be manually created and marked. We regularly find accounts where the only conversion tracked is purchase — missing form submissions, phone clicks, downloads, and every other action that drives revenue.

The fix: Audit your conversion events in GA4 Admin → Events. If you have fewer than 5, you’re almost certainly missing something important.

2. No cross-domain tracking

If your checkout, booking system, or payment provider lives on a different domain or subdomain, every cross-domain hop creates a new session. Your attribution data is broken. Your funnel reports are wrong. Your Google Ads smart bidding is optimising against incomplete data.

The fix: GA4 Admin → Data Streams → Configure your domains. Then verify with DebugView that the client ID persists across the handover.

3. Double-counting events

Running GA4’s enhanced measurement AND custom GTM tags for the same events? You’re inflating your numbers. This is the most common misconfiguration we see — and it directly compromises A/B test results and bid optimisation.

The fix: Pick one source of truth per event. If you’re tracking page_view via GTM, disable it in enhanced measurement. Never both.

4. No server-side tracking

This isn’t a “nice to have” anymore. Ad blockers, ITP, and consent management are reducing client-side tracking coverage by 20-40% depending on your audience. If a quarter of your conversions aren’t being recorded, every downstream decision — bid strategy, CRO testing, budget allocation — is based on incomplete data.

The fix: Server-side GTM. It recovers most of the lost signal. We implement it for every client before we touch anything else.

5. Internal traffic isn’t filtered

Your team visits your site hundreds of times a month. Product managers checking copy. Developers testing features. Sales looking up pricing. Without internal traffic filters, you’re polluting your conversion data.

The fix: GA4 Admin → Data Streams → Define internal traffic. Use IP ranges for office networks and a URL parameter for remote workers.

Why it matters

Bad data isn’t just inaccurate — it’s actively harmful. It leads to wrong decisions made with confidence. We’ve seen businesses kill high-performing ad campaigns because GA4 was undercounting conversions. We’ve seen A/B tests called as losers when the winner was hidden behind a tracking gap.

Fix the data first. Everything else comes after.