Most teams think they have a traffic problem. In reality, they have a measurement reliability problem.
If your paid media, GA4, and CRM numbers do not match, use this checklist in order.
1) Confirm your tracking foundations
- GA4 property is receiving events from all core pages
- GTM container is loaded once, not duplicated
- Key conversion events fire exactly once
- Consent behavior is consistent (not random by browser/page)
If this layer is broken, everything else downstream is noise.
2) Standardize campaign tagging
- UTM convention documented and shared
utm_source,utm_medium,utm_campaignare always present for paid and owned channels- Naming is lowercase and consistent
- Redirects do not strip query parameters
This usually reduces inflation in Direct and Unassigned.
3) Validate cross-domain journeys
Check whether attribution resets when users move across:
- main site -> booking tool
- main site -> app/product domain
- main site -> payment or checkout domain
If sessions break, channels get wrong credit.
4) Align events to buying intent
Not every interaction deserves conversion status.
Define a clear hierarchy:
- Lead signal
- Qualified lead signal
- Sales-accepted signal
- Pipeline
- Revenue
GA4 should track early intent accurately. CRM should close the loop for pipeline and revenue.
5) Capture attribution inside CRM
At conversion time, store:
- original landing page
- referrer
- UTM fields
- click identifiers when available
Without this, closed-won attribution cannot be audited properly.
6) Run a closed-won reality check
Pick 5-10 recent closed deals and reconcile:
- CRM source data
- campaign history
- GA4 channel history (directionally)
If you cannot reconcile a small sample, do not trust optimization decisions yet.
Need a hands-on diagnosis with priorities and implementation steps? Start with the B2B marketing audit offer.