В прошлой статье «Серверное добавление тегов в 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 по умолчанию: активно.
Клиент типа «Google Analytics: Universal Analytics»
2. Создайте триггер, который будет запускаться на события от клиента, созданного на предыдущем шаге. Пример настройки:
-
Название: CE — All Events — UA.
-
Тип триггера: Специальные.
-
Условия активации: Client name (это встроенная переменная). Содержит Universal Analytics (или другое название, которое вы дали соответствующему клиенту).
Триггер для событий Universal Analytics
3. Создайте тег отправки данных в Universal Analytics. Пример настройки:
-
Название: UA — Pageviews & All events.
-
Триггер: созданный на предыдущем шаге.
Тег для отправки данных в Universal Analytics4. В Google Hit-Builder соберите запрос на событие, например, Page View. Пример запроса:
-
Первое поле (версия Measurement Protocol, параметр v): актуальная версия «1». Это значение и надо оставить.
-
Вторая строка (тип обращения, параметр t): выбрать pageview.
-
Третья строка (ID счетчика Google Analytics, в который будут отправлены данные, параметр tid): выбрать любой доступный счетчик.
-
Четвертая строка (Client ID посетителя, параметр cid): можно указать любой набор символов.
-
Пятая строка (обязательно добавляется нажатием кнопки ADD PARAMETR, указывается параметр dt, заголовок страницы) — можно указать любой набор символов.
Список всех параметров, которые можно передать, доступен в справке Google.
Настройка запроса в Hit Builder
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. В списке проектов выберите проект для серверного контейнера.
Выбор проекта в Google Cloud Platform
В левой части выберите App Engine и Settings. Если выбора инструментов нет, нажмите на кнопку-«гамбургер».
Настройка App Engine
Откроется окно, перейдите в нем на вкладку 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 серверного контейнера» пропишите добавленный домен. Сделать это нужно с указанием протокола и без слеша на конце.
Указание своего URL серверного контейнера
Шаг 4. Настройка отправки данных в серверный контейнер через веб-контейнер
Теперь нужно активировать отправку запросов к счетчикам Google Analytics через созданный серверный контейнер. Для этого в серверном контейнере:
1. Создайте клиенты (обычно создаются автоматически при создании контейнера; или, если вы проверяли работу серверного контейнера, как описано выше, они тоже должны быть созданы):
-
Universal Analytics.
-
GA4.
Настройки клиента Universal Analytics Настройки клиента Google Analytics 4
2. Создайте триггеры для событий Universal Analytics:
-
Тип: Специальный.
-
Условия: Client Name содержит Universal Analytics.
Триггер для активации на события Universal Analytics
3. Создайте триггеры для событий GA4:
-
Тип: Специальный.
-
Условия: Client Name содержит GA4.
Триггер для активации на события Google Analytics 4
4. Создайте теги для отправки событий в соответствующие сервисы:
-
Google Analytics: GA4.
-
Идентификатор потока: ID контейнера GA4.
-
Название события: page_view.
-
Триггер: созданный на предыдущем шаге триггер для активации на события Google Analytics 4.
-
Тег отправки событий Google Analytics 4
-
Google Analytics: Universal Analytics.
-
Триггер: созданный на предыдущем шаге триггер для активации на события Universal Analytics.
-
Тег отправки событий Universal Analytics
Рассмотрим пример, в котором счетчики Google Analytics 4 и Universal Analytics у вас настроены через веб-контейнер GTM.
1. В переменной типа Google Analytics: Universal Analytics в разделе «Расширенная конфигурация» укажите в поле «URL для отправки» адрес добавленного сайта.
Настройка URL отправки в переменной типа Google Analytics: Universal Analytics
2. В теге типа Google Analytics: конфигурация GA4 установите галочку в блоке «Отправить в серверный контейнер» и укажите URL добавленного сайта.
Настройка URL отправки в переменной Google Analytics: конфигурация GA4
После внесения этих изменений опубликуйте оба контейнера.
Если все было сделано правильно, вы увидите все отправленные запросы при запуске режима предварительного просмотра в серверном контейнере и заходе на сайт.
Пример режима предпросмотра серверного контейнера
Шаг 5: Подключение продакшн-сервера
По умолчанию при автоматическом создании серверного контейнера создается тестовая конфигурация, которая подходит для предварительного просмотра и проверки контейнера в GTM. Она не выдержит большого потока трафика, поэтому перед началом использования сервера рекомендуем перевести его на рабочую конфигурацию.
Чтобы перейти на рабочую конфигурацию, зайдите в личный кабинет Google Cloud Platform и в верхней правой части экрана нажмите крайнюю слева иконку — Shell. Запустится командная строка, в которой можно провести все требуемые настройки.
Shell в Google Cloud Platform
Важно! Перед внесением изменений убедитесь, что выбранный в Shell проект соответствует проекту, для которого вы хотите настроить сервер. Для этого в верхней панели нажмите на иконку выбора проекта — ID проекта должен совпадать с активным в Shell.
ID проекта
Чтобы сменить проект, введите команду:
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.
Если вы еще не прочитали статью, которую я рекомендовал во вступлении, обязательно ней ознакомьтесь. Она даст вам лучшее понимание того, как работает серверный контейнер и какие возможности он открывает перед аналитиками.