Что такое добавление тегов на стороне сервера?

Добавление тегов – это размещение на сайте фрагментов кода, позволяющих собирать данные для собственной или сторонней команды маркетологов или отправлять их в такой сервис, как Google Аналитика.

Серверные и веб-контейнеры Менеджера тегов

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

Ответ – нет, но они могут значительно расширить возможности тегов на стороне клиента. Добавление тегов на стороне сервера создает дополнительный уровень контроля между пользователем и поставщиком маркетинговых услуг. Это позволяет вам контролировать, какие именно данные получают поставщики.

Дополнительные преимущества:

  • Увеличивается скорость загрузки страниц, так как значительно уменьшается количество стороннего кода, загружаемого в браузере пользователя.
  • Можно применять более строгие правила Content Security Policy, поскольку браузеру не нужно напрямую взаимодействовать с доменами поставщиков.
  • Повышается конфиденциальность, так как персональные данные, например IP-адрес пользователя, можно исключить из сведений, отправляемых поставщику.
  • Можно повысить безопасность и увеличить время хранения файлов cookie, поскольку они устанавливаются в вашем собственном домене, а не с помощью JavaScript на странице.

Различия между серверными и веб-контейнерами

Серверные контейнеры Веб-контейнеры
Серверные контейнеры работают на сервере. Веб-контейнеры работают в браузере.
Серверные контейнеры обрабатывают HTTP-запросы. Веб-контейнеры используют уровень данных.
Серверные контейнеры используют только изолированный код JavaScript. Веб-контейнеры могут развертывать HTML-теги и выполнять во время работы собственный код JavaScript.
Серверные контейнеры могут требовать затрат на обслуживание серверной среды. Веб-контейнеры бесплатны.

Как работает добавление тегов на стороне сервера

В рамках этого курса мы будем считать, что теги нужно помещать в серверный контейнер Менеджера тегов.
Серверный контейнер – это приложение JavaScript, которое работает в серверной среде выполнения Node.js.
Приложение упаковывается и распространяется в виде образа Docker. Это значит, что оно совместимо со многими серверными средами и облачными сервисами.

Серверный контейнер работает вместе с веб-контейнером Менеджера тегов или библиотекой gtag.js. В клиентских библиотеках есть механизмы для сбора данных из веб-браузера и их отправки в среду добавления тегов на стороне сервера.


Диаграмма, на которой показано, как взаимодействуют клиент GA4 и веб-контейнер
Термин Определение
Клиент Клиент – это ресурс Менеджера тегов, доступный только в серверных контейнерах.

Основная задача клиента – обработать входящий HTTP-запрос и создать объект данных о событии, который будет использоваться тегами.

Каждый входящий HTTP-запрос может поступить на обработку только одному клиенту. К другим клиентам этот же запрос не попадает.
Запрос Запросом называется HTTP-запрос, который отправляется серверному контейнеру. Это единственный способ послать контейнеру команду на обработку данных. Выполнив задачу, серверный контейнер направит источнику HTTP-запроса ответ.
Данные о событии Клиент преобразует входящий HTTP-запрос в стандартизированный формат данных о событии.

Данные о событии аналогичны "уровню данных" в веб-контейнере. Созданные объекты данных о событиях можно использовать для активации серверных тегов и дополнения собираемых сведений.
Триггеры Триггеры в серверном контейнере всегда связаны с объектом данных о событии, созданным клиентом. Поэтому, к примеру, нет триггеров click или scroll.
Теги Теги могут использоваться только в том случае, если клиент создает объект данных о событии. Это делают не все клиенты, поэтому вы должны знать, как они работают, когда устанавливаете их в серверном контейнере.

Встроенный клиент Google Аналитики 4 (GA4), который мы будем использовать в этом пошаговом руководстве, создает стандартизированный объект данных о событии, который упрощает активацию тегов при входящем запросе GA4.
Переменные Переменные в серверном контейнере обычно ссылаются на элементы в объекте данных о событии. Вы можете настроить переменные таким образом, чтобы значения (например, заголовок запроса) извлекались непосредственно из входящего HTTP-запроса. Для более тонкой настройки можно также создавать пользовательские шаблоны.

Где нужно размещать теги?

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

Например, если вы хотите собирать данные о взаимодействиях пользователей с веб-страницей, таких как клики, прокрутки и действия с формами, для отправки этой информации в конечную точку среды добавления тегов на стороне сервера вам по-прежнему нужен тег конфигурации GA4, выполняемый в веб-браузере. А если, к примеру, вы хотите собирать данные о специальных событиях, связанных с действиями на сайте, вам нужно поместить тег события GA4 в веб-контейнер Менеджера тегов.

Резюме

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