Междоменное отслеживание в Google Analytics 4

29 сентября, 2021

Материал по настройке междоменного отслеживания для Google Analytics 4 (GA4).

Обновление (февраль 2022): я выпустил электронное руководство по Google Analytics 4. Бесплатно скачать его можно в формате .PDF по ссылке.

В моем блоге есть две статьи на тему междоменного отслеживания, одна из которых посвящена прямой настройке с помощью внедрения дополнительного кода на сайт для двух разных библиотек Google Analytics (analytics.js и gtag.js), а другая подробно описывает последовательность шагов с помощью Google Tag Manager. Рекомендую прочитать их обе:

В Google Analytics 4 разработчики максимально упростили эту настройку, и теперь она будет понятна даже начинающим пользователям и не техническим специалистам. Но перед тем, как настроить междоменное отслеживание в GA4, давайте вспомним как оно работает.

Что такое междоменное отслеживание?

Когда вы имеете несколько веб-сайтов, между которыми пользователи могут беспрепятственно перемещаться, и хотите в Google Analytics отслеживать их посещения, источники трафика, события, конверсии и другую информацию, вы должны позаботиться о корректном сборе данных с обоих доменов.

Google Analytics, как и многие другие аналитические системы, для идентификации пользователей использует основные файлы cookie (first-party cookies). Одним из таких основных файлов cookie является кука _ga.

Если пользователь заходит к вам на сайт впервые, счетчик веб-аналитики создает новый файл cookie (_ga) и сохраняет его значение в браузере посетителя с уникальным идентификатором, который называется Client ID (или просто cid). Когда пользователь заходит на ваш сайт повторно, Google Analytics считывает информацию из уже созданной ранее куки _ga. И если файл куки все еще присутствует (и остается таким же), система понимает, что это один и тот же человек, поэтому все совершаемые действия в Google Analytics будут записаны одному пользователю.

Основные файлы cookie не могут быть использованы на двух разных доменах, к ним можно получить доступ только в том домене, где выполняется код JavaScript вашего счетчика Google Analytics. Поэтому когда пользователь перейдет с одного сайта на другой, Google Analytics не сможет прочитать сохраненный файл cookie исходного сайта, а на сайте, куда пользователь перешел, будет создан новый идентификатор клиента (новый _ga, новый Client ID). Система будет рассматривать вас как двух разных пользователей.

В результате, Google Analytics зафиксирует два сеанса разной продолжительности, двух пользователей с разными уникальными идентификаторами (Client ID), и вдобавок еще перезапишет источник трафика, поскольку переход с другого сайта для счетчика веб-аналитики будет считатья реферальным ( ... / referral).

А нам бы хотелось, чтобы при переходе с одного сайта (siteA.ru) на другой (siteB.ru) уникальный идентификатор пользователя оставался прежним и был одинаковым для двух разных доменов. Именно такое поведение в Google Analytics можно реализовать с помощью настройки междоменного отслеживания.

Междоменное отслеживание (cross-domain measurement) – функция в Google Analytics 4, которая позволяет связывать домены между собой и регистрировать посещение одного пользователя на нескольких сайтах, а также передавать значение идентификатора сессии (Session ID) и уникального идентификатора пользователя (Client ID) с одного домена на другой.

В официальной документации разработчиков Google о самом процессе написано более подробно. Он состоит из двух этапов:

  1. в исходном домене проверяется наличие идентификатора клиента во всех URL, указывающих на целевой домен;
  2. в целевом домене проверяется наличие идентификатора клиента в URL, по которому перешел пользователь.

Исходный домен - это домен, с которого пользователь переходит на другой домен (если пользователь переходит с siteA.ru на siteB.ru, то исходным доменом будет считаться siteA.ru).

Целевой домен - это домен, на который пользователь попадает, перейдя с исходного домена (если пользователь переходит с siteA.ru на siteB.ru, то целевым доменом будет считаться siteB.ru).

Схематично это выглядит так:

Междоменное отслеживание

Именно такую функцию мы и будем учиться настраивать для Google Analytics 4.

Параметр связывания _gl

Когда посетитель переходит с siteA.ru на siteB.ru, необходимо URL-адресу siteB.ru передать специальный параметр. После того как пользователь перейдет на страницу siteB.ru по URL с этим параметром, Google Analytics 4 должен обнаружить его и понять, что между двумя сайтами перемещается один человек. В этот момент произойдет обновление файла cookie пользователя, и на домен siteB.ru в параметр URL _gl= будет передано значение, соответствующее домену siteA.ru.

Принцип работы параметра связывания _gl

Параметр _gl может выглядеть так:

