Back to Blog
analytics· 8 min read

GA4 Setup Guide — What Most Agencies Get Wrong

The five GA4 misconfigurations we see on nearly every site we audit, and how to fix them in an afternoon.

Why this matters

We audit a lot of sites. Roughly 9 in 10 have at least one GA4 misconfiguration that's silently breaking their reporting. Here are the five we see most often.

1. Filtering internal traffic by IP only

Your team works from coffee shops, home wifi, mobile data. IP filters miss 60–70% of internal traffic on a hybrid team. Use a cookie-based filter instead — set a cookie via a bookmarklet, filter on the cookie value.

2. Cross-domain tracking that isn't actually cross-domain

If your checkout is on a separate subdomain or third-party host (Stripe, Shopify, etc.), GA4's auto-detection often misses it. Verify with the DebugView that client_id persists across the boundary.

3. Conversion events that fire on every page

We've seen a "purchase" event fire on the order confirmation and on every refresh of that page. GA4 doesn't dedupe by default — you'll inflate revenue and ROAS for weeks before noticing.

4. Default channel grouping for paid traffic

GA4's default groupings collapse Google CPC, Display, and YouTube into "Paid". You want them split. Build a custom channel group or you'll never know which lever is working.

5. No server-side fallback for iOS

iOS 14.5+ and Safari ITP eat ~20–30% of your client-side events on mobile. A simple Cloudflare Worker proxying the Measurement Protocol recovers most of it.

The fix

None of these take more than an afternoon to fix once you see them. The catch is that none of them throw errors — your dashboards keep showing numbers, they're just the wrong numbers.

If you want a free GA4 audit, get in touch.

Need help with this in your business?

Every engagement starts with a free audit.