Как создать data layer для server-side Google Tag Manager

Автор
Stape
Опубликовано
October 23, 2021
Также есть

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

Раньше мы считали отслеживание веб-сайтов фронтендом, но отслеживание веб-сайтов становится все более сложным со всеми новыми ограничениями. Некоторые говорят, что отслеживание на стороне сервера станет новым стандартом.

Одним из самых простых и дешевых способов внедрения ss tagging является использование Google Tag Manager на стороне сервера. После того как вы настроите хостинг sGTM, следующим вопросом будет, как доставить данные в серверный GTM. Нужно ли создавать слой данных (data layer), подобный веб-контейнеру, или есть другой способ?

В этой статье я хочу рассказать о создании слоя данных для Google Tag Manager на стороне сервера.

Слой данных и источники данных для веб Google Tag ManagerСкопировать ссылку на этот раздел

В веб Google Tag Manager данные собираются со стороны клиента. Вы используете элементы DOM или соскабливаете данные с сайта с помощью селекторов CSS. Но в некоторых случаях эти методы могут быть нестабильными.

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

Как можно отправлять данные в Google Tag Manager на стороне сервера?Скопировать ссылку на этот раздел

В GTM на стороне сервера добавлен новый объект, который называется Client. Основная задача Client- преобразовывать данные запроса в данные события внутри GTM на стороне сервера.

Как Client понимает, какой запрос утверждать и обрабатывать? Он проверяет путь запроса. Например, Universal analytics отправляет запросы, содержащие /collect. Client просматривает путь входящих HTTP-запросов, и если путь запроса имеет свой "ключ", Client преобразует данные запроса в данные события в sGTM.

Другая важная цель sGTM Clients - обработка исходящих HTTP-запросов. Как только tag срабатывает в sGTM, Клиент отправляет исходящий HTTP-запрос, чтобы суммировать все запросы, отправленные каждым tag. Если с тегом произошла ошибка, вы увидите причину ошибки, если щелкните на исходящем HTTP-запросе и прокрутите вниз до текста ответа.

Позвольте мне показать пример. Для этого я буду использовать Data Tag/Data Client. В веб-контейнере GTM я настроил Data Tag, который отправляет запросы в серверный контейнер.

tag configuration

Путь запроса Data Tag содержит /data.

Data Tag 

В sGTM у меня есть Data Client, который прослушивает все запросы, содержащие /data во входящем HTTP-запросе. 

data client

В GTM на сервере есть два тега (GA4 и Klaviyo active on-site), которые срабатывают при каждом запросе Data Client, а имя события - page_vew. Давайте посмотрим, что происходит в GTM на сервере, когда он получает входящий запрос с /data и именем события page_view. Срабатывают оба тега, и Data Client отправляет исходящий HTTP-запрос. 

HTTP-запрос
HTTP-запрос

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

Если вы нажмете на данные события, вы увидите, какую информацию из входящих HTTP-запросов Data Client отобразил в данные события.

event data

Data layer для server-side Google Tag ManagerСкопировать ссылку на этот раздел

Data Layer не существует в Google Tag Manager на сервере в том виде, в котором мы привыкли его иметь в веб-Google Tag Manager. Обычно в sGTM вы создаете метки на основе данных о событиях и запрашиваемых данных.

Скорее всего, в ближайшие пару лет мы не сможем перейти только на отслеживание на стороне сервера. Тем временем будет использоваться гибридный подход - сочетание веб- и серверного отслеживания. Некоторые теги по-прежнему будут работать на стороне клиента (либо потому, что платформы пока не поддерживают ss-трекинг, либо просто потому, что их нельзя перенести на ss, это относится к таким инструментам, как HotJar), а другие теги будут устанавливаться на стороне сервера. Будет один тег/клиент, отвечающий за отправку конкретных данных или всего слоя данных из веба в серверный GTM-контейнер.

На схеме ниже показано, как работает процесс доставки данных в sGTM. Web GTM имеет слой данных, UA и пиксель FB, использующий веб-трекинг. Затем у нас есть тег GA4 на стороне сервера, который отвечает за доставку данных из web в серверный GTM. На основе данных, которые тег GA4 предоставляет sGTM, мы можем настроить ss Adwords и FB CAPI теги в GTM на сервере.

процесс доставки данных в sGTM

Как создать data layer для Google Tag Manager на стороне сервераСкопировать ссылку на этот раздел

На мой взгляд, два наиболее часто используемых метода отправки данных из веб на сервер GTM это:

  • Использование Google Analytics 4
  • Использование Data Tag/Data Client

1. Отправьте слой данных на серверный GTM с помощью Google Analytics 4.

Вы можете отправить свойства пользователя и параметры события из веб на сервер GTM с помощью GA4. Внутри веб-тега GA4 вы увидите предопределенные поля для этих данных, и вы можете добавить переменные слоя данных (data layer variables) к каждому параметру в отдельности. 

data layer variables

Google Analytics 4 и UA имеют разные стандарты слоя данных электронной коммерции (слой данных UA, слой данных GA4). Поэтому если у вас на сайте есть слой данных электронной коммерции, созданный для UA, убедитесь, что вы изменили его для GA4. Хорошо то, что вы можете использовать переменные в галерее шаблонов GTM, которые конвертируют события и переменные UA в стандарты GA4.

Этот вариант лучше всего подходит, если вы планируете настроить отслеживание на стороне сервера для Google Ads или Floodlight, поскольку эти два способа работают только на основе тегов GA4.

2. Используйте Data Tag/Data Client для отправки слоя данных с веб-сайта на сервер GTM.

Наиболее существенным преимуществом использования Data Tag/Data Client является то, что DT автоматически отправляет слой данных и другие общие данные из веб в серверный GTM. Если вы установите два флажка, Отправить общие данные и Отправить все из DataLayer, он будет анализировать данные в веб GTM и отправлять всю информацию, которую он может найти, на сервер GTM. Нет необходимости настраивать каждый параметр вручную.

tag configuration

Именно так вы увидите данные электронной коммерции в sGTM. Вы можете использовать переменную данных события (event data variable), чтобы извлечь их и использовать для серверных тегов, и у меня есть более подробный пост, в котором описывается Data Tag/Data Client.  

eCommerce data in the sGTM

Заключение:Скопировать ссылку на этот раздел

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

Теги:GTMgtm server

Хостите свой сервер GTM на Stape

Регистрируясь, вы соглашаетесь с Условиями использования и Политикой конфиденциальности Stape