Какой клиент серверной стороны GTM нужен для обработки запросов к /gtm.js?

Вопрос или проблема

Я настроил тегирование на стороне сервера и прошел этот курс от Google.

Я настроил пользовательские домены и их DNS, что позволяет мне теперь получать доступ как к https://server-side-tagging-XXX-uc.a.run.app/healthy, так и к https://metrics.foo.com/healthy.

Я создал тег в своем веб-контейнере, который успешно срабатывает, но ничего не поступает в серверный контейнер.

введите описание изображения здесь

После небольшого изучения документации я задумался, связано ли моя проблема с тем, как скрипт gtm загружается. Эта документация описывает изменение источника скрипта gtm.js на URL контейнера. Я думаю, это означает, что https://www.googletagmanager.com/gtm.js?id=XXX становится https://metrics.foo.com/gtm.js?id=XXX. Первый вариант работает, но второй возвращает 400.

HTTP-запрос фиксируется в моем серверном контейнере GTM, но выдает этот лог. Судя по тому, что я читал в других местах, я считаю, что это и есть причина ошибки 400. Я запускаю просмотр в режиме GTM для серверного и веб-контейнеров, при этом веб-контейнер указывает на мое локальное приложение, которое выполняет код, в том же браузере, как и предложено в документации.

введите описание изображения здесь

В данном случае каким должен быть клиент? Или я неправильно подхожу к решению проблемы?

Комментатор здесь имеет точно такую же проблему.

Ответ или решение

Для решения вашей проблемы с серверным тегированием в Google Tag Manager (GTM), и в частности для обработки запросов к /gtm.js, требуется использовать правильный клиент, соответствующий вашей конфигурации.

  1. Клиент для /gtm.js: Вам нужен клиент на стороне сервера, который будет обрабатывать запросы к пути /gtm.js. В вашем случае это должен быть стандартный клиент Google Tag Manager, называемый "GTM". Убедитесь, что в вашем серверном контейнере GTM этот клиент включён и корректно настроен для обработки входящих запросов.

  2. Правильная настройка скрипта gtm.js: Как вы уже заметили, вам необходимо изменить URL скрипта gtm.js с https://www.googletagmanager.com/gtm.js?id=XXX на ваш собственный URI, например, https://metrics.foo.com/gtm.js?id=XXX. Однако, чтобы сделать это правильно, убедитесь, что ваш серверный контейнер GTM активен и может обрабатывать запросы корректно. Если вы получаете ошибку 400, это может указывать на проблему с авторизацией или параметрами запроса.

  3. Проверка конфигурации:

    • Убедитесь, что домен, к которому вы обращаетесь (в вашем случае metrics.foo.com), корректно настроен на вашем сервере в качестве канала для GTM. Проверьте все записи DNS, чтобы они указывали на правильный адрес контейнера GTM.
    • Также убедитесь, что ваш контейнер GTM настроен для принятия запросов для данных, которые вы передаёте в него.
  4. Использование режима предварительного просмотра: Поскольку вы уже используете режим предварительного просмотра в обоих контейнерах (серверном и веб-контейнере), убедитесь, что все изменения сохранены и опубликованы перед их тестированием. В режиме предварительного просмотра вы сможете видеть, какие запросы приходят в серверный контейнер и как они обрабатываются.

  5. Логи и отладка: Анализируйте логи в режиме предварительного просмотра серверного контейнера для выяснения причин ошибки 400. Логи могут дать подсказки о том, какие параметры могут быть неправильными или отсутствуют.

  6. Сравните с примерами: Если проблема не решается, попробуйте отследить запросы с помощью инструментов разработчика в браузере, а затем сравнить их с рабочими примерами из документации. Это может помочь понять, каких данных не хватает или что именно идет не так.

Если вы будете следовать этим шагам, это должно помочь вам настроить ваш серверный контейнер GTM правильно для обработки запросов к /gtm.js. Если исследование логов и последующая отладка не решает проблему, рекомендуется обратиться к службе поддержки Google или в сообщества, занимающиеся вопросами GTM, для получения дополнительной помощи.

Оцените материал
Добавить комментарий

Капча загружается...