Настройка контейнера "Server" в Google Tag Manager для Google Analytics 4

22 ноября, 2022

После того, как вы настроили конфигурацию пользовательского домена, вы можете перейти к первичной настройке контейнера Google Tag Manager типа Server для отслеживания просмотров страницы тега Google Analytics 4.

Примечание: процесс создания серверного контейнера диспетчера тегов Google подробно описан в этой статье, а первичная настройка контейнера Google Tag Manager типа Server для отслеживания просмотров страницы тега Universal Analytics разобрана в этом материале.

Настройка контейнера для Google Analytics 4 (на стороне клиента)

Чтобы отправлять данные в Google Analytics 4 на стороне сервера, необходимо перейти в обычный контейнер Google Tag Manager (не Server!) в раздел Теги и создать тег типа Google Аналитика: конфигурация GA4 (если не делали этого ранее):

Тег "Google Аналитика: конфигурация GA4"

Если в вашем контейнере такой тег уже есть, то создавать новый не нужно, достаточно его просто отредактировать. Поставить галочку напротив опции Отправлять в серверный контейнер, и в поле URL серверного контейнера вставьте соответствующий адрес, который вы ранее добавляли в настройках контейнера sGTM и добавляли в поле URL отправки для тега Universal Analytics:

Отправлять в серверный контейнер

Раньше такой настройки не было, поэтому в старых материалах на различных порталах вы могли встречать вариант добавления URL серверного контейнера через раздел Поля, которые необходимо задать и поле transport_url:

Название поля – transport_url

С появлением в теге Google Analytics 4 такой настройки отслеживание на стороне сервера значительно упростилось, поскольку вам не нужно запоминать как называется transport_url. Для URL серверного контейнера появилось отдельное поле.

Примечание: если ранее в теге GA4 вы настроили поле transport_url в разделе Поля, которые необходимо задать, очистите поле transport_url, и используйте настройку через простановку галочки.

Сохраните настройки тега и опубликуйте его.

Настройка контейнера для Google Analytics 4 (на стороне сервера)

После того, как вы создали тег Google Аналитика: конфигурация GA4 с отслеживанием просмотров страниц, и указали URL серверного контейнера в обычном контейнере GTM, пришло время вернуться в контейнер типа Server и создать для него тег на стороне сервера.

Перейдите в раздел Теги и создайте тег типа Google Аналитика: GA4:

Тег "Google Аналитика: GA4"

В открывшемся окне первым делом добавьте идентификатор потока данных вашего счетчика Google Analytics 4:

Идентификатор потока данных

Найти его можно в интерфейсе GA4, перейдя в раздел Администратор - Ресурс - Потоки данных:

Администратор - Ресурс – Потоки данных

Затем, выбрав свой веб-поток (для веб-сайта), в сведениях о потоке скопируйте его идентификатор:

Идентификатор потока данных

Чуть ниже в настройках тега есть опция удаления IP-адреса посетителя.

Удалить IP-адрес посетителя

Если изменить значение с false на true, то IP-адрес пользователя будет удален из события. Отчеты на основе этого события не будут включать географические данные.

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

Название события

Это делать необязательно, поскольку при отправке данных Google будет подставлять значение по умолчанию - event_name. Оставьте его пустым.

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

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

Поскольку вы настраиваете отслеживание на стороне сервера впервые, я не рекомендую менять настройки по умолчанию. Оставьте так, как есть (все отслеживания), и перейдите к настройке триггера.

Для созданного тега на стороне сервера необходимо задать триггер активации. В отличие от стандартного контейнера Google Tag Manager, где доступно 16 различных триггеров, в серверном контейнере можно создать только три типа триггеров:

  1. Просмотр страницы;
  2. Специальное событие;
  3. Специальные.

Триггеры

Поскольку в контейнере Google Tag Manager на стороне клиента в качестве примера был настроен тег Google Аналитика: конфигурация GA4, который активируется на всех страницах веб-сайта, вы можете выбрать тип триггера – All Pages (Просмотр страницы).

Конфигурация серверного тега GA4 (All Pages)

В завершение задайте название тегу и сохраните его.

Некоторое время назад в серверном контейнере Google Tag Manager был доступен только один тип триггера – Специальные. Поэтому настройка даже для самого простого отслеживания на стороне сервера была сложнее.

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

Условие активации триггера - Название клиента содержит GA4

Предварительный просмотр и отладка запросов сервера

После всех выполненных настроек рекомендуется запустить режим предварительного просмотра и провести отладку системы.

Перейдите в контейнер Google Tag Manager на стороне клиента и активируйте режим отладки:

Предварительный просмотр

Введите URL-адрес своего сайта и подключитесь. В окне предварительного просмотра вы увидите, как загрузится тег Google Analytics 4:

Активированный тег

Несмотря на то, что тег активировался на странице и имеет статус Succeeded, данные о просмотренной странице в Google Analytics 4 отправлены не будут, поскольку тег сначала отправляет данные в контейнер на стороне сервера, а не напрямую в Google Analytics. Помните про дополнительную настройку, связанную с простановкой галочки Отправлять в серверный контейнер и конечной точкой?

Нажав на сам тег, вы увидите его детали, в частности, URL серверного контейнера, который добавили в настройках тега:

URL серверного контейнера

Теперь перейдите в серверный контейнер Google Tag Manager и там активируйте режим предварительного просмотра:

Предварительный просмотр

В вашем браузере должна открыться отдельная вкладка с режимом отладки без каких-либо данных:

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

