Идентификация пользователей с помощью файлов cookie в gtag.js

Код gtag.js использует файлы cookie для идентификации уникальных пользователей в сеансах просмотра. Из этой статьи вы узнаете, как настроить параметры файла cookie.

В таблице ниже показаны значения полей по умолчанию в файлах cookie библиотеки gtag.js.

Имя поля Значение Значение по умолчанию
cookie_domain string auto
cookie_expires integer 63072000 (два года в секундах)
cookie_prefix string _ga
cookie_update boolean true

Чтобы изменить какое-либо из этих значений, обновите файл config своего ресурса, указав нужные параметры в списке. Пример:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_prefix': 'MyCookie',
  'cookie_domain': 'blog.example.com',
  'cookie_expires': 28 * 24 * 60 * 60  // 28 days, in seconds
});

По умолчанию в gtag.js включена автоматическая конфигурация домена cookie. При этом файлы cookie записываются в домен самого высокого из всех возможных уровней. Например, если ваш сайт расположен по адресу blog.example.com, gtag.js выберет в качестве домена для файлов cookie example.com. Если же gtag.js определит, что сервер работает локально (например, localhost), для cookie_domain будет автоматически установлено значение 'none'. Это означает, что gtag.js будет задавать файлы cookie, используя полный домен из местоположения документа.

Чтобы отключить автоматическую конфигурацию домена cookie, обновите файл config для своего ресурса, указав значение для параметра cookie_domain:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_domain': 'blog.example.com'
});

Чтобы избежать конфликтов с другими файлами cookie, необходимо изменить префикс файла cookie. Он будет добавлен к файлам cookie, заданным с помощью gtag.js. Например, по умолчанию название файла cookie для Google Аналитики – _ga. После добавления фрагмента кода файл cookie получит название example_ga:

gtag('config', 'GA_MEASUREMENT_ID', {
  cookie_prefix: 'example'
});

Срок действия файла cookie обновляется при каждой загрузке страницы: к текущему времени прибавляется значение поля cookie_expires. Таким образом, если в качестве значения cookie_expires задана одна неделя, и пользователь заходит на сайт с помощью одного браузера в течение пяти дней, файл cookie будет доступен в течение дополнительной недели, а посещения будут отображаться в Google Аналитике как посещения одного пользователя. Если тот же пользователь заходит на сайт после истечения срока действия исходного файла cookie, создается новый файл cookie, а первое и второе посещения отображаются в Google Аналитике как посещения разных пользователей.

Если вы зададите для cookie_expires значение 0 (ноль секунд), действие cookie будет привязано к длительности сеанса (т. е. закончится с завершением текущего сеанса браузера).

gtag('config', 'GA_MEASUREMENT_ID', {
  cookie_expires: 0
});

Если для cookie_update задано значение true (по умолчанию), gtag.js будет обновлять файлы cookie при каждой загрузке страницы. При этом срок действия файла cookie будет установлен по самому последнему посещению сайта. Таким образом, если срок действия файла cookie равен одной неделе, и пользователь заходит на сайт с помощью одного браузера каждые пять дней, срок действия файла cookie будет обновляться при каждом посещении и, следовательно, не истечет никогда.

Если задано значение false, файлы cookie не будут обновляться при каждой загрузке страницы. При этом срок действия файла cookie будет установлен по первому посещению сайта пользователем.

gtag('config', 'GA_MEASUREMENT_ID', {
  cookie_update: false
});

Как задать идентификатор пользователя (User ID)

User ID – это уникальный постоянный анонимный строковый идентификатор, который присваивается каждому пользователю. С его помощью можно идентифицировать ряд сеансов одного и того же пользователя на разных устройствах. Подробнее о преимуществах функции User ID

Чтобы настроить функцию User ID с помощью gtag.js, обновите файл config для своего ресурса:

gtag('config', 'GA_MEASUREMENT_ID', {
  'user_id': 'USER_ID'
});