Une autre solution est possible lorsque vous avez la possibilité d’installer Google Tag Manager (GTM) directement dans la page chargée dans l’iframe.
Dans ce cas, le conteneur GTM s’exécute directement dans le contexte de l’iframe et peut donc accéder à son propre DOM. Il devient alors possible d’utiliser un déclencheur Visibilité de l’élément pour détecter l’apparition d’un message de confirmation après l’envoi d’un formulaire.
Exemple
Imaginons qu’un formulaire soit chargé dans :
https://form.example.com/contact
et qu’après l’envoi, l’application affiche l’élément suivant :
<div class="thank_you_message_after_form_submit">
Merci, votre demande a bien été envoyée.
</div>
Si le conteneur GTM est installé directement sur form.example.com, il est alors possible de créer le déclencheur suivant :
- Type : Visibilité de l'élément
- Mode de sélection : Sélecteur CSS
- Sélecteur CSS :
.thank_you_message_after_form_submit - Observer les modifications DOM : activé
- Une fois par page : activé
Le déclencheur pourra ensuite être utilisé pour envoyer un événement GA4 ou déclencher une conversion Google Ads.
Pourquoi cette méthode fonctionne
Le point important est que GTM et l'élément à détecter se trouvent dans le même document :
site-principal.be
│
└── iframe
│
└── form.example.com
│
├── Google Tag Manager
│
└── .thank_you_message_after_form_submit
Le conteneur GTM installé dans l'iframe peut donc observer les modifications du DOM de cette page et détecter l'apparition du message de confirmation.
Attention : le simple fait que l'iframe utilise un sous-domaine du même domaine principal ne suffit pas. La condition importante est que GTM soit effectivement chargé dans la page de l'iframe. Si GTM est uniquement installé sur la page parente, il ne pourra pas directement observer le DOM d'une iframe provenant d'une autre origine.
Lorsque vous ne pouvez pas installer GTM dans l'iframe, une autre approche
consiste généralement à utiliser la communication entre l'iframe et sa page
parente via window.postMessage().
Voir ici plus d'informations.