Настройка контейнера "Server" в Google Tag Manager для Google Analytics 4
После того, как вы настроили конфигурацию пользовательского домена, вы можете перейти к первичной настройке контейнера 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 (если не делали этого ранее):
Если в вашем контейнере такой тег уже есть, то создавать новый не нужно, достаточно его просто отредактировать. Поставить галочку напротив опции Отправлять в серверный контейнер, и в поле URL серверного контейнера вставьте соответствующий адрес, который вы ранее добавляли в настройках контейнера sGTM и добавляли в поле URL отправки для тега Universal Analytics:
Раньше такой настройки не было, поэтому в старых материалах на различных порталах вы могли встречать вариант добавления 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 Analytics 4:
Найти его можно в интерфейсе GA4, перейдя в раздел Администратор - Ресурс - Потоки данных:
Затем, выбрав свой веб-поток (для веб-сайта), в сведениях о потоке скопируйте его идентификатор:
Чуть ниже в настройках тега есть опция удаления IP-адреса посетителя.
Если изменить значение с false на true, то IP-адрес пользователя будет удален из события. Отчеты на основе этого события не будут включать географические данные.
Вы также можете указать явно название события, которое планируете отслеживать с помощью данного тега. Для этого в поле Название события введите его название.
Это делать необязательно, поскольку при отправке данных Google будет подставлять значение по умолчанию - event_name. Оставьте его пустым.
Еще в теге вы можете выбрать только нужные параметры события или свойства пользователей, которые будут добавлены по умолчанию, а также исключить какие-то из них или вовсе изменить. Все это можно делать на уровне тега.
Поскольку вы настраиваете отслеживание на стороне сервера впервые, я не рекомендую менять настройки по умолчанию. Оставьте так, как есть (все отслеживания), и перейдите к настройке триггера.
Для созданного тега на стороне сервера необходимо задать триггер активации. В отличие от стандартного контейнера Google Tag Manager, где доступно 16 различных триггеров, в серверном контейнере можно создать только три типа триггеров:
- Просмотр страницы;
- Специальное событие;
- Специальные.
Поскольку в контейнере Google Tag Manager на стороне клиента в качестве примера был настроен тег Google Аналитика: конфигурация GA4, который активируется на всех страницах веб-сайта, вы можете выбрать тип триггера – All Pages (Просмотр страницы).
В завершение задайте название тегу и сохраните его.
Некоторое время назад в серверном контейнере Google Tag Manager был доступен только один тип триггера – Специальные. Поэтому настройка даже для самого простого отслеживания на стороне сервера была сложнее.
Например, чтобы передавать данные в Google Analytics 4, необходимо было конкретизировать какой при этом клиент будет использоваться с помощью пользовательской переменной Название клиента и дополнительным условием – содержит GA4 (по имени клиента):
Предварительный просмотр и отладка запросов сервера
После всех выполненных настроек рекомендуется запустить режим предварительного просмотра и провести отладку системы.
Перейдите в контейнер Google Tag Manager на стороне клиента и активируйте режим отладки:
Введите URL-адрес своего сайта и подключитесь. В окне предварительного просмотра вы увидите, как загрузится тег Google Analytics 4:
Несмотря на то, что тег активировался на странице и имеет статус Succeeded, данные о просмотренной странице в Google Analytics 4 отправлены не будут, поскольку тег сначала отправляет данные в контейнер на стороне сервера, а не напрямую в Google Analytics. Помните про дополнительную настройку, связанную с простановкой галочки Отправлять в серверный контейнер и конечной точкой?
Нажав на сам тег, вы увидите его детали, в частности, URL серверного контейнера, который добавили в настройках тега:
Теперь перейдите в серверный контейнер Google Tag Manager и там активируйте режим предварительного просмотра:
В вашем браузере должна открыться отдельная вкладка с режимом отладки без каких-либо данных:
Откройте свой сайт и перейдите на какую-нибудь страницу (или просто обновите существующую), находясь при этом на вкладке режима отладки на стороне клиента и не закрывая вкладку режим предварительного просмотра на стороне сервера:
Вернитесь к окну предварительного просмотра серверного контейнера. Вы должны увидеть новые хиты (обращения), включая page_view (просмотр страницы), user_engagement (взаимодействие пользователя во время сеанса), и несколько события scroll (прокрутка), которые отслеживаются по умолчанию благодаря улучшенной статистики Google Analytics 4:
Чтобы посмотреть данные об активированном теге Google Analytics 4, выберите на шкале событий событие page_view, затем перейдите на вкладку Тags (Теги) и нажмите на него:
В нем будет представлена информация о некоторых настройках тега (удаление IP-адреса посетителя), об исходящем HTTP-запросе и условии активации:
На вкладке Variables (Переменные) будет также представлен список включенных переменных с их текущими значениями (все как в обычном контейнере Google Tag Manager):
На вкладке Event Data (Данные о событии) отобразится информация, которая собирается и передается в инструмент конечной точки, например, в Google Analytics 4.
Например, вместе с просмотром страницы в 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).
Вы можете нажать на каждый из них поочередно и увидеть детальную информацию. В этом примере:
- Client – GA4;
- Outgoing HTTP Requests from Server (Исходящий HTTP-запрос)
- Incoming HTTP Request (Входящий HTTP-запрос)
После того, как на шкале событий серверного контейнера вы увидите свой запрос, вы можете перейти в сам счетчик Google Analytics 4 и проверить передачу данных в режиме реального времени:
А если вы откроете консоль разработчика и перейдете на вкладку Network (Google Chrome), то увидите, как HTTP-запрос отправляет данные не как раньше на конечную точку по https://analytics.google.com/g/collect, а сначала на ваш серверный контейнер https://serverside.osipenkov.ru/g/collect:
Вот так на примере простого события 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 день и т.д.):
Под графиком также будет отображена таблица с текущей нагрузкой:
Напротив нужного запроса вы можете нажать на View Traces, чтобы узнать о нем подробную информацию и произвести диагностику.
Например, выбрав запрос /g/collect, вам откроется отдельная страница, на которой вы сможете детально изучить конкретный запрос, отправленный на ваш облачный сервер.
Выбрав его из списка (если запросов было несколько), чуть ниже станет доступна информация о нем:
Ее легко сопоставить с HTTP-запросом, который был отображен в режиме отладки серверного контейнера Google Tag Manager.
Сравните строку /http/url (в Google Cloud) и Incoming HTTP Request (в Google Tag Manager):
Они одинаковые.
Совместное использование тегов UA и GA4 в серверном контейнере
Если вы используете оба тега Google Analytics (GA3 и GA4) для отслеживания и отправки данных в счетчик, тогда вам необходимо в условиях активации триггера просмотра страницы для каждого тега добавить дополнительное условие, чтобы запросы, отправляемые с вашего сервера, не дублировались, и теги активировались строго для нужных событий.
Для этого используйте пользовательскую переменную Название клиента и для каждого триггера задайте соответствующее условие:
- Для Universal Analytics - Название клиента содержит Universal:
- Для Google Analytics 4 – Название клиента содержит GA4:
Тогда каждый тег на стороне сервера будет срабатывать на нужные запросы.