Ключевая настройка в междоменном отслеживании - передача значения уникального идентификатора (Client ID, _ga) с домена siteA.ru на домен siteB.ru, чтобы на обоих сайтах оно было одинаковым. Без него отслеживание между двумя доменами будет невозможно. Это условие необходимое, но недостаточное.

Настройку следует выполнять тогда, когда у вас разные домены. Если вы планируете отслеживать пользователей на поддомене того же домена, в междоменном отслеживании нет необходимости.

Чтобы междоменное отслеживание в Google Analytics 4 исправно работало, для двух разных доменов должен использоваться один ресурс Google Analytics 4 и одинаковый идентификатор потока данных(=тег), который начинается с префикса G-.

Один идентификатор потока данных (G-) на обоих доменах

Перейдем к самой настройке.

Настройка междоменного отслеживания

В Google Analytics 4 существует два способа настройки междоменного отслеживания:

  • через интерфейс GA4;
  • с помощью функции связывания gtag.js

Давайте рассмотрим каждый вариант подробнее.

Настройка через интерфейс

В отличие от Universal Analytics, в Google Analytics 4 настройка междоменного отслеживания выполняется всего за несколько минут прямо в интерфейсе GA4, без необходимости использования Google Tag Manager и прибегания к сторонней помощи.

Все, что нужно сделать, это иметь доступ с правами на редактирование (изменение), из панели Администратор перейти на уровень ресурса в раздел Потоки данных и выбрать свой поток для веб-сайта.

Потоки данных - поток для веб-сайта

В открывшемся окне выберите меню Дополнительные настройки добавления тегов:

Дополнительные настройки добавления тегов

Затем Настройка доменов:

Настройка доменов

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

Типы соответствий

Например, для двух доменов techniqa.ru и tagflower.ru (мои тестовые проекты) самая простая настройка будет выглядеть так:

Настройка доменов

Задав условия, нажмите кнопку Сохранить.

Еще одним преимуществом GA4 по сравнению с его предшественником является то, что вам не нужно настраивать список исключаемых источников переходов. Google Analytics 4 это сделает автоматически и к каждому переходу с одного домена на другой, где присутствует в URL-адресе параметр связывания _gl, добавит еще один параметр ignore_referrer со значением true.

Но междоменное отслеживание повлияет на автоматическое отслеживание исходящих кликов для событий типа Улучшенная статистика (Enhanced Measurement). При включенной опции событие click срабатывает всякий раз, когда пользователь нажимал на ссылку, которая ведет на другой домен (исходящая ссылка, outbound click). А когда вы указываете определенные домены в настройке междоменного отслеживания, вы явно даете понять системе, чтобы она не учитывала такие исходящие клики и события, следовательно, они будут игнорироваться и не фиксироваться в статистике.

Если вы также используете Universal Analytics на своих сайтах, обратите внимание на выноску в официальной справке Google, где говорится о сопоставлении параметров конфигурации для обеих систем, они должны совпадать. Ваша настройка междоменного отслеживания в администраторе Google Analytics 4 должна соответствовать настройкам Universal Analytics. Если этого не сделать, вы можете непреднамеренно повлиять на отслеживание пользователей и их сеансов.

Настройка с помощью функции связывания gtag.js

В 99% случаев для междоменного отслеживания в Google Analytics 4 рекомендуется использовать настройку через интерфейс. Однако, если вам нужно включить междоменное отслеживание в самом коде, вы должны использовать функцию связывания домена gtag.js, поскольку код GA4 - это глобальный тег сайта, и для него справедливы все настройки, которые описаны в библиотеке gtag.js.

Для этого необходимо создать объект linker, для которого требуется параметр domains, представляющий собой массив из одного или нескольких доменов. Этот код добавит параметр связывания _gl к ссылкам на странице, указывающей на целевой домен.

Изначально ваш код Google Analytics 4 имеет такой вид:

, где GA-TRACKING_ID - идентификатор вашего веб-потока.

На исходном домене (siteA.ru) внесите следующие изменения:

Или использовать такую конструкцию:

Вы можете добавить несколько значений в domains и использовать один и тот же фрагмент кода для каждого домена.

Приведенные выше конструкции подходят для двустороннего междоменного отслеживания, когда неизвестно, какой домен пользователь посетит первым, а какой вторым, либо же когда возможно перейти как с siteA.ru на siteB.ru, так и в обратном направлении. При двунаправленном отслеживании каждый домен может считаться и исходным, и целевым.

Если целевой домен настроен на автоматическое связывание доменов, он по умолчанию примет параметры компоновщика _gl. Дополнительный код в домене назначения не требуется. Если целевой домен не настроен на автоматическое связывание доменов, установите для параметра accept_incoming значение true.

