A Guide to Salesforce and Google Analytics Integration

Article Written By:
Varalatchumi V
Created On:

January 15, 2026

Salesforce and Google Analytics 4 integration showing web behavior data flowing into CRM leads and opportunities

There is no single Salesforce and Google Analytics integration. There are several distinct ones, and which you want depends on two things: which Salesforce product you own, and which direction the data needs to move. Choosing the wrong one is the most common reason these projects deliver a dashboard nobody uses.

Salesforce publishes first-party connectors for Data 360 and Data Pipelines, Google publishes a Marketing Cloud integration on the Analytics side, Google Ads has its own native Salesforce link for closed-loop conversion data, and most practitioners at scale end up joining the two in BigQuery instead.

This guide lays out each path, what it can and cannot do, and the one field you should capture on every form regardless of which route you take.

First, the Version Question

Google Analytics 4 is the only Google Analytics. Universal Analytics properties stopped processing new data on July 1, 2023, and requests to export or backfill Universal Analytics 360 data into BigQuery closed on June 30, 2024.

This matters more than it sounds. A large share of the Salesforce and Google Analytics material still circulating was written for Universal Analytics, and the data models are not comparable. UA counted sessions and pageviews with a fixed set of hit types. GA4 records events with parameters, and its raw data is only fully available through the BigQuery export. Any guide that tells you to map "goals" or configure "views" is describing a product that no longer exists.

If you are reading a tutorial and it does not say GA4, close it.

There Is No Single Integration. There Are Several.

Each of these is a real, separately documented path. They are not alternatives to one another so much as answers to different questions.

Path What It Connects Best For What You Need
Data 360 Web SDK connector for GA4 Sends GA4 web events into Data 360 Behavioral data landing on the unified profile Data 360, and the SDK on your site
Data 360 Google Analytics connection Ingests Google Analytics data into Data 360 Enriching profiles with existing GA data Data 360, and GA access
GA4 connector for Data Pipelines Syncs GA data into Salesforce for transformation Reporting inside CRM without a warehouse Data Pipelines entitlement
Marketing Cloud audience and reporting integration Publishes Analytics audiences to Marketing Cloud, and returns site metrics Email and journey performance beside site behavior Analytics 360 and Marketing Cloud Engagement
Salesforce Sites and Experience Cloud tracking Adds GA4 to Salesforce-hosted pages Measuring a community or portal you host on Salesforce Just the GA4 Measurement ID
BigQuery zero-copy with Data 360 Shares data both directions without duplicating it Joining GA4 raw events to CRM at scale Data 360 and Google BigQuery
Google Ads to Salesforce native link Sends closed-won outcomes back to Google Ads Bidding on revenue instead of form fills Google Ads, auto-tagging, and GCLID stored in CRM

Two observations worth drawing out.

The fourth row requires Analytics 360, Google's paid enterprise tier, and its documentation on the Google side is written from the Universal Analytics era. If a vendor or article presents it as the default "native integration," treat that as a signal the advice is dated. Confirm current availability and GA4 behavior with both Salesforce and Google before you design around it.

The fifth row is the one people are often actually asking about without realizing it. If your question is "how do I see traffic to my Experience Cloud site," you do not need an integration project at all. You need a Measurement ID pasted into your site settings.

A note on naming: Salesforce rebranded Data Cloud to Data 360 as of October 14, 2025. Its own documentation still says Data Cloud in places during the transition, so expect to see both. We covered the wider portfolio rename in our breakdown of the Agentforce rebrand.

Which Direction Does Your Data Need to Flow?

Ask this before you compare tools. Most stalled projects skipped it, picked a connector, and discovered months later that it moves data the wrong way.

