CMS Development

LHobbs
Membro | Parceiro Platinum
Membro | Parceiro Platinum

HubSpot Form Listener Not Tracking in GTM

resolver

Hi,

 

I have a form embedded on my website and I am trying to send an event when the form loads on my page. 

 

I've added this script to GTM to track when the form has loaded.

 

This is the javascript I am using. Any thoughts on why I wouldn't be seeing when the form has loaded?

 

<script type="text/javascript">
window.addEventListener("message", function(event) {
   if(event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormReady') {
    window.dataLayer.push({
      'event': 'hubspot-form-ready',
      'hs-form-guid': event.data.id
     });
   }
});
</script>

 

0 Avaliação positiva
2 Solução aceitas
stefen
Solução
Conselheiro(a) de destaque | Parceiro
Conselheiro(a) de destaque | Parceiro

HubSpot Form Listener Not Tracking in GTM

resolver

@LHobbs it could be because the script is running too later (after that event has already happened). For instance, if the google tag manager script is in the footer below the HubSpot form embed.

Stefen Phelps, Community Champion, Kelp Web Developer

Exibir solução no post original

miljkovicmisa
Solução
Top colaborador(a) | Parceiro Platinum
Top colaborador(a) | Parceiro Platinum

HubSpot Form Listener Not Tracking in GTM

resolver

Hello @LHobbs , it seems you are using global events for embedded form. Have you tried binding the event directly to the embedded form like explained in this article?

Basically you would do something like this:

hbspt.forms.create({
  portalId: '',
  formId: '',
  onFormReady: function($form) {
    window.dataLayer.push({
      'event': 'hubspot-form-ready',
      'hs-form-guid': 'the form id' //this is also going to be available somewhere in $form
    });
  } 
}); 



If my answer was helpful please mark it as a solution.

Exibir solução no post original

3 Respostas 3
miljkovicmisa
Solução
Top colaborador(a) | Parceiro Platinum
Top colaborador(a) | Parceiro Platinum

HubSpot Form Listener Not Tracking in GTM

resolver

Hello @LHobbs , it seems you are using global events for embedded form. Have you tried binding the event directly to the embedded form like explained in this article?

Basically you would do something like this:

hbspt.forms.create({
  portalId: '',
  formId: '',
  onFormReady: function($form) {
    window.dataLayer.push({
      'event': 'hubspot-form-ready',
      'hs-form-guid': 'the form id' //this is also going to be available somewhere in $form
    });
  } 
}); 



If my answer was helpful please mark it as a solution.

stefen
Solução
Conselheiro(a) de destaque | Parceiro
Conselheiro(a) de destaque | Parceiro

HubSpot Form Listener Not Tracking in GTM

resolver

@LHobbs it could be because the script is running too later (after that event has already happened). For instance, if the google tag manager script is in the footer below the HubSpot form embed.

Stefen Phelps, Community Champion, Kelp Web Developer
Jaycee_Lewis
Gerente da Comunidade
Gerente da Comunidade

HubSpot Form Listener Not Tracking in GTM

resolver

Hi, @LHobbs 👋 Thanks for reaching out. Hey, @miljkovicmisa @stefen, do you have any experience or troubleshooting tips you can share with @LHobbs?

 

Thank you! — Jaycee


HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates.
Learn More.


Did you know that the Community is available in other languages?
Join regional conversations by changing your language settings !
0 Avaliação positiva