Cross-Device tracking in Google Analytics using User-ID

Google Analytics is one of the most popular tools for monitoring website traffic. However, it has some disadvantages and they are serious.

To understand them, you must first understand the basic principles of metrics, organizing the information within it, and these are:

  • user
  • session
  • event / hit

Most of the services assess the ranges by the so-called unique users (uu), so the number of people visiting the portal in a particular period of time. In fact, Google Analytics stock is not able to recognize unique users. This is due to outdated technology based on cookies. 

The mechanism works in such a way that every time a user visits the portal, GA checks if there is a previously assigned cookie in his browser. If not, the system saves the new file in the browser and records the new user’s visit. If it is, the system records the visit of the returning user.

A cookie lives a maximum of 2 years, which in itself can be problematic and can disrupt statistics. Add to this the fact that the files can be deleted manually at any time, or even completely block from saving cookies in your browser and the matter becomes much more complicated. To top it all off, today we use many devices during the day and thus many browsers simultaneously. A computer at work, a smartphone and a home laptop are three “unique users” for Google Analytics. 

What about the rest of the labels, then?

GA sessions are a list of user actions within one visit, which makes it impossible to examine multi-channel tracks. Analysing single sessions may give an insight into the most frequent behaviour of visitors to the site compared to selected dimensions, but on their basis, we will not be able to analyse the full user track. 

The last metric in Google Analytics is an event (or hit). It is a single action on a page. The most common interaction is the page view, although it can also be scrolling, clicking a button, adding to your shopping cart and all other events you want to follow. Please notice that in the free version of Google Analytics there is a threshold value of ten million hits per month, beyond which the system starts to sample data. A set of hits from one visit is called a session. 

Events, as you can see, are the metrics least exposed to measurement errors, but relying only on them blocks the drawing of far-reaching conclusions, because on their basis only we are not able to look at the data as a whole even within a single visit. 

User-ID function

The giant from Mountain View is aware of these problems and in response to them it has introduced the User-ID function into its tool. The User-ID allows you to assign sessions from different devices and browsers to a specific person based on unique User-IDs instead of Client-IDs. 

The downside of the solution is the need to assign a permanent identifier to each visitor, which without any form of registration may be impossible. The point is that the visitor to the site must leave some “fingerprint” after which we will be able to identify him/her. 

One of the unique ideas I’ve come across so far was the idea of storing the ID in a cookie, which the broadcaster would first have to sneak in an email. According to this concept, the customer opening the email automatically reloads the image in the content, unconsciously “pushing” the cookie into his browser. When he enters the site after such an operation, GA reads the value of the file using the Google Tag Manager. An interesting idea, but with some risk.

We have no guarantee that the user will read the message on all their devices. Without this data will still be affected by an error. An additional risk is that incorrect implementation of User-ID will put our vigilance down and decisions made on the basis of incorrect data may result in unpredictable consequences. 

Without User-ID, our Google Analytics will have to rely exclusively on cookie technology, which, as demonstrated, is not ideal. Apart from combining sessions, the User-ID function has a dedicated set of reports, useful for analyzing Cross-Device tracks.

User-ID reports

In the User-ID view there are 3 reports available only from this level (Recipients > Different devices), and these are: 

  • Device overlapping – the report shows how many and which devices were used by users interacting with your site. This allows you to compare engagement and conversion rates for phones, computers and tablets and check the flow of users between devices.
  • Device Pathways – the report shows the last five types of devices used by visitors before the conversion. This will give you information on user behaviour depending on the devices they are using.
  • Harvesting devices – report on the relationship between conversion rate and harvesting device. Thanks to it, you can check the percentage of users converting on the same device, changing the device and not converting at all. 

Thanks to the data you will find out which elements of the page should be improved, which campaigns bring the most “caloric” traffic or what interactions from various devices lead to at a particular stage of the path. 

For example: if you see in Google Ads reports that mobile does not convert, but in the User-ID view you can clearly see the trend that most people switch between devices in the evening and convert on the desktop, with no such relationship visible the other way around, is it worth to attract customers this way or to give up mobile devices completely and focus only on computers and laptops? Perhaps you reach most customers with your advertisement during working hours, and those who return log on from a desktop device and make the conversion? Without this first interaction on your smartphone, conversion would probably never happen! This may mean that it’s worth maintaining your mobile advertising. 

