Что такое добавление тегов на стороне сервера?
Добавление тегов – это размещение на сайте фрагментов кода, позволяющих собирать данные для собственной или сторонней команды маркетологов или отправлять их в такой сервис, как Google Аналитика.
Серверные и веб-контейнеры Менеджера тегов
До того как появилась возможность добавлять теги на стороне сервера, единственным доступным вариантом было их размещение и выполнение на стороне клиента. Заменяют ли теги на стороне сервера теги на стороне клиента?
Ответ – нет, но они могут значительно расширить возможности тегов на стороне клиента. Добавление тегов на стороне сервера создает дополнительный уровень контроля между пользователем и поставщиком маркетинговых услуг. Это позволяет вам контролировать, какие именно данные получают поставщики.
Дополнительные преимущества:
- Увеличивается скорость загрузки страниц, так как значительно уменьшается количество стороннего кода, загружаемого в браузере пользователя.
- Можно применять более строгие правила Content Security Policy, поскольку браузеру не нужно напрямую взаимодействовать с доменами поставщиков.
- Повышается конфиденциальность, так как персональные данные, например IP-адрес пользователя, можно исключить из сведений, отправляемых поставщику.
- Можно повысить безопасность и увеличить время хранения файлов cookie, поскольку они устанавливаются в вашем собственном домене, а не с помощью JavaScript на странице.
Различия между серверными и веб-контейнерами
Серверные контейнеры | Веб-контейнеры |
---|---|
Серверные контейнеры работают на сервере. | Веб-контейнеры работают в браузере. |
Серверные контейнеры обрабатывают HTTP-запросы. | Веб-контейнеры используют уровень данных. |
Серверные контейнеры используют только изолированный код JavaScript. | Веб-контейнеры могут развертывать HTML-теги и выполнять во время работы собственный код JavaScript. |
Серверные контейнеры могут требовать затрат на обслуживание серверной среды. | Веб-контейнеры бесплатны. |
Как работает добавление тегов на стороне сервера
В рамках этого курса мы будем считать, что теги нужно помещать в серверный контейнер Менеджера тегов.
Серверный контейнер – это приложение JavaScript, которое работает в серверной среде выполнения Node.js.
Приложение упаковывается и распространяется в виде образа Docker. Это значит, что оно совместимо со многими серверными средами и облачными сервисами.
Серверный контейнер работает вместе с веб-контейнером Менеджера тегов или библиотекой gtag.js. В клиентских библиотеках есть механизмы для сбора данных из веб-браузера и их отправки в среду добавления тегов на стороне сервера.
![Диаграмма, на которой показано, как взаимодействуют клиент GA4 и веб-контейнер](https://developers-dot-devsite-v2-prod.appspot.com/static/tag-platform/learn/images/how-sst-works.png?authuser=8&hl=ru)
Термин | Определение |
---|---|
Клиент | Клиент – это ресурс Менеджера тегов, доступный только в серверных контейнерах. Основная задача клиента – обработать входящий HTTP-запрос и создать объект данных о событии, который будет использоваться тегами. Каждый входящий HTTP-запрос может поступить на обработку только одному клиенту. К другим клиентам этот же запрос не попадает. |
Запрос | Запросом называется HTTP-запрос, который отправляется серверному контейнеру. Это единственный способ послать контейнеру команду на обработку данных. Выполнив задачу, серверный контейнер направит источнику HTTP-запроса ответ. |
Данные о событии | Клиент преобразует входящий HTTP-запрос в стандартизированный формат данных о событии. Данные о событии аналогичны "уровню данных" в веб-контейнере. Созданные объекты данных о событиях можно использовать для активации серверных тегов и дополнения собираемых сведений. |
Триггеры | Триггеры в серверном контейнере всегда связаны с объектом данных о событии, созданным клиентом. Поэтому, к примеру, нет триггеров click или scroll . |
Теги | Теги могут использоваться только в том случае, если клиент создает объект данных о событии. Это делают не все клиенты, поэтому вы должны знать, как они работают, когда устанавливаете их в серверном контейнере. Встроенный клиент Google Аналитики 4 (GA4), который мы будем использовать в этом пошаговом руководстве, создает стандартизированный объект данных о событии, который упрощает активацию тегов при входящем запросе GA4. |
Переменные | Переменные в серверном контейнере обычно ссылаются на элементы в объекте данных о событии. Вы можете настроить переменные таким образом, чтобы значения (например, заголовок запроса) извлекались непосредственно из входящего HTTP-запроса. Для более тонкой настройки можно также создавать пользовательские шаблоны. |
Где нужно размещать теги?
Если с помощью тегов, развернутых в среде добавления тегов на стороне сервера, вы хотите собирать информацию о действиях пользователей на веб-странице или в приложении, то некоторые теги все равно должны выполняться в браузере или приложении. Поскольку серверный контейнер работает на сервере, у него нет доступа к тому, что происходит на веб-странице или в приложении. Он обменивается данными с контейнером, размещенным на веб-странице или в приложении, при помощи сетевых запросов.
Например, если вы хотите собирать данные о взаимодействиях пользователей с веб-страницей, таких как клики, прокрутки и действия с формами, для отправки этой информации в конечную точку среды добавления тегов на стороне сервера вам по-прежнему нужен тег конфигурации GA4, выполняемый в веб-браузере. А если, к примеру, вы хотите собирать данные о специальных событиях, связанных с действиями на сайте, вам нужно поместить тег события GA4 в веб-контейнер Менеджера тегов.
Резюме
Серверный контейнер дополняет функции веб-контейнера. Он облегчает соблюдение требований в отношении конфиденциальности и повышает эффективность вашего сайта. Если работа тега зависит от действий, выполняемых в браузере пользователя, поместите его в веб-контейнер. Все остальные теги можно запускать в серверном контейнере.