
Хотите перенести функционал 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
- Руководство по настройке серверных эндпоинтов