Нижеприведенный код нужно разместить на целевом домене (siteB.ru):

Подробнее читайте в официальной документации Google.

Как вы уже знаете, есть различные способы настройки междоменного отслеживания. Клики по ссылкам с URL-адресом, содержащем параметр связывания _gl - это лишь один из способов. Есть еще отслеживание данных формы, которые отправляются между несколькими доменами. В Google Tag Manager за это отвечает тег с типом отслеживания Изменить внешний вид формы (Decorate Form), а если код устанавливается напрямую то используется параметр decorate_forms со значением true:

У данного вида отслеживания есть еще один параметр, который позволяет использовать в качестве разделителя решетку. В Google Tag Manager он задается просто - True или False. True - позволяет использовать решетку (#) вместо знака вопроса (?) для добавления значений cookie в URL, а False - оставляет знак вопроса в ссылке по умолчанию.

Чтобы настроить параметр связывания так, чтобы он отображался в URL-адресе после символа # (например, https://tagflower.ru#gl=1*2zy9m8*), установите параметр url_position со значением true:

Проверка работы междоменного отслеживания

Когда пользователь переходит с исходного сайта на целевой, в URL-адрес последнего должен содержаться параметр связывания _gl с некоторым значением, например, https://tagflower.ru/?_gl=1*1navq44*_ga*NzE5NDg4MTUxLjE2MzI5NDg5MDY.*_ga_4CTYPVJWV5*MTYzMjk0ODg2NS4xLjEuMTYzMjk0OTAyMy4yNQ.

URL целевого домена с параметром связывания

Если после всех проделанных настроек вы не видите данный параметр в ссылке, то, скорее всего, проблема именно в выполненных шагах настройки. Еще раз внимательно пройдите по ним и проверьте все. Если вы видите в исходном домене ссылки с некоторым параметром _ga, но после перехода на целевой домен она пропадает/теряется, вероятнее всего, проблема заключается в настройках вашего сервера. Вам нужно поручить задачу разработчику, чтобы он сохранял параметр запроса _ga на протяжении всего перенаправления. В Google Tag Manager это сделать не получится.

Проверить корректность работы междоменного отслеживания можно путем просмотра записанных файлов cookie. Для этого откройте панель разработчика и перейдите на вкладку Application (Приложение). Выберите Storage - Cookies и свой домен. Справа от меню откроется таблица со всеми доступнами файлами cookie. Найдите файл cookie _ga вашего основного домена (first-party cookie):

Основной файл cookie _ga исходного домена (пример - techniqa.ru)

Точно такие же действия проделайте на целевом домене:

Основной файл cookie _ga целевого домена (пример - tagflower.ru)

Если его значение точно такое же, как и исходного домена, значит все работает правильно.

Помимо сверки основных файлов cookie двух доменов, проверьте данные, которые отображаются в инструменте DebugView. Например, при переходе с сайта techniqa.ru на tagflower.ru параметры события page_view (просмотр страницы) выглядят так:

Параметры события page_view

На что следует обратить внимание?

  • в page_location (URL-адрес текущей страницы) должен отобразиться хвост с параметром связывания _gl, но без самого идентификатора. По всей видимости, он зашифрован и явно в отчете не отображается;
  • параметр ignore_referrer должен принять значение true, поскольку в ссылке присутствует параметр связывания, и Google Analytics 4 автоматически добавит данный домен в список нежелательных источников перехода;
  • значение параметра ga_session_id (идентификатор сеанса) на целевом домене должно быть точно таким же, как и на исходном. Это означает, что сеанс не был разорван и для GA4 это все тот же пользователь, что был на исходном сайте;
  • нет исходящего клика по ссылке исходного домена с источником перехода / referral.

Все эти триггеры подтверждают правильность выполненной настройки междоменного отслеживания.

Резюме

Как вы могли заметить, междоменное отслеживание в Google Analytics 4 настраивается намного проще, чем в Universal Analytics. Нет необходимости ни в диспетчере тегов Google, ни в помощи разработчика. Всего за несколько кликов вы можете начать самостоятельно отслеживать пользователей и связывать их действия на обоих ваших доменах в единое целое, не разрывая при этом сеанс и не меняя источника трафика.

Не забудьте, что вам не нужно устанавливать междоменное отслеживание, если вы работаете с поддоменами. Это необходимо ТОЛЬКО для двух совершенно разных сайтов. И чтобы междоменное отслеживание в GA4 работало правильно, для двух разных доменов должен использоваться один ресурс Google Analytics 4 и одинаковый идентификатор потока данных с префиксом G-.

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике