Эта статья предназначена для разработчиков, которые хотят разместить серверный контейнер в том же собственном контексте, что и сайт. Использование одного источника – наилучший вариант, повышающий безопасность и надежность настроенных на сервере файлов cookie. Приведенные ниже инструкции по настройке не зависят от развертывания на вашем сайте тега Google (gtag.js или gtm.js).
Когда вы впервые настраиваете сервер тегов, он размещается в домене, предоставленном поставщиком облачных сервисов. При использовании конечной точки по умолчанию она передает данные в серверный контейнер, но выполняется в стороннем контексте. Если вы хотите пользоваться преимуществами собственного контекста, такими как повышенная надежность файлов cookie, то вам необходимо разместить сервер тегов и свой сайт в одном домене.
В таблице ниже показаны варианты размещения сервера тегов, когда родительский сайт размещен на www.example.com
.
Тот же источник (рекомендуется) | Субдомен | Домен по умолчанию | |
---|---|---|---|
Пример URL | https:/ |
https:/ |
https:/ |
Доступ к настроенным на сервере файлам cookie | Полный доступ, обеспечивающий высокую безопасность и надежность. | Полный доступ, обеспечивающий высокую безопасность и надежность. | Нет. Можно настроить только файлы cookie JavaScript. |
Сложность настройки | Необходимо настроить CDN или балансировщик нагрузки для переадресации запросов. Может потребоваться изменить записи DNS. | Необходимо изменить записи DNS. | Используются стандартные настройки. |
Чтобы начать работу, выберите вариант реализации:
Требования
Перед началом работы убедитесь в следующем:
- Вы создали серверный контейнер в Менеджере тегов.
- У вас настроен сервер тегов.
- У вас есть CDN или балансировщик нагрузки, которые могут перенаправлять запросы.
- Если вы используете App Engine – сервер тегов запускает версию 2.2.0 или более позднюю. Чтобы обеспечить эффективную работу сервера тегов в будущем, перейдите на Cloud Run.
Как настроить пользовательский домен
Вы можете указать путь для выполнения серверного контейнера в том же домене, в котором размещен ваш сайт. Например, если вы разместили сайт на www.example.com
, то можете зарезервировать для серверного контейнера путь www.example.com/metrics
.
1. Выберите путь домена для сервера тегов
Этот путь будет зарезервирован для выполнения контейнера в собственном контексте. Убедитесь, что такой путь ещё не используется.
Примеры путей: /collect
, /metrics
, /data
.
Запишите этот путь. Вы будете использовать его на следующих шагах вместо /metrics
(везде, где указывается /metrics
).
2. Направьте трафик на сервер тегов
Если вы уже настроили для сайта CDN или балансировщик нагрузки, которые поддерживают переадресацию трафика по определенному пути, перейдите к шагу 4.
- Добавьте источник или сервер, указывающий на ваш сайт.
- Вместо заголовка Host укажите имя хоста своего сайта, например
example.com
. - Разрешите переадресацию всех файлов cookie и строк запросов. Если вы не видите такого варианта, скорее всего, он включен по умолчанию.
- Добавьте ещё один источник или сервер, указывающий на сервер тегов. Можно указать домен, предоставленный поставщиком облачных сервисов, например
metrics.run.app
. - Вместо заголовка Host укажите упомянутый выше домен. Разрешите переадресацию всех файлов cookie и строк запросов.
- Добавьте правило пути, например
/metrics/*
, чтобы трафик перенаправлялся на сервер тегов. - Назначьте пути, зарезервированному для серверного контейнера, более высокий приоритет, чем у правила по умолчанию.
- Добавьте в DNS ссылку на CDN или балансировщик нагрузки (если вы ещё этого не сделали). Распространение изменений в DNS может занять некоторое время.
- Перейдите в конечную точку
/healthy
только что настроенного домена, напримерhttps://example.com/metrics/healthy
. Вы должны увидетьok
.
3. Измените URL сервера в Google Менеджере тегов
Вам нужно изменить конфигурацию серверного контейнера, чтобы он правильно идентифицировал префикс пути и обрабатывал запросы.
Чтобы указать новую конечную точку, выполните следующие действия:
- Откройте Менеджер тегов
- Перейдите к серверному контейнеру, настроенному в том же источнике, что и сайт.
- На вкладке Администрирование выберите Настройки контейнера и удалите все прежние URL. Это необходимо, поскольку все URL серверного контейнера должны содержать один и тот же путь.
- Нажмите Добавить URL и укажите URL с префиксом пути.
- Нажмите Сохранить и вернитесь в рабочую область.
- Нажмите кнопку Предварительный просмотр, чтобы начать новый сеанс отладки, и отправьте запрос на отдельной вкладке.
- Нажмите на отправленный запрос. Проверьте, принял ли его клиент.
Устранение неполадок
- При предварительном просмотре не отображаются входящие запросы
- Откройте диспетчер журналов для своего облачного проекта. Убедитесь, что развернутый сервер тегов получает трафик. Если нет, выполните шаг 1.
- Убедитесь, что CDN или балансировщик нагрузки перенаправляет файлы cookie.
- Убедитесь, что у вас один сервер предварительного просмотра и что для серверов тегов задан параметр
PREVIEW_SERVER_URL
. - Убедитесь, что сервер предварительного просмотра работает. Для этого откройте
PREVIEW_SERVER_URL
+/healthy
. Вы должны увидетьok
.
- Клиенты не принимают запросы. Обновите URL в разделе Настройки контейнера, указав зарезервированный путь. Если путь в URL отличается или вообще отсутствует, клиенты будут работать некорректно.