How to send Client ID to Google Analytics via Google Tag Manager

Google Analytics identify a user as unique through a combination of unique random number and the first time stamp (i.e. the time of first visit).

This combination is called the ‘Client ID’.

Client ID is created and assigned by Google Analytics cookie _ga.

_ga cookie is made up of following 4 fields:

The third and fourth field together make, what we called the client ID:

Google Analytics cookie can exist only on the device and browser where it has been set up.

Since client ID is stored in a GA cookie, the client ID can exist only on the device and browser where it has been set up.

Because of this reason, by default, Google Analytics can not identify unique users across different web browsers and devices.

In GA reports, ‘client id’ is available as a primary dimension only in the ‘User Explorer’ report:

The user explorer report, show website usage data (sessions, average session duration, bounce rate, revenue etc) for each user, via the ‘Client IDdimension :

Since the ‘Client ID’ dimension is available only in the ‘user explorer’ report, you can not use this dimension in any another GA report.

That makes analyzing website usage data at the user level quite difficult.

The only solution to this problem is to collect client id data through your own efforts and send it to GA as a custom dimension.

Since ‘client id’ is completely anonymous, it can not be used to personally identify a person (unless you choose to combine it with personally identifiable data).

Follow the steps below to send client ID to GA as a custom dimension via GTM:

Step-1: Navigate to your GA property and create a new custom dimension with user level scope:

Step-2: Note down the index number of your custom dimension:

We will use this index number later while setting up custom dimension in GTM.

Step-3: Navigate to your GTM account and create a new JavaScript variable with following code:

function(){

try {

   var tracker = ga.getAll()[0];

   return tracker.get(‘clientId’);

 } catch(e) {

   return false;

 }

}

This variable returns client ID if there is no error. Otherwise it returns false.

The ‘try’ JavaScript statement is used to test a block of code for errors.

The ‘catch’ JavaScript statement is used to handle the error.

Step-4: Create a new event tag which fires on window load event. We are going to use this tag to send client ID as custom dimension to GA:

Note: Here {{GA Default Settings}} is a Google Analytics Settings Variable, I use. It returns the property ID.

Now you may ask, why I am not using the pageview tag (used to send GA data) to send the custom dimension.

The ‘Return Client ID’ javascript variable does not seem to resolve on pageview event:

It seems to resolve on window load event:

In order to send client ID as custom dimension via pageview tag, I would have to fire GA pageview tag on window load event and this is something, I don’t want to do.

Because if I fire GA pageview tag on window load event then it will delay the firing of the tag and can create tracking issues, in case some event fire before the pageview.

So in order to avoid this problem, I am sending client ID as custom dimension via event tag.

I do not want this event tag to impact bounce rate that is why I have set the event, as non-interaction event:

I do not want the event tag to fire, in case the client ID is not successfully retrieved.

That is why, I set the following condition, while creating the window trigger:

Step-5: Preview and publish your GTM container.

You can now use the client ID as primary dimension in GA custom reports:

You can now use the client ID as secondary dimension in GA standard reports:

You can also see client ID data in ‘Top Events’ report under (Behavior > Events):

Learn about the Google Analytics Usage Trends Tool

The Google Analytics usage trend is a new tool which is used to visualise trends in your Google Analytics data and to perform trend analysis.


Do you want to Learn Web Analytics in 8 Weeks?

  • Learn and Master Web Analytics, Conversion Optimization & Google Analytics from Industry Expert in 8 weeks.
  • Lifetime access to the course + Lifelong FREE course updates.
  • New study material added every few months (lifelong learning).
  • Up to date training material.
  • Most exhaustive course on Google Analytics on the internet.
  • Hundreds of Assessments to test your learning.
  • Your 24/7, 365 days a year reference source.
  • Learn at your own pace and from any place.

Take your Analytics knowledge to the next level. Checkout my Best Selling Books on Amazon

Maths and Stats for Web Analytics and Conversion Optimization
This expert guide will teach you how to leverage the knowledge of maths and statistics in order to accurately interpret data and take actions, which can quickly improve the bottom-line of your online business.

Master the Essentials of Email Marketing Analytics
This book focuses solely on the ‘analytics’ that power your email marketing optimization program and will help you dramatically reduce your cost per acquisition and increase marketing ROI by tracking the performance of the various KPIs and metrics used for email marketing.

Attribution Modelling in Google Analytics and Beyond
Attribution modelling is the process of determining the most effective marketing channels for investment. This book has been written to help you implement attribution modelling. It will teach you how to leverage the knowledge of attribution modelling in order to allocate marketing budget and understand buying behaviour.

Himanshu Sharma

Certified web analyst and founder of OptimizeSmart.com

My name is Himanshu Sharma and I help businesses find and fix their Google Analytics and conversion issues. If you have any questions or comments please contact me.

  • Over eleven years' experience in SEO, PPC and web analytics
  • Google Analytics certified
  • Google AdWords certified
  • Nominated for Digital Analytics Association Award for Excellence
  • Bachelors degree in Internet Science
  • Founder of OptimizeSmart.com and EventEducation.com

I am also the author of three books:

error: Alert: Content is protected !!