Из этого руководства вы узнаете, как в analytics.js используются файлы cookie и как настроить междоменное отслеживание.
Общая информация
По умолчанию библиотека analytics.js использует всего один файл cookie, _ga
, для сохранения уникального идентификатора клиента. Этот идентификатор представляет собой случайно сгенерированный номер. Он хранится в файле cookie и включается в каждое обращение (запрос), отправляемое в Google Analytics. На серверах Google Analytics он используется для расчета числа пользователей, сеансов и других данных о рекламной кампании.
Файл _ga
представляет собой основной файл cookie, к которому можно получить доступ только в том домене, где выполняется код JavaScript. В некоторых случаях вам может понадобиться изменить способ установки cookie, который используется в Google Analytics. О том, как это сделать, рассказывается в этой статье.
Реализация
Стандартный фрагмент кода analytics.js создает трекер с помощью метода create
:
ga('create', 'UA-XXXX-Y');
В результате создается следующий файл cookie:
- название cookie –
_ga
; - домен cookie – домен веб-сайта без префикса
www.
в начале; - срок действия файла cookie – 24 месяца (2 года), и этот срок обновляется при каждой отправке обращения.
Как изменить настройки файлов cookie по умолчанию
Чтобы изменить какие-либо из значений по умолчанию, необходимо передать методу create
объект конфигурации в качестве последнего параметра. Объект конфигурации – это обычный объект JavaScript, в котором каждое свойство представляет собой имя переопределяемого поля. Пример:
ga('create', 'UA-XXXX-Y', { 'cookieName': 'new_cookie_name', 'cookieDomain': 'mynew.domain.com', 'cookieExpires': 60 * 60 * 24 * 28 // Time in seconds. });
В результате стандартные настройки файла cookie будут измены на указанные значения.
Как задать автоматическую конфигурацию домена cookie
ga('create', 'UA-XXXX-Y', 'auto');
Автоматическая конфигурация домена cookie упрощает реализацию междоменного отслеживания. При использовании параметра auto
файлы cookie автоматически записываются в домен самого высокого уровня из всех возможных. Например, в случае домена www.example.co.uk
порядок выбора будет следующим:
co.uk
example.co.uk
www.example.co.uk
Скрипт analytics.js не сможет записать файл cookie в co.uk
, но сможет – в example.co.uk
. Поскольку файл cookie был успешно записан в домен более высокого уровня, домен www.example.co.uk
будет пропущен.
Как установить файлы cookie на локальном хосте
Иногда analytics.js запускается на веб-сервере, работающем на localhost
. В этом случае для установки файлов cookie analytics.js вам нужно будет отключить домен cookie по умолчанию:
ga('create', 'UA-XXXX-Y', { 'cookieDomain': 'none' });
Или ещё проще:
ga('create', 'UA-XXXX-Y', 'none');
Несколько трекеров в одном домене
Библиотека analytics.js устанавливает единственный файл cookie с уникальным идентификатором клиента, и этот cookie должен использоваться всеми трекерами на странице. Если вы размещаете код analytics.js в нескольких субдоменах или в разных подкаталогах одного домена, сделайте следующее:
- Настройте все трекеры так, чтобы файл cookie устанавливался в домен самого высокого уровня из всех возможных.
- Удалите префикс
www
и точку (.
) из названия домена.
Таким образом, если у вас сайт с двумя субдоменами – one.example.com
и two.example.com
, – оба трекера необходимо настроить следующим образом:
// Configuration for one.example.com ga('create', 'UA-XXXX-Y', {'cookieDomain': 'example.com'});
// Configuration for two.example.com ga('create', 'UA-XXXX-Y', {'cookieDomain': 'example.com'});
Как изменить срок действия cookie
Срок действия файла cookie обновляется при каждой отправке обращения или запроса на серверы Google Analytics: к текущему времени прибавляется значение cookieExpires
(в секундах). Пример:
ga('create', 'UA-XXXX-Y', { 'cookieExpires': 60 });
В этом случае действие файла cookie закончится через 60 секунд (1 минуту).
Если вы зададите для cookieExpires
значение 0
(ноль секунд), этот cookie будет работать на основе сеанса, то есть его действие закончится с завершением текущей сессии браузера:
ga('create', 'UA-XXXX-Y', { 'cookieExpires': 0 });
Как получить идентификатор клиента
Разработчикам не следует напрямую получать доступ к наборам cookie analytics.js, поскольку формат cookie может быть изменен без предупреждения. Это может привести к неправильной работе скрипта и искажению данных. Чтобы получить значение clientId
, следует использовать команду get
. Пример:
ga(function(tracker) { var clientId = tracker.get('clientId'); });
Когда библиотека analytics.js загрузится, будет выполнена функция, переданная в ga
, и параметр tracker
будет включать ссылку на объект трекера по умолчанию. Затем с помощью этого объекта трекера можно будет получить clientId
.
Как отключить файлы cookie
Чтобы на разных страницах за пользователем сохранялся один и тот же уникальный идентификатор клиента, в библиотеке analytics.js по умолчанию используется единственный файл cookie. Однако вам может понадобиться использовать собственный механизм идентификации и отправлять данные напрямую в Google Analytics, не применяя файлы cookie.
Отключить установку файлов cookie можно следующим образом:
ga('create', 'UA-XXXX-Y', { 'storage': 'none', 'clientId': '35009a79-1a05-49d7-b876-2b884d0f825b' });
Если вы запретили сохранять cookie, вам нужно будет предоставить собственный параметр clientId
(если только вы не используете параметры междоменной связи).