Server-Side Google Tag Manager (sGTM) – это платформа управления тегами, которая позволяет перенести логику сбора и обработки данных с браузера пользователя на сервер. Вместо того, чтобы отправлять данные непосредственно с веб-сайта или приложения к сторонним платформам (например, Google Analytics, Facebook Pixel), данные сначала отправляются на ваш сервер, где они обрабатываются, трансформируются и только потом отправляются в нужные системы. Это дает больше контроля над данными, повышает безопасность и улучшает производительность сайта.
Основные отличия от классического GTM
Классический (Client-Side) GTM работает непосредственно в браузере пользователя. Это означает, что все теги (скрипты) выполняются на стороне клиента. sGTM переносит выполнение тегов на сервер, что уменьшает нагрузку на браузер и обеспечивает большую гибкость в обработке данных.
Основные различия:
- Место выполнения: Браузер vs. Сервер
- Контроль данных: Ограниченный vs. Полный
- Производительность: Может замедлять сайт vs. Улучшает производительность
- Безопасность: Уязвимости к сторонним скриптам vs. Более высокий уровень безопасности
Преимущества использования sGTM
- Повышение производительности сайта: Уменьшение количества сторонних скриптов, выполняемых в браузере, ускоряет загрузку страниц.
- Улучшенный контроль над данными: Возможность фильтрации, обогащения и трансформации данных перед отправкой их в сторонние сервисы.
- Повышение безопасности: Защита данных пользователей и сайта от нежелательных скриптов.
- Уменьшение зависимости от блокировщиков рекламы: Некоторые блокировщики рекламы не блокируют запросы к вашему серверу.
- Централизованное управление данными: Управление всеми тегами и данными в одном месте.
Недостатки и ограничения Server-Side GTM
- Сложность настройки: Требуются технические навыки для настройки и обслуживания сервера.
- Стоимость: Использование облачных платформ может потребовать дополнительных затрат.
- Необходимость поддержки: Требуется мониторинг и обслуживание сервера.
- Задержка данных: Появляется небольшая задержка из-за дополнительного этапа обработки на сервере.
Когда стоит переходить на Server-Side GTM?
Переход на sGTM рекомендуется, если:
- Ваш сайт испытывает проблемы с производительностью из-за большого количества тегов.
- Вам необходим больший контроль над собираемыми данными.
- Вы хотите повысить безопасность своего сайта.
- Вы используете сложные сценарии отслеживания, требующие обработки данных на сервере.
Подготовка к настройке Server-Side GTM
Выбор облачной платформы (Google Cloud Platform, другие)
sGTM требует наличия сервера для обработки данных. Вы можете использовать:
- Google Cloud Platform (GCP): Самый популярный вариант, интегрированный с GTM. Обеспечивает масштабируемость и надежность.
- Другие облачные платформы: AWS, Azure и другие. Требуют большей настройки, но могут быть более гибкими.
Пример конфигурации в GCP (очень упрощенно):
- Создайте проект в GCP.
- Настройте App Engine или Cloud Functions для обработки запросов.
- Разверните серверный контейнер GTM.
Настройка серверного контейнера в Google Tag Manager
- В интерфейсе GTM создайте новый контейнер.
- Выберите тип контейнера «Сервер».
- Следуйте инструкциям по настройке, предоставленным GTM, для подключения к выбранной облачной платформе.
Настройка домена для Server-Side GTM
Рекомендуется использовать поддомен для серверного контейнера (например, sgtm.example.com). Это позволяет:
- Разделить трафик между сайтом и сервером.
- Улучшить безопасность.
- Избежать проблем с CORS.
Для этого нужно добавить CNAME запись в настройках DNS вашего домена, указывающую на предоставленный Google (или другим провайдером) адрес сервера.
Настройка Server-Side GTM
Создание и настройка клиента (Client)
Client – это компонент, который принимает входящие запросы от вашего сайта или приложения. Необходимо создать клиент для каждого типа входящих данных (например, GA4, Universal Analytics, Custom). Клиент разбирает входящий запрос и преобразует его в событие, которое затем может быть обработано тегами.
Пример настройки клиента GA4:
- Создайте новый клиент.
- Выберите тип клиента «Google Analytics 4».
- Настройте триггеры для активации клиента (например, на все страницы).
Создание и настройка тегов (Tags) в серверном контейнере
Теги выполняют определенные действия на сервере, такие как отправка данных в сторонние сервисы. Теги активируются триггерами.
Пример тега для отправки данных в Google Analytics 4:
- Создайте новый тег.
- Выберите тип тега «Google Analytics: GA4 Event».
- Настройте параметры тега (например,
event_name,event_params). - Укажите триггер для активации тега (например, событие, созданное клиентом GA4).
Создание и настройка триггеров (Triggers)
Триггеры определяют, когда должны активироваться теги. Триггеры основываются на событиях, созданных клиентами.
Пример триггера для активации тега GA4:
- Создайте новый триггер.
- Выберите тип триггера «Custom Event».
- Укажите имя события (например,
ga4).
Настройка переменных (Variables) в серверном контейнере
Переменные позволяют получать данные из событий, запросов и других источников. Они используются в тегах и триггерах.
Пример переменной для получения User-Agent:
- Создайте новую переменную.
- Выберите тип переменной «Request Header».
- Укажите имя заголовка «User-Agent».
Перенос существующих тегов в Server-Side GTM
Стратегия переноса тегов
Рекомендуется переносить теги постепенно, начиная с наиболее важных. Сначала настройте sGTM для основных сервисов (например, GA4, Facebook Pixel), а затем переносите остальные теги.
Миграция Google Analytics 4 (GA4)
- Создайте клиент GA4 в sGTM.
- Настройте тег GA4 для отправки данных в Google Analytics 4.
- Проверьте, что данные корректно собираются в GA4.
- Удалите теги GA4 из клиентского GTM.
Миграция Facebook Pixel
- Создайте клиент для Facebook Pixel (можно использовать Custom Template).
- Настройте теги для отправки событий Facebook Pixel.
- Проверьте, что события корректно регистрируются в Facebook.
- Удалите Facebook Pixel из клиентского GTM.
Тестирование и отладка перенесенных тегов
Используйте режим предварительного просмотра в GTM для тестирования тегов. Убедитесь, что данные отправляются корректно и без ошибок. Используйте инструменты отладки, предоставляемые облачной платформой, для мониторинга логов сервера.
Продвинутые настройки и возможности Server-Side GTM
Настройка Content Security Policy (CSP)
CSP позволяет контролировать, какие ресурсы может загружать ваш сайт. Настройка CSP для sGTM повышает безопасность и предотвращает загрузку нежелательных скриптов.
Использование собственных функций и API
Вы можете использовать собственные функции и API для обработки данных на сервере. Это позволяет реализовать сложные сценарии отслеживания и интеграции с другими системами.
Пример функции для хеширования email адреса (Node.js, упрощенно):
/**
* Hashing email address using SHA256
* @param {string} email User's email address
* @returns {string} Hashed email address
*/
function hashEmail(email) {
if (typeof email !== 'string') {
return null; // Or throw an error, depending on requirements
}
const crypto = require('crypto');
const hash = crypto.createHash('sha256');
hash.update(email.toLowerCase().trim());
return hash.digest('hex');
}
// Example usage
const userEmail = 'test@example.com';
const hashedEmail = hashEmail(userEmail);
console.log(`Hashed email: ${hashedEmail}`);
Работа с User-ID и данными авторизованных пользователей
sGTM позволяет безопасно обрабатывать User-ID и другие данные авторизованных пользователей. Это позволяет улучшить точность отслеживания и персонализацию.
Отладка и мониторинг Server-Side GTM
Регулярно проверяйте логи сервера на наличие ошибок. Используйте инструменты мониторинга, предоставляемые облачной платформой, для отслеживания производительности сервера. GTM предоставляет инструменты предварительного просмотра и отладки, но мониторинг на стороне сервера тоже важен.