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.