Как полностью перенести Google Tag Manager на собственный сервер?
Хотите перенести функционал Google Tag Manager (GTM) на собственный сервер? Следуйте этому руководству, чтобы загрузка скриптов проходила через ваш поддомен, например, gtm.example.com. Это обеспечит независимость от внешних сервисов и соответствие требованиям законодательства РФ.
Благодарим команду DataGo за подготовку технического материла.
Почему нужно мигрировать GTM на локальный сервер?
1. Безопасность данных: Управляйте хранением конфигураций, триггеров и переменных без передачи их на удаленные серверы.
2. Автономность: Ваша аналитическая система продолжит работать даже при ограничении доступа к зарубежным сервисам.
3. Производительность
Веб-страницы будут загружаться быстрее благодаря локальной обработке, а объем хранилища увеличится.
4. Соблюдение регуляторных норм: Отключите прямые запросы к зарубежным серверам и выполните требования Роскомнадзора.
Как подключить серверный GTM
Алгоритм настройки включает 5 основных этапов:
1. Создание поддоменов для работы (gtm.domain.ru — продакшн, gtm-preview.domain.ru — предварительный просмотр).
2. Настройка серверного контейнера через GTM-интерфейс и генерация зашифрованной строки конфигурации.
3. Установка Docker и развертывание образа gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable с настройкой параметров для prod и preview-режимов.
4. Интеграция с веб-контейнером через указание новых эндпоинтов.
5. Замена стандартного кода GTM на ссылку на локальный поддомен в коде сайта.
Этап 1: Подготовка доменов
Для корректной работы режима предварительного просмотра создайте 2 поддомена:
— gtm.domain.ru — для основного рабочего контейнера.
— gtm-preview.domain.ru — для тестирования изменений перед публикацией.
Этап 2: Настройка контейнера
В GTM:
- Создайте серверный контейнер.
- Добавьте серверные теги вручную, заполучив base64-строку конфигурации.
- Задайте URL preview-поддомена в настройках контейнера.
Этап 3: Работа с Docker
Пример docker-compose.yml:
services: gtm-prod: environment: — RUN_AS_PREVIEW_SERVER=false … gtm-preview: environment: — RUN_AS_PREVIEW_SERVER=true — PREVIEW_SERVER_URL=https://gtm-preview.domain.ru ...
Требования для стабильной работы
- Распределенная архитектура с балансировкой нагрузки.
- Минимум 2 сервера для отказоустойчивости.
- Автоматическое масштабирование ресурсов.
- Наличие SSL-сертификатов для обоих поддоменов.
Интеграция в код сайта
Замените стандартный код GTM на:
<script>… j.src='https://gtm.domain.ru/gtm.js?id=GTM-XXXXXXXX' ...</script> <noscript>… src=«<a href="https://gtm.domain.ru/ns.html?id=GTM-XXXXXXXX">gtm.domain.ru/ns.html?id=GTM-XXXXXXXX</a>'" ...</noscript>
Дополнительные материалы:
Конфигурация Nginx и инструкции из официальной документации Google:
- Настройка HTTPS-сертификатов через Let's Encrypt
- Руководство по настройке серверных эндпоинтов