HubSpot - Formulaire Integre
Ce qu'on va faire sur cette page
HubSpot propose une API de callbacks pour tracker les formulaires. Contrairement aux iframes pures, HubSpot offre un event onFormSubmitted natif.
- Ouvrir GTM Preview
- Remplir et soumettre le formulaire HubSpot
- Observer le Custom Event dans le dataLayer
- Copier le listener adapte
Formulaire HubSpot embed
Formulaire HubSpot
Remplacer par le code d'embed HubSpot :hbspt.forms.create({...})
Methode 1 : Callback onFormSubmitted
// Methode 1 : Callback onFormSubmitted (RECOMMANDEE)
// Directement dans le code d'embed HubSpot :
hbspt.forms.create({
region: "eu1",
portalId: "VOTRE_PORTAL_ID",
formId: "VOTRE_FORM_ID",
target: "#hubspot-form-container",
onFormSubmitted: function(form) {
window.dataLayer.push({
event: "hubspot_form_submit",
form_id: form.guid || "hubspot-form",
form_name: "Contact HubSpot"
});
}
});
// C'est la methode la plus propre car HubSpot appelle directement
// notre callback quand le formulaire est soumis avec succes.
Methodes alternatives
// Methode 2 : Listener postMessage (si on ne controle pas le code embed)
<script>
window.addEventListener("message", function(event) {
if (event.data.type === "hsFormCallback" &&
event.data.eventName === "onFormSubmitted") {
window.dataLayer.push({
event: "hubspot_form_submit",
form_id: event.data.id
});
}
});
</script>
// Methode 3 : HubSpot global event
// Si le script HubSpot est charge, on peut aussi ecouter :
window.addEventListener("message", function(e) {
if (e.data && e.data.meetingBookSucceeded) {
// Meeting scheduler HubSpot
window.dataLayer.push({ event: "hubspot_meeting_booked" });
}
});
HubSpot et GA4
HubSpot a sa propre integration GA4 native, mais elle a les memes limites que Calendly (tracking depuis le domaine HubSpot, pas le votre). Le listener custom via GTM donne un meilleur controle et une meilleure attribution.