This is just one example of using reports from various devices in marketing activities. It is also good to check if logged-in users behave differently from non-logged-in users. With reports from the User-ID view, you can detect and evaluate the relationship between devices and the engagement you will use for your next marketing activity. 

How to enable User-ID reporting in Google Analytics?

You must have editorial privileges at the service level in Google Analytics. If you do not have them, ask the administrator for adequate accesses. Then go to Administration, Tracking Information and User-ID. 

Accept the rules for the service and move on. Then the wizard will display a window with gtag.js codes and Universal Analytics, which should be pasted in the proper place.

Finally, the system will suggest creating a new display, dedicated to the User-ID service. This is necessary because the data we are interested in will not appear in the classic GA display. This will be the place where you can see information about users with the assigned identification number.

Obtaining a User-ID from a website 

Each website is unique and there is no one single way to obtain an ID. Also, remember that not every data can be one. Google forbids the use of data that allow an easy identification of a person, such as e-mail address, PESEL, telephone number, first and last name, etc. It would be ideal if the User-ID consists of a sequence of random characters. 

The most frequently used and the easiest method is to push the User-ID to the data layer. Some additionally store the identifier in a cookie using a custom JavaScript variation. Another method is to select a web page’s HOME element that stores data about the user’s name, identification number, etc. This is a task that is recommended for an experienced programmer or webmaster. 

When the programmer passes the user ID to the data layer, go to the GTM container and enable preview and debug mode. Refresh the page and switch to data layer view in the console to find the userId parameter. Check if the parameter has been assigned a certain value. You will need to pass it to the variable data layer in Google Tag Manager. To do so, go back to GTM container, go to Variables tab and create a new Data Layer Variable. When assigning a name in the field, remember that the letters are case-sensitive. 

Updating Google Analytics Settings Variable

The Google Analytics Settings Variable in GTM is used to transfer the most commonly used GA settings to multiple tags. Thanks to this, all tags will inherit the change, without the need to modify them separately. 

In GTM container go to Variables and select your GA variable. If you don’t have it yet, create a new one (in User Defined Variables). Go to More settings > Setting fields. Enter the user ID of userId.

An additional advantage of anchoring the User-ID in the GA variable (instead of a tag) is that the system assigns a user ID to all hits, not just impressions. This will later give you the opportunity to analyse the visitors’ behaviour in more detail. 

Finally, check the list of requests sent to Google Analytics using GA Debugger. If a user ID is included among the parameters, make sure that the User-ID value in the (&uid) column reads correctly. Also verify the GA reports in real-time in the User-ID view. Remember that this will only display statistics for visits containing the (&uid) parameter.

Combining data from CRM via Measurement Protocol with your own user ID

If you have managed to configure the User-ID function in Google Analytics correctly, your next step should be to combine the data in your company’s Customer Relationship Management (CRM) system with the data stored in GA, via Measurement Protocol. This is not necessary, but reasonable.

By integrating the data you will get fuller statistics on all interactions, the impact of marketing activities on online and offline user behaviour, etc. The data collected in this way can be used for segmentation and reporting. Additionally, with the integration you will be able to build advanced remarketing campaigns in Google Ads, Display & Video 360, Search Ads 360, etc. 

It is important that the User-ID in GA coincides with the customer ID in the CRM system. This will enable communication of both systems. The only problem that may occur here is when your CRM does not create user-IDs that can be intercepted with GTM. Then you will have to look for an appropriate key, on the basis of which you will be able to relate customers to GA sessions.

Most CRMs recognize customers by their e-mail addresses or telephone numbers. Unfortunately, the CID cannot be any personal data that can be easily identified, otherwise we would violate the terms of use of Google services. There are two solutions: pseudonymization of personal data or choosing another key. A popular method in this case is to push the Client-ID or User-ID (or both) from Google Analytics directly into the CRM system when the user performs a specific action (e.g. sends a contact form).  

The operation is not complicated and comes down to:

  1. Placing a hidden field in the form, containing the user’s CID, which will be downloaded automatically and sent together with the message content. 
  2. Preparing the CRM system to receive and save the CIDs in records. This way each lead will be able to be assigned to a specific user and his GA session.  

When we set up the forwarding of an ID from GA to CRM, we have to go back to configuring the Measurement Protocol. Measurement Protocol was created by Google to enable the transfer of raw information directly to the Google Analytics server from any programming environment. The first historical way to transfer data was to manually import a CSV file in Administration (Data Import option), which allows combining data generated by offline systems with online data collected by GA. In order to automatize the process, Google launched a protocol that works analogically. You can include user metadata in the file sent to GA to improve segmentation and use it for analysis and remarketing. 

