- Другое 1
Как настроить серверный контейнер GTM — пошаговая инструкция
Размещение тегов GTM на стороне сервера дает ряд преимуществ: скорость загрузки сайта выше, выше безопасность хранения информации и конфиденциальность пользовательских данных. Пошаговым руководством по настройке серверного контейнера делится веб-аналитик компании «Реаспект» Руслан Фатхутдинов.
В прошлой статье «Серверное добавление тегов в Google Tag Manager» я подробно ответил на вопросы, что такое серверное добавление тегов, почему его стоит использовать, какие у него есть преимущества (например, установка first-party cookie, полное избавление от спама по Measurement Protocol) и недостатки (например, высокая стоимость, отсутствие поддержки сторонних сервисов).
Если вы работаете с инструментами веб-аналитики, советую ознакомиться с той статьей в первую очередь.
В этом руководстве я пошагово разберу процесс настройки серверного контейнера.
- Требования
- Шаг 1. Создание серверного контейнера
- Шаг 2. Настройка сервера тегов
- Шаг 3. Настройка пользовательского домена
- Шаг 4. Настройка отправки данных в серверный контейнер через веб-контейнер
- Шаг 5: Подключение продакшн-сервера
- Стоимость
Требования
Чтобы все получилось, достаточно иметь:
-
Добавленный на сайт скрипт Google Analytics (GA4 и/или Universal Analytics). Он может быть установлен через gtag.js или веб-версию GTM-контейнера (рекомендуемый вариант).
-
Биллинг-аккаунт в Google Cloud Platform. Подойдет даже аккаунт с нулевым балансом.
-
Доступ на внесение записей в DNS вашего домена.
Шаг 1. Создание серверного контейнера
В личном кабинете Google Tag Manager нужно создать аккаунт и серверный контейнер.
Исходим из того, что у вас уже создан аккаунт и веб-версия контейнера для сайта. Остается создать серверный контейнер. Для этого перейдите на вкладку «Администрирование» и нажмите на плюс в правой части экрана.
В открывшемся окне укажите название контейнера, а в списке целевых платформ выберите Server.
Шаг 2. Настройка сервера тегов
После создания контейнера откроется окно с настройками сервера для контейнера тегов. Если закрыть окно, то снова открыть его можно, нажав на ID контейнера вверху рабочей области.

Второй способ открыть окно с настройками сервера — перейти на вкладку «Администрирование» и нажать на ссылку «Настройка контейнера» или «Установить Google Менеджер тегов».

Google предлагает два способа настройки сервера тегов: автоматически и вручную.

В этом руководстве я остановлюсь на автоматической настройке серверов.
О том, как настроить сервер вручную, можно прочитать в справке Google для разработчиков. Этот способ будет интересен тем, кто хочет развернуть сервер на стороннем облачном ресурсе, например, на Amazon Web Services.
Нажмите кнопку «Подготавливать сервер тегов к работе автоматически», и откроется окно создания платежного аккаунта.

Если платежный аккаунт уже был создан, можно выбрать его.

Процесс добавления сервера обычно занимает от трех до пяти минут.
Когда процесс завершится, откроется окно с информацией о сервере.

В полях показана информация:
-
Настройка контейнера: ID настроек контейнера.
-
Идентификатор проекта Google Cloud Platform: ID проекта в Google Cloud Platform. Если на него нажать, откроется окно проекта в GCP.
-
Кем создан: аккаунт, который создал контейнер.
-
URL по умолчанию: адрес эндпоинта, в который будут отправляться запросы. По умолчанию для таких серверов используется субдомен App Engine.
Проверка работы
На этом этапе уже можно запустить режим предварительного просмотра и проверить, правильно ли настроен серверный контейн
1. Создайте клиент типа «Google Analytics: Universal Analytics». Обычно этот клиент и клиент типа «Google Analytics: GA4» создаются автоматически при настройке сервера. Пример настройки:
-
Название: Universal Analytics.
-
Приоритет: 0.
-
Пути Universal Analytics по умолчанию: активно.

