Сейчас в сети: 577
Учитесь работать в Google Analytics вместе с нами!
star_border

4 способа получить cid (Client ID) пользователя Google Analytics

Автор статьи: Андрей Осипов ( @snegir - практикующий веб-аналитик, автор блога "Веб-аналитика и результат").

Оригинал статьи вы можете найти по ссылке. 

____________________________________________________________________________________________________

 

Для реализации различных задач, например — интеграции CRM и Google Analytics, трекинга открытия писем, отслеживания действий пользователя в офлайне нужен ClientID (cid) клиента.

 

По сути — это уникальный идентификатор пользователя (не человека, а связки компьютер-браузер), который выступает ключом в записи всех данных о посещениях сайта. И если мы хотим передавать какие-то данные в Google Analytics из вне сайта, и чтобы эти данные были связаны с посещениями пользователя, нам нужно знать этот ключ.

 

1 способ — на сайте установлен код Universal Analytics

 

Если на сайте есть только код Universal Analytics, то вызвав следующий код, в javascript переменной clientId окажется нужное нам значение: 

 

ga(function(tracker) { var clientId = tracker.get('clientId'); });

 

2 способ, берем код на серверной стороне с помощью PHP

 

// Handle the parsing of the _ga cookie or setting it to a unique identifier
function gaParseCookie() {
  if (isset($_COOKIE['_ga'])) {
    list($version,$domainDepth, $cid1, $cid2) = split('[\.]', $_COOKIE["_ga"],4);
    $contents = array('version' => $version, 'domainDepth' => $domainDepth, 'cid' => $cid1.'.'.$cid2);
    $cid = $contents['cid'];
  }
  else $cid = gaGenUUID();
  return $cid;
}

 

3 способ, когда мы берем cid с помощью JavaScript

 

function()
{
    var match = document.cookie.match('(?:^|Подмигивающий\\s*_ga=([^;]*)');
    var raw = (match) ? decodeURIComponent(match[1]) : null;
if (raw)
{
match = raw.match(/(\d+\.\d+)$/);
}
var gacid = (match) ? match[1] : null;
if (gacid)
{
    return gacid;
}
}

 

4 способ, если мы используем Google Tag Manager

 

Во-первых, создаем новую переменную — ga cookie:

 

Во-вторых, создаем переменную типа Custom HTML — cid и пишем в неё:

function() {
  try {
    var cookie = {{ga cookie}}.split(".");
    return cookie[2] + "." + cookie[3];
  } catch(e) {
    console.log("No Universal Analytics cookie found");
    return "n/a";
  }
}

 

И далее, где нам это необходимо используем её {{cid}}, в ней будет хранится Client ID.

Комментарии
Коля Ш
августа 2015

Спасибо мне очень это помогло!

Влад Хусаинов
января 2016

Что такое "переменная Custom HTML" ?

Центр К
февраля 2016

Что такое "переменная Custom HTML" ?

 

Это макрос в google tag manager. А точнее его тип. Их существует очень много. И очень удобно создавать именно свои макросы.