Идентификация пользователей с помощью файлов 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
cookie_flags string

Чтобы изменить какое-либо из этих значений, укажите нужный вариант в списке параметров в команде 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, укажите значение параметра cookie_domain в команде config ресурса:

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

Чтобы избежать конфликтов с другими файлами cookie, необходимо изменить префикс файла cookie. Он будет добавлен к файлам cookie, заданным с помощью gtag.js. Например, допустим, что для файла cookie идентификатора Google Аналитики задано название по умолчанию _ga. Следующий код изменит это название на 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
});

Дополнительные метки, которые добавляются при создании файлов cookie. Метки необходимо перечислить через точку с запятой.

gtag('set', {'cookie_flags': 'SameSite=None;Secure'})

Как настроить функцию User ID

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

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

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