2. Создайте триггер, который будет запускаться на события от клиента, созданного на предыдущем шаге. Пример настройки:
-
Название: CE — All Events — UA.
-
Тип триггера: Специальные.
-
Условия активации: Client name (это встроенная переменная). Содержит Universal Analytics (или другое название, которое вы дали соответствующему клиенту).

3. Создайте тег отправки данных в Universal Analytics. Пример настройки:
-
Название: UA — Pageviews & All events.
-
Триггер: созданный на предыдущем шаге.

-
Первое поле (версия Measurement Protocol, параметр v): актуальная версия «1». Это значение и надо оставить.
-
Вторая строка (тип обращения, параметр t): выбрать pageview.
-
Третья строка (ID счетчика Google Analytics, в который будут отправлены данные, параметр tid): выбрать любой доступный счетчик.
-
Четвертая строка (Client ID посетителя, параметр cid): можно указать любой набор символов.
-
Пятая строка (обязательно добавляется нажатием кнопки ADD PARAMETR, указывается параметр dt, заголовок страницы) — можно указать любой набор символов.
Список всех параметров, которые можно передать, доступен в справке Google.

5. Проверьте на корректность запрос для Measurement Protocol (пейлоад), нажав на кнопку VALIDATE HIT в окне выше. Если запрос собран верно, в окне появится надпись Hit is valid.

6. В серверном контейнере запустите окно предварительного просмотра, а в новом окне откройте ссылку вида: {{URL по умолчанию}}/collect?{{Собранный payload}}. Откроется темный экран, в окне предварительного просмотра появится отправленный хит.
Пример ссылки:
https://gtm-n72qsh2-odeyo.uc.r.appspot.com/collect?v=1&t=pageview&tid=UA-69174424-2&cid=GA1.1.2104572378.1634286903&dp=https%3A%2F%2Fwww.reaspekt.ru%2Fsgtm%2F

Шаг 3. Настройка пользовательского домена
Одна из основных причин, по которой сейчас многие переходят на серверный GTM, — продление жизни cookie Google Analytics. Это возможно, если cookie установлены в контексте одного домена (first-party). То есть cookie должны устанавливаться либо самим сайтом, либо его поддоменами. Поэтому рекомендуется добавить свой домен для работы с серверным контейнером.
Чтобы делегировать свой домен для работы с серверным контейнером, зайдите в личный кабинет Google Cloud Platform. В списке проектов выберите проект для серверного контейнера.

В левой части выберите App Engine и Settings. Если выбора инструментов нет, нажмите на кнопку-«гамбургер».

Откроется окно, перейдите в нем на вкладку Custom domain и нажмите на кнопку Add a custom domain.

В поле Select the domain you want to use выберите домен (если он был добавлен ранее) или добавьте новый домен для подтверждения.
В поле Point your domain to оставьте добавленный домен. Вариант с www можно убрать.

Из поля Update your DNS records to enable security возьмите DNS и пропишите в настройках домена. В течение 24 часов данные в Google по DNS автоматически обновятся и подтвердятся.

После подтверждения домена нужно указать его в настройках контейнера как основной URL. Для этого перейдите в раздел «Администрирование», далее — в «Настройки контейнера» и в поле «URL серверного контейнера» пропишите добавленный домен. Сделать это нужно с указанием протокола и без слеша на конце.

Шаг 4. Настройка отправки данных в серверный контейнер через веб-контейнер
Теперь нужно активировать отправку запросов к счетчикам Google Analytics через созданный серверный контейнер. Для этого в серверном контейнере:
1. Создайте клиенты (обычно создаются автоматически при создании контейнера; или, если вы проверяли работу серверного контейнера, как описано выше, они тоже должны быть созданы):
-
Universal Analytics.
-
GA4.
2. Создайте триггеры для событий Universal Analytics:
-
Тип: Специальный.
-
Условия: Client Name содержит Universal Analytics.

3. Создайте триггеры для событий GA4:
-
Тип: Специальный.
-
Условия: Client Name содержит GA4.

