Как получить Client ID через customTask

 / Сева Миронович / 

Не знал, что в аналитике никуда без этого? Пойми, в аналитике только и говорят, что о сlientID.

-- Достучаться до collect

img 59b636b29de28

Коль скоро уже даже на семинарах Google Partners customTask иллюстрируют примером с передачей сlientId, пора и мне вам поведать о новом удобном способе. Кстати, у меня есть статья о том, что такое clientID и зачем он нужен, если вы еще с ним не знакомы.

Тонкости настройки аналитики в Telegram канале

Что такое customTask?

Вся суть заключается в функции "Заданий" из библиотеки analytics.js, которая подключается при установке счетчика Google Analytics. Относительно недавно в неё добавили метод customTask, определяющий для счетчика аналитики задание, которое нужно сделать в первую очередь. В русской документации, этого метода нет, поэтому, перейдя по ссылке, переключите внизу язык на English. Кстати, это касается всей справки Google - английская версия часто отличается и содержит больше информации.

Как передать clientID?

В качестве первоначального задания customTask мы определим функцию, которая достанет clientId из счетчика и отправит в пользовательский параметр. Для этого нужно создать переменную типа Собственный код Javascript с таким кодом:

function() {
  return function(model) {
    model.set('dimension1', model.get('clientId'));
  }
}

Выглядит это примерно так:

настройка customTask для clientID

Под dimension1 скрывается индекс пользовательского параметра, который нужно завести в интерфейсе Google Analytics для сбора clientId. Делается это в разделе Администратор - Пользовательские определения. Client ID в Google Analytics Жмем и получаем индекс, который нужно приписать к слову dimension.

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

img 59b6392e4b5d9

Почему именно так?

В отличие от предыдущего способа передачи clientID в этом не будет лишних событий в Google Analytics. Пользовательский параметр с clientId проставляется при первичной отправке pageView - это позволяет не посылать лишние хиты в систему, что важно для нагруженных проектов. Кстати, здесь можно почитать подробнее об ограничениях Google Analytics.