Search code examples
google-analyticsclientidgoogle-tag-manageruniversal-analytics

Accessing ClientID set by Google Analytics through Google Tag Manager


I have setup a new Universal Analytics tracking and would like to store ClientID in one of the custom dimensions slots.

The tracking tags are implemented through Google Tag Manager (using the predefined UA tag) and I am having the difficulty to passing the Client ID (via custom JavaScript Macro) with the basic pageview request.

I have named my tracker so that I can access it and this code runs without any error in console, however when used with GTM, it's returning an error.

ga.getByName('trackerGTM').get('clientId'))

produces an error:

Uncaught ReferenceError: ga is not defined

Any tips?


Solution

  • I assume you're firing the pageview {{url}} matches RegEx .*, correct? Could be that Universal hasn't loaded yet. Have you tried {{event}} equals gtm.dom? I haven't tested this, but it's a thought.

    EDIT:

    This looks like a bug. I was able to run:

    function(){
      var client = ga.getAll()[0].get('clientId');
      return client;
    
    }
    

    And have it spit out the client ID with no problem.