web-dev-qa-db-fra.com

Pourquoi Facebook Pixel déclenche-t-il l'événement gtm.formSubmit?

J'ai un conteneur Google Tag Manger qui contient une balise d'injecteur Pixel de Facebook et une balise de soumission de formulaire standard (avec déclencheur de soumission de formulaire standard). Toutefois, lorsque l'utilisateur clique sur le bouton d'envoi d'un formulaire (ce qui entraîne l'invalidation et donc l'absence de soumission), l'événement gtm.formSubmit est déclenché avec le elementUrl comme 'https://www.facebook.com/tr/'. Cet événement est capturé par le déclencheur standard de soumission de formulaire de Tag Manager, ce qui entraîne une soumission de formulaire faussement positive.

Je devais confirmer la cause du pixel en mettant en pause l’étiquette de l’injecteur et en effectuant des tests. Bien sûr, la balise n'a pas été déclenchée.

Je ne comprends pas pourquoi le Pixel déclenche cet événement en cliquant sur le bouton de validation.

Je contournerais normalement le problème en soumettant le formulaire via AJAX avec un nom d'événement personnalisé, mais la nature du site nécessite que les formulaires accèdent à l'utilisateur vers une page distincte. Si je ne peux vraiment pas empêcher le pixel de déclencher l'événement, je suppose que je pourrais utiliser JavaScript pour publier via AJAX et naviguer manuellement vers une URL stockée dans un balisage, mais je préfère éviter cela.

6
Bobe

Je viens d'essayer de configurer le déclencheur de soumission de formulaire par défaut dans le conteneur GMB d'un client et je rencontrais le même problème. Après avoir fouillé un peu en mode Aperçu, j'ai proposé la solution suivante:

Créez un deuxième déclencheur de soumission de formulaire et sélectionnez "Certains formulaires" sous "Ce déclencheur est activé". Ensuite, configurez-le pour qu'il se déclenche sur les envois où l'URL de clic contient "facebook". Cela semble contre-intuitif au début, mais vous devrez utiliser ce déclencheur comme une "exception" sur la balise que vous faites voulez déclencher. Capture d'écran ci-dessous (notez que j’ai utilisé RegEx pour bloquer également Snapchat puisque celui-ci déclenche également l’événement gtm.formSubmit. Blocking trigger set up

Cela fonctionne car si vous regardez l'onglet 'Variables' en mode Aperçu sur l'événement gtm.formSubmit, il indique https://www.facebook.com/tr/ en tant qu'URL de clic.

Click URL

J'espère que cela a du sens et résout également votre problème!

4
Casey

J'avais le même problème, j'espère que je suis venu ici et que j'ai vu la réponse de Casey qui me fait comprendre l'erreur et la façon de la résoudre. Mais au lieu de créer un deuxième formulaire, j'ai préféré n'avoir qu'un seul déclencheur. J'ai donc suivi les premières étapes que Casey nous a montrées et configuré les éléments suivants dans le bouton radio "Some Forms":

Click URL | does not equal | https://www.facebook.com/tr/

De cette façon, mon déclencheur est activé uniquement dans les URL ne correspondant pas au bogue de l'URL de Facebook. Et cela résoudra volontiers le problème avec un seul déclencheur au lieu de deux.

1
RafaelFigueiredo