Файлы cookie и идентификация пользователей

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

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

Имя поля Тип значения Значения по умолчанию
cookie_domain Строка auto
cookie_expires Целое число 63072000 (два года в секундах)
cookie_prefix Строка none
cookie_update Логическое значение true
cookie_flags Строка

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

gtag('config', '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', 'MEASUREMENT_ID', {
  'cookie_domain': 'blog.example.com'
});

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

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

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

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

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

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

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

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

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

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

Как задать User ID

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

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

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

Вы можете запретить тегу gtag.js читать или записывать файлы cookie, пока пользователь не подтвердил, что он не возражает против этого. Подробнее…