Создание пользовательских параметров

Client ID является уникальным обезличенным идентификаторам посетителя вашего сайта, который создается счетчиком Google Analytics. Это идентификатор передается вместе со всеми остальными параметрами посещения в Google Analytics, но получить обратно его невозможно. Для выгрузки данных по API идентификатор пользователя является крайне важным, поэтому дополнительно необходимо настроить его передачу в качестве пользовательского параметра.

Для этого в первую очередь нужно в интерфейсе Google Analytics создать пользовательский параметр. На странице администрирования ресурса необходимо кликнуть по ссылке «Пользовательские параметры»

После чего в открывшейся вкладке нажать на кнопку «+ Специальный параметр» и на открывшейся странице ввести «Название» (1), допустим «cid», в «Область действия» (2) выбрать «Пользователь» и нажать на кнопку «Сохранить» (3)

После того, как пользовательский параметр создан, необходимо запомнить его индекс, отображаемый в списке

Точно таким же образом создаем еще один пользовательский параметр, только с областью действия «Сеанс» (2), в который мы будем сохранять идентификатор сеанса. Для примера назовем его «sid» (1).

После того как параметр будет создан, запоминаем его идентификатор.

 

Настройка кода счетчика Google Analytics (analytics.js)

После того как новый параметр добавлен, необходимо внести изменения в код Google Analytics, размещенный на сайте.  Это необходимо для того, чтобы настроить передачу в созданные ранее пользовательские параметры значение Client ID и идентификатора сеанса. Для этого стандартный код Google Analytics, имеющий вид:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('send', 'pageview');
</script>

необходимо привести к виду:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-X', 'auto');

  ga(function(tracker) {
    function guid() {
      function s4() {
        return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
      }

      result = '';

      for(i=0; i<8; i++)
        result += s4();

      return result;
    }

    ga('set', 'dimension1', tracker.get('clientId'));
    ga('set', 'dimension2', guid());

    ga('send', 'pageview');
  });
</script>

Строки, которые должны быть изменены, выделены красным. Цифру в «dimension1» необходимо заменить на индекс параметра «cid», а в «dimension2» на индекс параметра «sid», которые были созданы ранее.

Настройка Global Site Tag (gtag.js)

Некоторое время назад была выпущена новая библиотека, предназначенная передачи данных с сайта в Google Analytics, и сейчас для всех ресурсов предлагается следующий код для установки счетчика на сайт:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-XXXXXXXX-X');
</script>

Если у вас уже используется этот код, то в него необходимо внести следующие изменения:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X'"></script>
<script>
  function guid() {
    function s4() {
      return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
    }

    result = '';

    for(i=0; i<8; i++)
      result += s4();

    return result;
  }

  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('set', {'sessionId': guid()});
  gtag('config', 'UA-XXXXXXXX-X', {
    'custom_map': {
      'dimension1': 'clientId',
      'dimension2': 'sessionId'
    }
  });
</script>

Настройка Google Tag Manager

В первую очередь нам необходимо создать переменную «Client ID» типа «Собственный код JavaScript», которая должна содержать следующий код:

function() {
  var customDimensionIndex = 1;

  return function(model) {
    model.set('dimension' + customDimensionIndex, model.get('clientId'));
  }
}

Число, выделенное красным, необходимо заменить на индекс пользовательского параметра «cid», который мы создали ранее. В результате должно получиться следующее:

Далее аналогичным образом создаем вторую переменную «Session ID», которая должна содержать следующий код:

function() {
    function s4() {
      return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
    }

    result = '';

    for(i=0; i<8; i++)
        result += s4();

    return result;
}

После того как переменные были созданы нам необходимо настроить их передачу в Google Analytics. Для это нужно внести изменения в тег просмотра страницы.

В дополнительных настройках тега разворачиваем секцию «Поля, которые необходимо задать» и добавляем поле с названием customTask и значением {{Client ID}}. В секции «Специальные параметры» добавляем новый параметр с индексом параметра «sid», который был создан ранее, и значением {{Session ID}}.

Далее сохраняем наши изменения и публикуем контейнер.

Comments

  1. Артур

    После того как переменные были созданы нам необходимо настроить их передачу в Google Analytics. Для это нужно внести изменения в тег просмотра страницы.

    Что это за тег?

    1. Сергей Казицин Article Author

      Артур, если разговор зашел про тег, то следовательно вы используете GTM. В данном случае вам необходимо найти тег, который срабатывает на каждой странице сайта и передает просмотр страницы в Google Analytics, название его я вам сказать не смогу, так как оно задается произвольно. После того как вы найдете этот тег, в него необходимо будет внести те изменения, которые описаны в инструкции. Только после того как вы это сделаете и опубликуете новую версию контейнера, у вас начнут передаваться необходимые данные в Google Analytics.

  2. Артур

    Если TGM пустой и там нету ни каких тегов, то нужно просто сделать новый тег который бы срабатывал при просмотре, на всех страницах сайта?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *