How to Create a CRM Dashboard in Google Analytics
Tired of celebrating a surge in website leads, only to find out from the sales team that none of them were qualified? Tying marketing efforts directly to sales outcomes can feel like trying to connect a series of disconnected dots. Your Google Analytics (GA) report shows you traffic and conversions, but your CRM holds the truth about lead quality and closed deals. This guide will show you how to connect those dots by importing your CRM data into Google Analytics, giving you a powerful, end-to-end view of your entire customer journey.
Why Connect Your CRM and Google Analytics?
On their own, both your CRM (like Salesforce or HubSpot) and Google Analytics are fantastic tools. GA is brilliant at telling the story of user acquisition - how people find you, what they do on your site, and where they convert. Your CRM picks up the story after a form is submitted, tracking that lead as it moves through the sales funnel.
The problem is that these two stories are often read from different books. Marketers might focus on optimizing for "conversions," like a form fill, without knowing if those conversions ever turn into paying customers. This siloed approach leads to several frustrating problems:
Inaccurate ROI: You can see how much you spent on a Google Ads campaign and how many "leads" it generated, but you can't see how much revenue it produced.
Wasted Ad Spend: Are you pouring money into a channel that drives a lot of low-quality leads while ignoring a less obvious channel that delivers your best customers?
Partial Customer Journey View: You're missing the complete picture from the first ad a user saw to the final deal signed. The context is lost between the two platforms.
By connecting them, you create a single source of truth. You can finally answer crucial questions like:
Which marketing channels generate the most qualified leads and paying customers?
What specific content or landing pages do our high-value customers engage with before converting?
What is the true cost per acquisition and lifetime value (LTV) for customers from different sources?
The Essential Data for Bridging the Gap
To connect the dots, we need a common thread - a unique identifier that links a specific website visitor in Google Analytics to a specific lead in your CRM. Then, we can push valuable CRM data back into GA associated with that user.
From Google Analytics to Your CRM
The key piece of information we need to capture from GA is the Client ID. This is a unique, anonymous identifier that GA assigns to each user's browser or device. When a user fills out a lead form on your website, you can grab this Client ID and pass it into a custom hidden field in your CRM. This action effectively "tags" the new lead with their GA history.
From Your CRM to Google Analytics
Once you have the Client ID in your CRM, you can export a report of your leads along with their status information. This data can then be imported back into Google Analytics. Key data points from your CRM to import include:
Lead Status or Lifecycle Stage: Think stages like ‘Lead’, ‘Marketing Qualified Lead (MQL)’, ‘Sales Qualified Lead (SQL)’, or ‘Opportunity’.
Deal Stage: If you have a multi-step sales process, this could include ‘Discovery Call’, ‘Proposal Sent’, ‘Negotiation’, etc.
Deal Value: This is a game-changer. Import the potential or closed-won revenue value of a deal.
Sales Owner: Assigning sales reps can help you analyze performance.
Importing this data enriches your user profiles in GA, allowing you to segment your audience and analyze behavior based on their actual value to your business.
How to Connect Your CRM Data with GA4 (Step-by-Step)
The modern method for getting this done in Google Analytics 4 is through a feature called Data Import. This lets you upload external data (like a CSV from your CRM) and have it joined with your existing GA4 data. Here's how to set it up.
Step 1: Capture the GA4 Client ID in Your Forms
First, you need to set up your website forms to grab the user's Client ID and send it to your CRM. This involves adding a hidden field to your forms and using a snippet of JavaScript to populate it.
Create a Hidden Field in Your CRM and Forms
In your CRM (HubSpot, Salesforce, etc.), create a new custom property for your contacts called something like ga_client_id. Then, in the form builder you use on your site, add this new property as a hidden field.
Add the JavaScript to Your Website
Next, you’ll need a simple piece of JavaScript that finds the GA Client ID from the user’s browser cookie and places it into the hidden form field you just created. You can add this code to the footer of your website or through Google Tag Manager.
Important: Make sure the name attribute in document.querySelector('input[name="ga_client_id"]') matches the name of your hidden field in the HTML of your form.
Now, whenever someone submits a form, their unique GA Client ID will be sent along with their name and email, creating that vital link between your two systems.
Step 2: Create Corresponding Custom Dimensions in GA4
Before you can import your CRM data, you need to create "slots" in GA4 to hold it. These are called Custom Dimensions.
Navigate to your GA4 account and click on Admin (the gear icon in the bottom left).
Under the Property column, go to Custom definitions > Custom dimensions.
Click Create custom dimensions for each piece of CRM data you want to import.
For each dimension, you’ll need to configure it:
Dimension name: A user-friendly name, e.g., "Lead Status" or "Deal Value".
Scope: Choose User. This is crucial because you are attaching this data to a user profile, not just a single session or event.
User property: This is the backend name GA will use. Make it descriptive, e.g.,
user_lead_statusoruser_deal_value.
Create a custom dimension for each column in the report you plan to export from your CRM.
Step 3: Prepare and Upload Your CRM Data
Now it's time to get your data out of your CRM and format it for GA4's Data Import feature.
Export Your Data as a CSV
Create a report in your CRM that includes the Client IDs you’ve been capturing, along with the other data points you want to import (Lead Status, Deal Value, etc.). Export this report as a CSV file.
Your CSV needs a specific structure. The first column must be the key linking the data, which is our Client ID. The column header for this must be ga:client_id. The subsequent column headers should match the user property names you just created (e.g., user_lead_status).
Here’s what your CSV file might look like:
Import the Data into GA4
In the GA4 Admin panel, navigate to Data Import.
Click Create data source.
Give your data source a name, like "CRM Data Upload".
For the Data type, choose User data by Client ID.
Upload your CSV file. GA will ask you to map the columns from your file to the Custom Dimensions you created. The
ga:client_idfield should automatically map itself. Map your other columns to their respective dimension.Click Import. The data will start processing, which can take several hours depending on the file size.
Going forward, you can repeat this export/import process on a regular schedule (e.g., weekly) to keep your GA4 data updated with the latest from your CRM.
Building Your CRM Dashboard
Once your data is imported into GA4, you can start analyzing it. However, the true power comes from building a custom dashboard where you can visualize the combined data. While GA4 offers some reporting capabilities, an external tool like Google's Looker Studio (formerly Data Studio) is much more flexible and powerful for this task.
Connecting Looker Studio to your GA4 account is free and straightforward. Once connected, you can build rich, interactive reports. Here are a few ideas for charts to include in your new CRM dashboard:
Chart 1: Quality Leads by Marketing Channel
Find out which channels are driving valuable leads, not just conversions.
Chart Type: Table
Dimension: Session default channel group
Metrics: Users, Sessions, Conversions
Filter: Filter the whole table by your newly imported custom dimension:
Lead Status > contains > SQL.
This simple table immediately shows you which of your channels - Organic Search, Paid Search, Email, Social - are most effective at bringing in leads who are actually sales-qualified.
Chart 2: Revenue vs. Acquisition Channel
Connect marketing campaigns directly to closed-won revenue.
Chart Type: Bar Chart
Dimension: Session source / medium
Metric: Use your
Deal Valuecustom dimension. Since it’s imported as a text string, you may need to go to the Data Source in Looker and change the field’s type to "Number".
This chart is the holy grail for most marketers. It answers the question, "Which platform gives us our most profitable customers?" allowing you to double down on what works and cut what doesn't.
Chart 3: High-Value Content Analysis
Discover which blog posts, landing pages, or case studies attract your biggest customers.
Chart Type: Table
Dimension: Page path and screen class
Metrics: Users
Filter: Apply a filter for
Deal Value > greater than > 5000(or whatever threshold defines a "high-value" deal for you).
You can use this report to guide your content strategy, creating more content modeled after the pieces that are clearly resonating with your ideal customer profile.
Final Thoughts
Blending your CRM and Google Analytics data transforms your reports from rearview mirrors into a strategic map for the road ahead. By tracking users from their very first click to the final handshake, you break down the old walls between sales and marketing and empower your team to make smarter, data-driven decisions that are directly tied to revenue. While the setup requires some initial legwork, the clarity and insight it provides are invaluable for sustainable growth.
Manually exporting CSVs and building dashboards can solve this problem, but it’s still a time-consuming and repetitive process. With Graphed we connect directly to Google Analytics, your CRM, and your ad platforms in one click. From there, you can ask questions in plain English like, "Show me my top advertising campaigns that drove qualified leads last month," and we instantly build a real-time dashboard for you. You can skip the setup and maintenance and get straight to the insights.