Direction The Question It Answers Use Honest Limit
Analytics into Salesforce "What did this lead do on our site before converting?" Data 360 connectors, or the GA4 connector for Data Pipelines GA4's own reports are modeled and aggregated; raw event detail needs BigQuery
Salesforce into Analytics "Which campaigns produced qualified pipeline?" GA4 data import, with a non-personal join key You cannot send personally identifying data into GA4
Salesforce into Google Ads "Which keywords produced closed revenue?" The native Google Ads to Salesforce link, keyed on GCLID Only works for clicks where GCLID was captured and stored
Both, in a warehouse "Show me the whole journey, joined however we like" GA4 BigQuery export plus Data 360 zero-copy sharing Needs someone who can model data; not a marketer-only setup

Row two contains the constraint most teams discover the hard way. Google Analytics prohibits sending personally identifying information into it, so you cannot push a list of email addresses into GA4 to enrich profiles. What you can do is import non-personal attributes, such as a lead stage or a lead score, joined on a pseudonymous key you control.

Row four is where practitioners running real volume tend to land, and it is worth understanding why before dismissing it as over-engineering.

The One Field That Decides Whether Attribution Works

If you take one thing from this guide, take this: capture the GCLID on every form submission and store it on the Lead.

GCLID is the Google Click Identifier, a parameter Google Ads appends to your landing page URL when auto-tagging is enabled. It identifies the specific ad click that brought that person to your site. Stored on the Lead and carried through to the Opportunity, it becomes the join key that lets you tell Google Ads which clicks eventually produced revenue rather than which produced form fills.

Google Ads provides a native link for exactly this, configured under Tools and Settings, then Linked Accounts, then Salesforce. Once connected, closed-won outcomes flow back and the bidding algorithms can optimize toward revenue.

The practical value is hard to overstate for a business with a long sales cycle. Without it, Google Ads optimizes toward whatever converts on-site, which usually means it finds you more of the cheapest, lowest-intent form fills. With it, the platform learns which clicks become customers.

Capture On The Form Why Where It Ends Up
GCLID Identifies the exact paid click Custom field on Lead, mapped to Opportunity on conversion
UTM source, medium, campaign, term, content Covers non-Google and organic-tagged traffic Custom fields on Lead, preserved through conversion
Landing page and referrer Tells you which content did the work Custom fields on Lead
GA4 client ID, or your own first-party ID Joins the CRM record back to GA4 event data Custom field, and the join key in BigQuery
First-touch as well as last-touch values A single set of fields silently overwrites the origin Two field sets, written under different rules
Consent state at capture Determines what you may lawfully do with the rest Field on Lead, respected by every downstream process

The fifth row causes more silent damage than any other. If you store campaign attribution in one set of fields and update them on every visit, then every returning visitor overwrites their own origin, and your reporting concludes that branded search generates all your pipeline. Write first-touch once and never update it; let last-touch move.

Two limits to plan around. GCLID has a finite lifetime, so a lead that converts long after the click may arrive without one. And it lives in a URL parameter, so a form on a different domain, an iframe, or a multi-step flow that drops query strings will lose it unless someone deliberately carries it through. Creating and mapping these custom fields is standard configuration work, covered well in field-level walkthroughs on Salesforce Tutorial.

The Warehouse Pattern, and Why Teams Default to It

Ask experienced practitioners how they join Google Analytics and Salesforce data and a striking number give the same answer: extract both into a warehouse and join them there.

The reason is structural. GA4's interface applies modeling and aggregation, and its API surfaces reports rather than raw events. Full event-level GA4 data is available through the BigQuery export, which for standard GA4 properties is free to enable. You pay only Google Cloud storage and query costs. That is a meaningful change from Universal Analytics, where raw export required the paid 360 tier, and it is why the warehouse route is now accessible to organizations that could never previously consider it.

On the Salesforce side, Data 360 supports zero-copy integration with BigQuery, and bidirectional sharing between the two became generally available in March 2024. Zero-copy means data is queried where it lives rather than duplicated, which removes the sync jobs and the staleness that usually accompany this kind of project.