Once the protocol is configured, create a custom dimension in Google Analytics. This will be a “slot” for data from CRM, because the main function of the built-in User-ID dimension is to use it in reports about different devices, and we will need it to import data. To avoid collisions, it is recommended to create a custom dimension that stores User-ID value for use by external systems. Remember to leave the value set to “User” when selecting a range, because the data relates to a unique user and not a single session or event. 

Remarketing using data from CRM

You already know that based on the data sent to GA you are able to segment users and thus create advanced remarketing lists. The more data you send, the more segmentation possibilities you get. In addition to standard user data, such as value and number of transactions, lifetime customer value (LTV) or the stage in the sales funnel where the customer is currently located, you can also send less obvious information, such as occupation. If necessary, you will be able to create remarketing lists consisting, for example, of people from a specific business only. 

If you need prospecting advertising, Google Ads is able to create a lookalike group that you can use in your GDN campaign. Of course, these will be customers with a profile similar to people on your list, but only in terms of the data that Google is able to identify, not from the information you have submitted via Measurement Protocol. Remember also that within one MCK account you are able to send letters to multiple Google Ads accounts, which allows you to use them in a more creative way. 

Theoretically, you can use the data from the CRM system to direct to a customer list, but userId-based member forwarding is currently only available in the United States, so we won’t be doing this. Let me just mention that ads from such a list can be displayed on Google, YouTube and Gmail services, but not on the advertising network. 

User-ID and Google Attribution

Some time ago, there was information about Google’s work on a new tool for measuring Cross-Device conversion – Google Attribution. The tool is currently in beta phase and is available on some Google Analytics accounts. How does it work and will it replace the User-ID function in the future? 

To understand the mechanism of Google Attribution, you need to discuss another functionality introduced some time ago under the name of Google Signals, which is also currently in beta. Google Signals is Google’s answer to the problems with cookies. Following the social media model, it was decided to try to identify users not by cookies, but by the Google Accounts to which users are signed in. At first sight this is not a bad idea. Anyone who has a Gmail or Android phone account is automatically a Google Account holder. The question is, how many people are signed in on all their devices to one account?

The problem is that you don’t necessarily have to be signed in to your Google account to watch YouTube video or use the search engine. This is different on Facebook or LinkedIn, where we can’t do much without signing in to our account. Another thing is that one person can have several Google accounts (e.g. another account on a business phone, another on a private phone), which can further disturb data. 

And how does Google Attribution beta work at the moment? Apart from automatic channel separation and including all interactions in the data-driven model (instead of the last 4 interactions, as in Google Analytics), the tool does not show any Cross-Device data. Additionally, Google Attribution has a tendency to assign a relatively large share of conversions to campaigns on the search network, i.e. favouring the Google advertising system. 

In order for Google Attribution to replace the User-ID in the future, Google would have to come up with a mechanism that would allow each user to be assigned a permanent ID, by which they could be recognized regardless of the device and browser they are on. As far as I know, at the moment Google has not discovered such a mechanism.

Of course, there are competitive solutions for Google Analytics on the market. Facebook, for example, released some time ago Facebook Attribution, a tool to analyse the results of marketing campaigns on the basis of conversion events, offering 7 different attribution models:

  • Even Credit
  • Last Click or Visit
  • Last Touch
  • Positional 30%
  • Positional 40%
  • Time Decay 1-Day
  • Time Decay 7-Day

One of the functions of the tool is to generate reports about different devices. Facebook Attribution uses a data-driven model, assigning a specific value to each point of contact on the conversion path based on the total number of displays, clicks and visits. As reported by Facebook: “By constantly logging on to Facebook, we can directly assign actions to real people.” This means that Facebook Attribution recognizes users by their accounts to which they are logged in, not by their cookies or IDs. Facebook Attribution also allows you to install click and display tags in external media such as Google Ads. It’s definitely worth making a few texts to get your opinion on it as an interesting alternative to GA.

Nevertheless, every year Google is improving its tools, adding more and more useful features to support Cross-Device analysis. It seems that cookies are slowly getting out of hand, and Google itself will soon focus on collecting data in alternative ways. Perhaps in a while the User-ID will be replaced by a newer, easier to implement technology. Currently there is no real alternative and probably will not be for a long time.