GA4 and HubSpot numbers don't match: why, and how to reconcile
GA4 says one thing about traffic and leads, HubSpot says another, and neither is wrong. They are built to answer different questions, so the real skill is knowing which tool owns which number.
They count different things
GA4 is an anonymous, session-and-event analytics tool. HubSpot is a contact-centric CRM that ties activity to known people over their whole lifecycle. GA4 counts a visit; HubSpot counts a contact and every touch they ever make. A single person browsing twice is two sessions in GA4 and one contact in HubSpot, so the totals cannot line up.
Where the gaps come from
- Attribution models differ: GA4 and HubSpot assign source credit on different rules, so "where leads came from" disagrees.
- Consent and blocking: GA4 loses unconsented and ad-blocked visits HubSpot forms may still capture, and vice versa.
- Timing: GA4 counts the session now; HubSpot may attribute the contact to an earlier first-touch.
- Form embeds in iframes that GA4 cannot always see firing.
How to reconcile them
Trust HubSpot for contacts, leads and pipeline, it is the system of record for people. Trust GA4 for traffic, behaviour and channel performance. To join them, pass a consistent source into HubSpot (the GA4 client ID or UTMs on the form) and feed closed deals back to your ads via offline conversion imports. Stop trying to make the headline totals equal; align the definitions instead. This is the same lesson as when three tools report different revenue.
Want us to check your tracking in 10 seconds?
Pop in your domain and we will show you what is firing, what is not, and where data is leaking. Free, no signup.
Check my tracking freeGet a plain-English audit
We check your live GA4, Google Tag Manager and consent setup by hand and tell you exactly what is wrong. The audit comes off any build.
See how it works & pricingDatahound are analytics and ad-tracking specialists. We fix broken GA4, Google Tag Manager and server-side tracking so every sale, form and call gets counted. Back to datahound.agency · All tracking guides · Offline conversion imports