4. Создайте теги для отправки событий в соответствующие сервисы:
-
Google Analytics: GA4.
-
Идентификатор потока: ID контейнера GA4.
-
Название события: page_view.
-
Триггер: созданный на предыдущем шаге триггер для активации на события Google Analytics 4.
-

-
Google Analytics: Universal Analytics.
-
Триггер: созданный на предыдущем шаге триггер для активации на события Universal Analytics.
-

Рассмотрим пример, в котором счетчики Google Analytics 4 и Universal Analytics у вас настроены через веб-контейнер GTM.
1. В переменной типа Google Analytics: Universal Analytics в разделе «Расширенная конфигурация» укажите в поле «URL для отправки» адрес добавленного сайта.

2. В теге типа Google Analytics: конфигурация GA4 установите галочку в блоке «Отправить в серверный контейнер» и укажите URL добавленного сайта.

После внесения этих изменений опубликуйте оба контейнера.
Если все было сделано правильно, вы увидите все отправленные запросы при запуске режима предварительного просмотра в серверном контейнере и заходе на сайт.

Шаг 5: Подключение продакшн-сервера
По умолчанию при автоматическом создании серверного контейнера создается тестовая конфигурация, которая подходит для предварительного просмотра и проверки контейнера в GTM. Она не выдержит большого потока трафика, поэтому перед началом использования сервера рекомендуем перевести его на рабочую конфигурацию.
Чтобы перейти на рабочую конфигурацию, зайдите в личный кабинет Google Cloud Platform и в верхней правой части экрана нажмите крайнюю слева иконку — Shell. Запустится командная строка, в которой можно провести все требуемые настройки.

Важно! Перед внесением изменений убедитесь, что выбранный в Shell проект соответствует проекту, для которого вы хотите настроить сервер. Для этого в верхней панели нажмите на иконку выбора проекта — ID проекта должен совпадать с активным в Shell.

Чтобы сменить проект, введите команду:
gcloud config set project project-id-here
Чтобы запустить процесс переноса на рабочую конфигурацию:
-
Скопируйте из справки Google команду скрипта и вставьте в окно терминала. Сама команда: bash -c «$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)»
-
Ответьте на вопросы (для продолжения нажмите Enter):
-
Container Config (ID настроек контейнера) — оставить как есть.
-
Policy Script URL (ссылка на скрипт CSP) — оставить как есть.
-
Request Logging (надо ли вести лог событий) — оставить как есть.
-
Deployment Type (тип сервера: testing или production) — production.
-
Autoscaling (надо ли динамически изменять количество серверов, в зависимости от нагрузки) — оставить как есть.
-
Minimum number of Servers (минимальное количество серверов; вне зависимости от количества трафика на сайте, рекомендуется три) — оставить как есть.
-
Maximum number of Servers (максимальное количество серверов; рекомендуется шесть) — оставить как есть.
-
CPU Target Utilization (пороговая нагрузка на процессор для масштабирования) — оставить как есть.
-
-
После ответа на вопросы система запустит процесс перехода на рабочую конфигурацию. Обычно это длится около пяти минут.
Стоимость
Стоимость содержания серверного контейнера зависит от количества серверов, которые его обслуживают. А количество серверов зависит от трафика на сайт в секунду. Вне зависимости от объема трафика на сайте, Google рекомендует запускать минимум три сервера.
Стоимость одного сервера — около $40 в месяц.
В справке Google указано: «Ориентировочно автомасштабирование до трех—шести серверов (настройка по умолчанию) позволяет обрабатывать по 50–200 запросов в секунду, однако этот показатель зависит от количества и функций тегов».
Заключение
После проведения всех описанных действий вы получите серверный контейнер, который будет обрабатывать все настроенные через веб-контейнер события и отправлять их в ваши счетчики Google Analytics 4 и Universal Analytics.
Если вы еще не прочитали статью, которую я рекомендовал во вступлении, обязательно ней ознакомьтесь. Она даст вам лучшее понимание того, как работает серверный контейнер и какие возможности он открывает перед аналитиками.
Последние комментарии