Откройте свой сайт и перейдите на какую-нибудь страницу (или просто обновите существующую), находясь при этом на вкладке режима отладки на стороне клиента и не закрывая вкладку режим предварительного просмотра на стороне сервера:

Отдельная вкладка

Вернитесь к окну предварительного просмотра серверного контейнера. Вы должны увидеть новые хиты (обращения), включая page_view (просмотр страницы), user_engagement (взаимодействие пользователя во время сеанса), и несколько события scroll (прокрутка), которые отслеживаются по умолчанию благодаря улучшенной статистики Google Analytics 4:

Событие page_view

Чтобы посмотреть данные об активированном теге Google Analytics 4, выберите на шкале событий событие page_view, затем перейдите на вкладку Тags (Теги) и нажмите на него:

Активированный тег

В нем будет представлена информация о некоторых настройках тега (удаление IP-адреса посетителя), об исходящем HTTP-запросе и условии активации:

Детали тега

На вкладке Variables (Переменные) будет также представлен список включенных переменных с их текущими значениями (все как в обычном контейнере Google Tag Manager):

Вкладка "Variables"

На вкладке Event Data (Данные о событии) отобразится информация, которая собирается и передается в инструмент конечной точки, например, в Google Analytics 4.

Вкладка "Event Data"

Например, вместе с просмотром страницы в Google Analytics 4 могут передаваться следующие данные о событии:

  • client_id – уникальный идентификатор пользователя;
  • event_name – название события;
  • ip_override – IP-адрес посетителя в формате IPv4 или IPv6;
  • language - язык в формате ISO 639-1;
  • page_encoding – кодировка текста страницы;
  • page_location – полный URL-адрес страницы документа;
  • page_title – заголовок страницы;
  • screen_resolution - разрешение экрана для устройства пользователя (width x height);
  • user_agent – User agent, идентификационная строка клиентского приложения.

Наряду со всеми данными о событии, которые отправляются в Universal Analytics, для Google Analytics 4 еще передается параметр ga_session_id (идентификатор сеанса) и ga_session_number (номер сеанса).

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

Таблица по данным о событиях

Если вы откроете вкладку Request (Запрос), то сможете проверить тег Universal Analytics. Вы также увидите данные клиента (Client), входящий HTTP-запрос (Incoming HTTP Request) и исходящий HTTP-запрос к серверу Google Analytics (Outgoing HTTP Requests from Server).

Вкладка "Request"

Вы можете нажать на каждый из них поочередно и увидеть детальную информацию. В этом примере:

  • Client – GA4;

Клиент (Client Details)

  • Outgoing HTTP Requests from Server (Исходящий HTTP-запрос)

Outgoing HTTP Requests

  • Incoming HTTP Request (Входящий HTTP-запрос)

Incoming HTTP Request

После того, как на шкале событий серверного контейнера вы увидите свой запрос, вы можете перейти в сам счетчик Google Analytics 4 и проверить передачу данных в режиме реального времени:

Отчет "В реальном времени"

А если вы откроете консоль разработчика и перейдете на вкладку Network (Google Chrome), то увидите, как HTTP-запрос отправляет данные не как раньше на конечную точку по https://analytics.google.com/g/collect, а сначала на ваш серверный контейнер https://serverside.osipenkov.ru/g/collect:

Request URL вашего серверного домена

Вот так на примере простого события page_view данные с вашего веб-сайта отправляются сначала в серверный контейнер, там обрабатываются, затем преобразовываются в событие, а после отправляются в конечный инструмент (Google Analytics 4).

Примечание: подробнее о том, что такое отслеживание на стороне клиента (Client-Side Tracking) и отслеживание на стороне сервера (Server-Side Tracking), читайте в этой статье.

Проверить активность вашего серверного контейнера можно и в интерфейсе Google Cloud Platform. Перейдите по ссылке https://console.cloud.google.com/appengine . Как только в App Engine данные начнут поступать, на вкладке Dashboard вы увидите динамику собственных HTTP-запросов с нужной разбивкой (1 час, 6 часов, 12 часов, 1 день и т.д.):

Запросы в App Engine

Под графиком также будет отображена таблица с текущей нагрузкой:

Таблицы с нагрузкой

Напротив нужного запроса вы можете нажать на View Traces, чтобы узнать о нем подробную информацию и произвести диагностику.

View Traces

Например, выбрав запрос /g/collect, вам откроется отдельная страница, на которой вы сможете детально изучить конкретный запрос, отправленный на ваш облачный сервер.

Запросы

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

Подробная информация о запросе

Ее легко сопоставить с HTTP-запросом, который был отображен в режиме отладки серверного контейнера Google Tag Manager.

Сравните строку /http/url (в Google Cloud) и Incoming HTTP Request (в Google Tag Manager):

Сравнение запросов (Google Tag Manager и Google Cloud)

Они одинаковые.

Совместное использование тегов UA и GA4 в серверном контейнере

Если вы используете оба тега Google Analytics (GA3 и GA4) для отслеживания и отправки данных в счетчик, тогда вам необходимо в условиях активации триггера просмотра страницы для каждого тега добавить дополнительное условие, чтобы запросы, отправляемые с вашего сервера, не дублировались, и теги активировались строго для нужных событий.

Для этого используйте пользовательскую переменную Название клиента и для каждого триггера задайте соответствующее условие:

  • Для Universal Analytics - Название клиента содержит Universal:

Название клиента содержит Universal

  • Для Google Analytics 4 – Название клиента содержит GA4:

Название клиента содержит GA4

Тогда каждый тег на стороне сервера будет срабатывать на нужные запросы.

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

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