Every engagement I start begins the same way: I refuse to believe the data until it earns it. Here’s the exact checklist I run on every GA4 property before I’ll make a single recommendation from it.
- Timezone & currency match the business. (You’d be amazed.)
- Internal traffic filtered — and the filter is actually active, not “testing” forever.
- Session timeout & engaged-session settings are defaults unless someone had a reason. If they’re changed, find out why.
- Key events are real conversions — not page_view marked as a key event to make a report look healthy.
- Purchase/lead events match the source of truth — compare GA4 purchases to the platform’s orders over 30 days. More than ~5% drift means something’s broken (usually consent, sometimes double-firing).
- No duplicate tags — one GA4 config per page, one purchase event per purchase. DebugView will tell you in five minutes.
- Cross-domain tracking configured if checkout or booking lives on another domain.
- UTM hygiene — one convention, enforced.
Facebook,facebook, andfbare three different planets to GA4. - Consent Mode status — is it implemented, is it v2, and are you modeling or losing declined users entirely?
- Data retention bumped from the stingy default (2 months!) to 14.
- Unwanted referrals — payment processors stealing attribution credit.
- BigQuery link on — even if you don’t use it yet. It’s free retroactive insurance you can’t buy later.
Score under 9/12? Your dashboards are creative writing. Fix the foundation first — then we can talk optimization.