HubSpot and GA4 each see part of your marketing funnel. GA4 tracks everything from first visit to form submission — which channels brought users, how they behaved on the site, what they did before converting. HubSpot tracks everything after the lead converts — email engagement, deal stages, sales activity, revenue. Connecting the two gives you a complete end-to-end view: which traffic sources drive not just form submissions but qualified revenue.
What the HubSpot + GA4 Integration Provides
When set up correctly, the HubSpot + GA4 integration allows you to:
- See which ad campaigns (Meta, Google, LinkedIn) drive leads that progress through your HubSpot pipeline
- Compare lead-to-close rates by original traffic source
- Identify which campaign types produce the highest-quality leads (not just the most form completions)
- Build GA4 custom reports that show revenue pipeline (from HubSpot deal data) alongside acquisition metrics
Method 1: UTM Tracking (Essential First Step)
The simplest HubSpot + GA4 integration is consistent UTM tracking. HubSpot captures UTM parameters from the first visit and stores them on the contact record. GA4 uses UTMs for session attribution.
When both tools see the same UTM values:
- GA4 tells you: 50 sessions from linkedin / cpc / campaign-x resulted in 5 form submissions
- HubSpot tells you: 5 contacts with original source = LinkedIn / campaign-x, 2 became closed-won deals
This is the minimum integration and requires no technical setup beyond consistent UTM tagging on all your campaign URLs (already discussed in our UTM best practices guide).
Method 2: HubSpot Analytics + GA4 Native Integration
HubSpot has a native Google Analytics integration that links HubSpot contact data with GA4. To enable:
- In HubSpot: Settings → Tracking & Analytics → Tracking Code → Advanced Tracking → Link your Google Analytics account
- Or in more recent HubSpot versions: Reports → Analytics Tools → Traffic Analytics → Google Search Console/Analytics integration
HubSpot can pull GA4 traffic data directly into its reports, showing website traffic alongside contact and deal data in a single view.
Method 3: GA4 Custom Dimensions from HubSpot Data
For more advanced integration, pass HubSpot lifecycle stage or contact quality data back to GA4 via custom dimensions.
When a HubSpot contact progresses to “Marketing Qualified Lead” or “Sales Qualified Lead,” send a GA4 event via the Measurement Protocol:
- Event name: lead_qualified
- Custom dimension: hubspot_lifecycle_stage = MQL
- User identifier: the contact’s user_id (if you tracked User ID in GA4)
This allows GA4 to show which original sessions eventually resulted in qualified leads — connecting the pre-conversion GA4 data to the post-conversion HubSpot data at the user level.
Note: the Measurement Protocol approach requires matching the GA4 client_id (from the GA4 cookie) to the HubSpot contact. This is possible by capturing the GA4 client_id via JavaScript and storing it as a HubSpot contact property at form submission time.
Method 4: GA4 BigQuery + HubSpot Data Warehouse
For enterprises with data warehouse infrastructure: export both GA4 data (via BigQuery export) and HubSpot deal/contact data (via HubSpot’s data sync to BigQuery or an ETL tool like Fivetran). Join the two datasets in BigQuery using email or a shared identifier to build a complete attribution model from ad click to closed revenue.
This is the most powerful approach but requires data engineering resources.
The Practical Starting Point
Start with consistent UTM tracking and HubSpot’s UTM capture. This is immediately available, requires no code, and provides the most important insight: which campaigns drive closed revenue, not just form submissions. Add more sophisticated integrations as your analytics maturity grows.
Book your free audit here and we will help you set up UTM tracking and HubSpot + GA4 integration that gives you full-funnel visibility from ad click to revenue.