GA4 vs HubSpot Conversion Numbers Never Match - Here Is Why
Every B2B SaaS marketing team faces the same meeting: GA4 shows 120 demo requests this month, HubSpot shows 89. The gap is not a bug - it is a structural difference in how each system defines and counts conversions.
GA4 vs HubSpot Conversion Numbers Never Match - Here Is Why
GA4 reported 120 demo requests. HubSpot shows 89. Your head of sales says deals show a different number again. All three are correct - they are counting different things. This is not a configuration bug. It is a structural difference between session-based analytics and CRM lead capture, and understanding it saves hours of alignment meetings.
Key takeaways
GA4 and HubSpot Reporting Different Conversion Counts Is Not a Configuration Bug
GA4 counts every browser-side form-submit event including duplicate submissions, bot traffic, and internal team test fills. HubSpot deduplicates by email and silently drops submissions blocked by ad blockers or CORS errors. The discrepancy has five structural causes, none of which are solvable by reconfiguring either tool.
The Five Structural Sources of GA4 Versus HubSpot Divergence Are Identifiable and Expected
Deduplication, internal traffic, bot and spam filtering, ad blocker interference, and form-submit versus contact-creation timing each contribute to the gap. Understanding which source contributes most to a specific team's discrepancy determines where to investigate - not whether the discrepancy is normal.
HubSpot's Contact Count Is Closer to the Correct Denominator for Cost-Per-Lead Calculations
GA4's higher number includes duplicates, bots, and internal traffic that never represent real leads. For B2B marketing attribution, the HubSpot number is the more defensible denominator for CPL calculations - and using the GA4 number systematically understates true CPL.
The Right Response Is to Understand What Each Number Is Counting Not to Reconcile Them
Use GA4's form event count for conversion rate optimisation testing. Use HubSpot's contact count for CPL and attribution calculations. These are different metrics measuring different things - treating them as the same metric is the error that generates the alignment meeting.
A Third Number From Sales Will Always Differ From Both and This Is Normal
The sales team's count of qualified demos or meetings applies qualification criteria that neither analytics tool can apply automatically. Acknowledging that all three counts reflect different stages of the same funnel eliminates the alignment meeting that consumes hours every reporting cycle.
Why the numbers are structurally different
GA4 counts conversion events triggered in the browser - every time a thank-you page loads or a form-submit event fires. It counts every session separately, including bots, re-submitters, and test fills from your own team.
HubSpot counts contact records created or updated with a specific lifecycle stage. It deduplicates by email - if the same person submits twice, HubSpot shows 1 contact. It also only counts submissions that successfully reached the HubSpot backend (not blocked by ad blockers or CORS errors).
The five sources of divergence:
- Deduplication. GA4 counts every form submit event. HubSpot deduplicates by email - one contact, regardless of submissions.
- Internal traffic. GA4 includes your team's own form tests unless you explicitly filter internal IPs. HubSpot may or may not, depending on your configuration.
- Bot and spam submissions. GA4 fires on every page load after a redirect. HubSpot has basic spam filtering and reCAPTCHA integration that silently drops bot submissions.
- Adblocker and CORS failures. Approximately 30-40% of B2B audiences use ad blockers. If GA4 tag is blocked, the conversion event never fires - but the form reaches HubSpot directly. This is the most common reason HubSpot shows more conversions than GA4.
- Attribution window. GA4 attributes the session to the traffic source at the time of the event. HubSpot attributes the contact to the original source at first touch - which can be months earlier.
Connect pipeline to the campaigns that built it
Every channel in one brief — and the memory of what drives pipeline.
14 days free · no credit card
Which number to use for which decision
| Decision | Use GA4 | Use HubSpot |
|---|---|---|
| Campaign optimisation (ROAS, CPL) | ✓ | |
| Channel attribution for CAC | ✓ (original source) | |
| Actual lead volume for capacity planning | ✓ | |
| Landing page A/B testing | ✓ | |
| MQL to SQL funnel tracking | ✓ | |
| Reporting to board / CFO | ✓ |
GA4 is better for optimisation decisions that happen fast (campaign-level). HubSpot is better for business decisions that require accurate headcount (how many leads did marketing produce this month).
The adblocker gap and what it means for B2B
In B2B SaaS, where buyers are often technical, the adblocker adoption rate is higher than average. In a typical month for a B2B SaaS company:
- GA4 undercounts by 15-35% due to blocked tags
- HubSpot overcounts GA4 by roughly the same amount
- The net result: HubSpot is often closer to truth for total lead volume
The dangerous mistake is using GA4 as the source of truth for CPL (Cost Per Lead) calculations in your channel reporting. If GA4 undercounts by 25%, your calculated CPL from GA4 is 33% higher than reality - which may lead to cutting spend on channels that are actually performing well.
The attribution gap and what it means for CAC
HubSpot's "Original Source" attribute records where a contact first came from - which may be 6 months before their demo request. GA4 records the session source at conversion time. For a customer who first found you via organic search, came back through a LinkedIn retargeting ad, and finally converted from a branded search, you will see:
- GA4: conversion attributed to Paid Search (the final click)
- HubSpot Original Source: Organic Search (the first touch)
Neither is wrong. They answer different questions. Use GA4 session source for optimising active campaigns. Use HubSpot original source for understanding which channels build long-term pipeline.
Prooflytics bridges the gap
Prooflytics connects both GA4 and HubSpot in the same view, mapping paid spend against HubSpot pipeline data to calculate true cost per MQL and cost per SQL by channel. The daily brief shows both the GA4 conversion count (for campaign optimisation) and the HubSpot MQL count (for pipeline health) - with a plain-language explanation when the two diverge significantly. For teams tracking how acquisition channel affects downstream trial conversion, see trial-to-paid rate by acquisition channel. The B2B SaaS marketing report template structures this cross-tool view as a weekly format.
Frequently asked questions
Why does GA4 show more conversions than HubSpot?+
GA4 shows more when: (1) multiple submissions from the same email are counted separately, (2) bot or spam submissions that reach the landing page but are filtered by HubSpot, (3) test submissions from your own team. GA4 does not deduplicate by identity - HubSpot does.
Why does HubSpot show more conversions than GA4?+
HubSpot shows more when: (1) ad blockers prevent the GA4 tag from firing, (2) the form submission reaches HubSpot via direct server-side API call rather than the GA4 browser tag. This is more common in B2B audiences with high technical sophistication.
Which should I use for CPL (Cost Per Lead) calculation?+
Use HubSpot MQL count as the denominator for CPL, not GA4 conversion events. HubSpot deduplicates by person, filters spam, and captures submissions even when GA4 tags are blocked. Divide your total channel spend by HubSpot MQLs from the same channel for the most accurate CPL figure.
How do I reconcile GA4 and HubSpot in a monthly report?+
Build a reconciliation table: GA4 conversion events vs HubSpot contacts created vs HubSpot MQLs. Report HubSpot MQLs as the business metric. Explain the GA4 vs HubSpot gap as a known structural difference in a footnote. Never add the two together or average them.
You can read independent reviews of Prooflytics on G2 and compare it to alternatives in the marketing analytics category.
Try Prooflytics free for 14 days - no card required.
Connect pipeline to the campaigns that built it
Every channel in one brief — and the memory of what drives pipeline.
14 days free · no credit card