Put together, the pattern is: GA4 events land in BigQuery, CRM records are shared from Data 360 without copying, and the join happens in the warehouse on a key you control. Reporting sits on top.

The honest tradeoff is skills. This is a data-modeling exercise, not a connector you switch on, and it needs someone comfortable with SQL and identity logic. Architecture-level discussion on Jitendra Zaa and implementation detail on Salesforce Codex are both useful if you are scoping that work, and the design decisions belong with integration architecture rather than campaign configuration.

Identity: The Part That Determines Whether Any of It Works

Every path above depends on being able to say that a web visitor and a CRM record are the same person. That is an identity problem, not an integration problem, and no connector solves it for you.

Key What It Joins Where It Breaks
GCLID A paid click to a CRM record Expires; absent on organic, referral, and email traffic
GA4 client ID A browser to GA4 event history Per browser and per device; lost when cookies clear
GA4 user_id A logged-in person across devices Only exists if you set it, and only after login
Your own first-party ID Everything, if you issue and persist it deliberately Requires engineering to set and carry through forms
Marketing Cloud Subscriber ID An email click to on-site behavior Only for traffic arriving from Marketing Cloud sends
Email address Records inside your own systems Cannot be sent to GA4; needs hashing and care elsewhere

The third and fourth rows are where the leverage sits. If you set a GA4 user_id at login and issue your own persistent first-party identifier, you stop depending on cookie lifetimes you do not control. Almost every team that reports reliable cross-device attribution did this deliberately; almost none of them got it by installing a connector.

Consent belongs in the same conversation. Permission to measure is not permission to advertise to someone, and permission granted in one region may not transfer. Capture consent state alongside the attribution fields and enforce it downstream, because retrofitting it means going back and asking again. The same discipline underpins cross-channel work generally, which we cover in our guide to omnichannel marketing in Salesforce Marketing Cloud.

What You Cannot Do, Whichever Path You Pick

Vendor material rarely states limits, and knowing them early prevents a scoping conversation from becoming a disappointment later.

  • You cannot send personal data into GA4. No email addresses, no names, no phone numbers. Non-personal attributes joined on a pseudonymous key are the supported approach.
  • You cannot retroactively recover GCLID. If it was not captured at the time of the click, that attribution is gone. Instrument the forms before you plan the reporting.
  • You cannot expect GA4 and Google Ads numbers to match. They use different attribution models and conversion windows. Reconciling them is a reporting decision, not a bug to fix.
  • You cannot get raw event data from the GA4 interface. The interface applies modeling and thresholds. Raw means BigQuery.
  • You cannot fix identity with middleware. If the same person exists as three unlinked records, a faster pipeline delivers the same confusion sooner.
  • Universal Analytics history is not coming back. If it was not exported before the 2024 cutoff, treat GA4 as your starting baseline.

None of these are reasons not to integrate. They are the shape of what a realistic scope looks like.

A Realistic Sequence

Order matters, and the tempting order is wrong. Most teams start by choosing a connector, which is the fifth decision, not the first.

First, write down the question you cannot answer today. "Which campaigns produce closed revenue" and "where do users drop out of onboarding" need different integrations. Vague goals produce dashboards nobody opens.

Second, decide the direction. Use the direction table above. This single choice eliminates most of the options.

Third, instrument capture. GCLID, UTMs, landing page, and consent, on every form, into fields that persist through lead conversion. Do this even if the rest of the project is delayed, because it is the part you cannot backfill.

Fourth, settle identity. Decide your join key and, if it is a first-party identifier, get it set and carried before you build reporting on it.

Fifth, pick the path. With the question, direction, and key defined, usually only one option remains sensible.

Sixth, validate against reality. Submit test leads through each real journey, including paid, organic, and email, and confirm the values arrive intact and unoverwritten. Then check that a converted Lead still carries its first-touch data.

