Я хочу отслеживать отправку форм Hubspot, встроенных в наши контактные страницы, с помощью Google Analytics 4 и Диспетчера тегов Google.
Следуя этому руководству, я создал:
• Новый HTML-тег GTM под названием «Отслеживание отправки формы веб-сайта Hubspot» с пользовательским HTML-кодом на шаге 1 выше для активации двух триггеров: страницы «Связаться с отделом продаж» (путь URL-адреса содержит contact/sales) и страницы обращения в службу поддержки (путь URL-адреса содержит contact/support):
<script type = "text/javascript">
window.addEventListener("message", function(event) {
if (event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmitted') {
window.dataLayer.push({
'event': 'hubspot-form-submit',
'hs-form-guid': event.data.id
});
}
});
</script>
• Новый триггер GTM под названием «Отправлена форма Hubspot» с именем события hubspot-form-submit, которое соответствует коду window.dataLayer.push({'event': 'hubspot-form-submit',, добавленному выше.
• Новая переменная уровня данных GTM под названием «GUID формы Hubspot» с именем переменной hs-form-guid.
• Новый тег события GTM, выбирающий правильную переменную конфигурации GA4 с именем события website_contact_us_submitted, который будет запускаться с помощью триггера «Отправленная форма Hubspot».
Я опубликовал эти изменения GTM.
Если я выберу тег «Отслеживание отправки формы веб-сайта Hubspot», отлажу его и посещу нашу страницу «Связаться с отделом продаж», я увижу
Отслеживание отправки формы веб-сайта Hubspot не запущено
Если я открою Tag Not Fired, я увижу:
Из этой статьи я вижу, что размещение объявления dataLayer после контейнера GTM приведет к сбросу массива, и рекомендуемое исправление для этого состоит в том, чтобы убедиться, что данные, отправляемые в dataLayer, помещаются в существующий dataLayer. используя dataLayer.push.
Однако код, отправляющий данные в dataLayer в первой статье, на которую я ссылался, делает именно это.
<script type = "text/javascript">
window.addEventListener("message", function(event) {
if (event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmitted') {
window.dataLayer.push({
'event': 'hubspot-form-submit',
'hs-form-guid': event.data.id
});
}});
</script>
Почему событие gtm.js не запускается на страницах «Связаться со службой поддержки» и «Связаться с отделом продаж»?
Помощь приветствуется.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я отлаживал Website Hubspot Form Submission Tracking, что было неправильным тегом для отладки. При отладке тега Website Hubspot Form Submitted событие GA4 website_contact_us_submitted запускается после отправки формы Hubspot.