Salesforce Sales Cloud Data into Google Analytics 360

January 17, 2018 | Jon Meck
Salesforce Sales Cloud Data into Google Analytics 360

Marketers rejoice – Salesforce Sales Cloud Data is now available to be automatically imported into Google Analytics 360! After announcing a partnership last year between the two companies, this GA360-Salesforce integration is the first announced way that the tools will begin working together more efficiently.

Google Analytics on a website can measure many things – how someone arrived on our website, what pages they looked at, and what actions they took. What’s missing from a basic Google Analytics installation is what I like to call, the “and then.” What happened next? Were those leads we captured qualified leads? Did they eventually convert? How can we target more people like our converters?

With the Salesforce integration, we get this. All of it!

With some minor changes to our website, our Google Analytics settings, and our Salesforce account, we’re able to pass information back to Google Analytics about a particular user and how they move through the sales pipeline. Instead of tracking the click or form submit, we’re now able to track qualified leads or actual conversions, with no change to the sales process.

We’re able to use this information to look backward – determining which channels are driving the most valuable leads and converted sales, and we’re able to use this information to move forwards – creating Audiences and using these across connected Google products like DoubleClick, Google AdWords, and Google Optimize.

Curious how it works? Google Analytics has a great support doc, and we’ve got you covered with some extra background and commentary.

How It Works – The Background

Google Analytics is already designed to handle this process – merging actions on your website with actions that happen off of your website. When they rolled out Universal Analytics and introduced the Measurement Protocol, this exact type of solution is what they were advertising. The emphasis here is on the word Universal. The data we measure doesn’t need to be just from our website.

To understand how it works, we have to go back to the basics.

When a user visits your website, that user is assigned a random numeric ID, called a client ID. This identifier is like a person’s Social Security number – it is unique to that individual and is used to assign any number of times that person visits to the correct person.

This client id is stored in a cookie on the user’s browser and device, which inherently presents some problems. People use different browsers and different devices all the time. People clear their cookies! However, this is the world of client-side analytics tracking. With Universal Analytics, we can try to work around this by setting a User ID, if we know it for a user. This might not be as relevant if we’re collecting leads from people we don’t already know on our website.

Any piece of information that is sent to Google Analytics includes that client ID, that value that says which user initiated that action. Google then does the heavy lifting, looks for all hits with the same client id, and assigns them to the same user.

This is how we can have historic information about a user, and how we can see all of the different channels that have led to a user’s conversion. We’ve written about these concepts extensively, particularly in regards to our Attribution series. This will be important later.

How It Works – Salesforce Setup

So we’ve covered the basics… if a hit shows up in Google Analytics with an ID (client ID or user ID), Google Analytics will connect it with any previous sessions from a user with the same ID.

With the new Salesforce to Google Analytics 360 integration, we need to do just a little bit of setup to get things working.

This solution is designed for people that are already using forms on their website to capture and store information into Salesforce. Typically, you would be doing this using a Salesforce Web-to-Lead form, or a custom form that you’ve connected to Salesforce somehow. Honestly, the specifics of this step don’t really matter.

Here’s the important part. When you add a new Lead to your website, you also capture and store their GA Client ID or User ID. Every user on your website has one, we just need to grab that value, as well as the GA Property ID, and get it into Salesforce.

For most people, this will mean a little bit of development work. Google Analytics goes into a lot of detail about how to make this work, and anyone who has used the AdWords Salesforce integration will recognize the process.

Note – this part isn’t really new, we recommend storing the GA Client ID in any 3rd Party Platform that is on your website. I’ve written personally about doing the same exact process for Hubspot, and we’ve covered this exact process for Salesforce before, as well as any other type of data source.

If you aren’t currently doing this though, then you’ll need these steps.

1. Update Your Salesforce

We need a place to put some custom value, so you need to create three fields in your Salesforce objects called, GACLIENTID, GAUSERID, and GATRACKID. Again – follow the instructions.

2. Update Your Form(s)