Seventh, reconcile deliberately. Agree in advance which system is authoritative for which number, and write it down so quarterly reporting is not relitigated every quarter.

Step six is the one that gets skipped under deadline pressure, and it is where nearly every attribution error is found. Reporting design across the joined data is ordinary analytics work; practical dashboard and report walkthroughs on Salesforce Geek are a reasonable place to start, and deeper field and object customization work sits alongside it.

Diagram of Salesforce and Google Analytics integration connecting website behavior data to CRM leads and opportunities

Frequently Asked Questions

1. How do I connect Salesforce to Google Analytics 4?

There is no single button. If you have Data 360, use the Web SDK connector to send GA4 events in, or the Google Analytics connection to ingest existing data. If you have Data Pipelines, use the GA4 connector. If you only need traffic data for a Salesforce-hosted site, paste your GA4 Measurement ID into the site settings. For paid attribution, link Google Ads to Salesforce and store GCLID on the Lead.

2. Does Google integrate with Salesforce?

Yes, in several places. Google Ads links to Salesforce natively for conversion import, BigQuery shares data bidirectionally with Data 360 without copying it, and Google Analytics has a documented Marketing Cloud integration on the Analytics 360 tier. They are separate integrations serving different purposes.

3. What is replacing Google Analytics?

Nothing is replacing it; it was replaced internally. Google Analytics 4 replaced Universal Analytics, which stopped processing data on July 1, 2023. GA4 is event-based rather than session-based, which is why older integration guides do not map cleanly onto it.

4. Can I send Salesforce data into Google Analytics?

Yes, with an important restriction. You can import non-personal attributes such as lead status or lead score, joined on a pseudonymous key. You cannot send personally identifying information such as email addresses into GA4.

5. Do I need Analytics 360 for this?

Not for most paths. The Marketing Cloud audience integration on the Google side requires Analytics 360, but the Data 360 connectors, the Salesforce Sites tracking, the Google Ads link, and the GA4 BigQuery export all work without it. The BigQuery export in particular is free to enable on standard GA4 properties, which was not true under Universal Analytics.

6. What is GCLID and why does it matter so much?

GCLID is the identifier Google Ads appends to your landing page URL when auto-tagging is on. Stored on the Lead and carried to the Opportunity, it lets you report revenue back to the click that produced it, so Google Ads can bid toward customers instead of form fills. It cannot be recovered later, which is why capturing it is the first thing to build.

7. Why do our Google Analytics and Google Ads conversion numbers disagree?

Because they measure differently. The two use different attribution models and different conversion windows, and GA4's interface applies its own modeling. Pick one as authoritative for each reported metric rather than trying to make them match.

Decide the Direction, Then Pick the Path

Most Salesforce and Google Analytics projects are framed as a tooling question and fail as a definition question. The connector is rarely the hard part. The hard parts are knowing which question you are trying to answer, which way the data has to move, and whether you can reliably say that a visitor and a customer record are the same person.

Get those three settled and the right path is usually obvious. Skip them and you will build a pipeline that moves data faithfully between two systems that disagree about who your customers are.

One thing is worth doing today regardless of where the rest of the project lands: capture GCLID, UTMs, first-touch values, and consent state on every form, into fields that survive lead conversion. It is inexpensive, it is the only part you cannot backfill, and it is what every later reporting decision depends on.

At Minuscule Technologies we scope this work by starting from the question you cannot currently answer, then instrumenting capture and settling identity before choosing a connector. If you want a clear view of which path fits your stack, talk to our team about an attribution readiness review.

Contact Us for Free Consultation
Thank you! We will get back in touch with you within 48 hours.
Oops! Something went wrong while submitting the form.

Recent Blogs

Ready to Architect Your Salesforce Success?

You've seen what's possible. Now, let's make it happen for your business. Whether you need an end-to-end Salesforce solution, a complex integration, or ongoing managed services, our team is ready to deliver.

Schedule a Free Strategic Call