Again, we don’t really care how the data is getting into Salesforce, but for most people, this is a form or many forms on your website. We need to add new, hidden fields to the form that will map into the new fields that we created inside of Salesforce. It might look like this:

form field with hidden fields


3. Populate Hidden Fields with GA Data

Now – through some magic, you’ll need to populate the hidden form fields with the GA Client ID and your GA property ID. Importantly, this needs to happen on every page where there’s a form. We’re not sure when a person might convert, so we need to have that info always on the form, waiting.

When I say magic, I’m often referring to Google Tag Manager. If you’re not using Google Tag Manager, you’ll make some changes to your site to grab the value of the _ga cookie and put it into the form field(s).

Again, there are detailed instructions – so go ahead and follow those!

Here’s an example of the code that Google Analytics provided:

<script type="text/javascript">
    'submit', function(event) {
      ga(function() {
        var tracker = ga.getAll()[0];
        var clientId = tracker.get('clientId');
        document.getElementById('GACLIENTID').value = clientId;
        var userId = tracker.get('userId');
        document.getElementById('GAUSERID').value = userId;

4. Set up Data Import

Once this is all set up, we’ll follow the detailed instructions to begin importing data from Salesforce into our Google Analytics in the form of events.

How It Works – Salesforce to Google Analytics

Ok – so up until now, there hasn’t been anything really new. Hold on to your trademarked YouTube tube socks, cause this next part is really gonna rock.

So now we have all of the pieces. We have someone who comes to our website, looks at a variety of pages, performs a host of interactions, ultimately culminating in a successful form submit that goes into Salesforce.

Salesforce has that particular user’s client ID. Inside of Salesforce, our sales team continues to work those Leads the way they typically would, updating statuses, converting to Opportunities, moving through stages, and ultimately closing won opportunities.

With Google Analytics 360 and the Salesforce integration, we just flip the switch inside of our Google Analytics property settings and let it take care of the rest.

Every time a status is changed, an Event will be imported to Google Analytics with information about that particular Salesforce record and its current status/value. The hit will contain the same client ID or User ID as the user who filled out the form, so Google Analytics will automatically try to stitch it back to the original user. It will just become another Event in that user’s history, another interaction in their history of pageviews and interactions.

What’s Next – Events and Goals

Here comes the most important part. These Events coming from Salesforce will show up in your existing reports – like your Top Events report. They are marked as non-interaction events, so they will not increase the session count (though they will show up as separate sessions within the Multi-Channel Funnel reports.)

In order to take full advantage of this connection, you’ll need to take the next step and create custom Event-based Goals with these Salesforce Events.

Note: I would do this first in a Test View, just to make sure you’re capturing the correct information. Once it seems like it’s working correctly, then you can copy the Goal configuration and add to your Main View.

This will allow you to track specific Salesforce conversions, like a Closed Won stage change, as a conversion inside of Google Analytics. In addition to counting how many conversions started on your website and converted in Salesforce, you’ll also be able to use the Event Value to track a monetary amount tied to those changes.

Need a refresher on Event-based Goals? We’ve got you covered.

Goals And Traffic Sources

Here’s the important part that I’ll remind you about, and the reason this all works so well. Often a hit will arrive in our Google Analytics and it doesn’t have traffic source information attached to it. This hit starts a new session and Google Analytics needs to decide how to classify this session, or which traffic source to attribute this session to. When I say there wasn’t any traffic source info, that means there was no information in the URL like campaign parameters or a GCLID, and there was no referring information from a previous website.

When Google Analytics has no current information about a traffic source, it will use the client ID to look for sessions from the same user. It will look at the most recent, previous session, and if there is traffic information (source/medium/campaign) stored with that session – it will set the current session to the same traffic information. This is called Last Non-Direct Click Attribution and is the default way that Google Analytics handles all traffic.

If there is no previous session or previous traffic source information found, then it will label the current session as Direct. With me so far?

So let’s just say that an Event shows up in our Google Analytics, completely out of the blue, with a client ID already on it, but with no traffic information. Why, that sounds exactly like the hits that will start coming to our site from Salesforce!

These Goal conversions that are tied to the Events you’re getting automatically from Salesforce will get attributed to the previous session’s traffic source. This is great! And not-so-great.

Best Case Scenario

Imagine a person arriving from a paid search ad, submitting the form, and then never coming back to our site. Weeks later, the sales team sends them a pair of You “Tube” Socks, closes the deal, and updates the stage in Salesforce. An Event gets sent back to Google Analytics, which triggers a Goal Conversion. This Goal Conversion gets attributed back to paid search – which we can see in all of our Acquisition reports, and everyone’s happy!

Slightly Worse Case Scenario

Now imagine that same scenario as above, but the user visits the site a few more times, the last time from a social media post. Boom, we close the deal, update Salesforce, and the hit gets sent back to Google Analytics. Now, thanks to Last Non-Direct Click Attribution, that conversion gets attributed to Social Media. Yikes.

The Traffic Source Takeaway

This is always going to be a problem with any sort of offline conversion – so it’s important to just be aware of these potential pitfalls. You’ll always have the Multi-Channel funnel reports which will be helpful in navigating these tricky attribution questions, and Google Analytics 360 customers have Google BigQuery to help them navigate these complexities at an even more granular level. The shorter the amount of time between a form submission and Salesforce stage change, the less this will be an issue.

What About Non-Google Analytics 360 Customers?

Right now this integration is limited to Google Analytics 360 customers, a huge benefit to using the enterprise version. So what can you do if you’re not a GA360 customer? Glad you asked.

Start with AdWords

When I tell people about the AdWords Conversion Import for Salesforce®, I’m shocked at how many don’t know about this or haven’t tried it. It’s a very similar process to the one I outlined above, however, it connects just to Google AdWords. The big difference is that this is available to all AdWords users.

We’ve been using this at LunaMetrics and it’s been so interesting to see how our ads have driven qualified leads and won opportunities.

Not Quite The Same

There are some major differences between this and the Google Analytics 360 solution. You won’t get the same level of information about leads and opportunities and how they’re progressing through the pipeline. You will get a total count of conversions at each stage.

You won’t be able to use this to measure any other channel than Google AdWords. We know that Google AdWords is likely just one-pieces in your arsenal of traffic driving strategies, so this won’t help with understanding how they all work together. Still, it’s a great tool and an absolute must if you’re using Google AdWords to drive leads into Salesforce.

Go It Alone

A lot of this configuration can be done for anyone with a Google Analytics account and Salesforce implementation. We’ve written about a few ways that you could use your developers to accomplish the same result, however, the burden is on your team to get all the pieces together and make sure it’s working correctly. With Google Analytics 360, we have a real solution that is current and will continue to be supported. This particular integration is just the first of many integrations they plan on announcing and it makes sense that they tackle the easiest challenges first. Stay tuned to see what else is coming!

Let’s Get It Going!

GA360 customers, don’t stop with just the implementation. Start talking about how this changes things.

What insights can you get that were previously unavailable? How will you use this to make decisions?

Get this information into Google AdWords or DoubleClick. You can import your Google Analytics goals into Google AdWords or Doubleclick, but make sure you’re aware of attribution models will affect what gets counted. Consider using both the AdWords Conversion Import and the GA360 Salesforce implementation simultaneously. If you’re making changes to your site already, tackle both at the same time.

How can you use this information to improve your marketing spend? Your paid search targeting? Your A/B Testing? Re-read every post you can about Audiences and how to share these between tools. Depending on the size of your funnel, consider using Similar Audiences!

If you’ve been using Google Analytics 360 and Salesforce Sales Cloud separately, then you’re hopefully as thrilled as I am to have this feature announced and ready to go. Call the team together, get your Google Analytics 360 partner on the phone, and start following the steps to implementing this solution on your site! If you’ve been on the fence about Google Analytics 360, this integration should be welcome news. Make sure you read the Google Analytics blog post about this integration and take note of the three bullets at the bottom where they outline future integrations that will be coming soon.