¿Por qué se dispara un evento ‘form submit’ si no he realizado ningún envío de formulario?
Son muchas las veces que hemos habilitado el modo debug en GTM, y cuando refrescamos la página y ésta se carga, vemos nuestro querido evento de Form Submit a la izquierda de la consola del modo debug pero nosotros en ningún momento hemos realizado la acción de enviar un formulario, pero el evento ¡ahí está! Y puede hasta incluso resultar más preocupante cuando quizás en esa página no tienes ni tan siquiera ningún formulario que enviar.
¿A qué se debe este comportamiento? ¡Es el pixel de Facebook el responsable!
Una vez tenemos ya la página cargada ( después de que se muestre el evento de Window Loaded), se nos muestra el evento de Form Submit.
Aunque en esa página no se esté realizando la acción de envío, o sin existir tampoco ningún formulario, hay dos razonamientos posibles para explicarlo:
- Tener el pixel de Facebook implementado en esa página
- Tener al menos un trigger de form submission habilitado en alguna página
Si se dan estas dos situaciones, es cuando vemos ese falso evento de Form Submit.
¿Pero porque pasa esto exactamente? Se explica por la manera en que el pixel de Facebook envía los datos a los servidores de Facebook, a través de la acción de form submission. El motivo de este envío de datos se debe porque es la manera más segura para todos los navegadores de poder enviar datos a otro dominio. Básicamente, lo que está haciendo es generar un formulario con datos, lo envía y finalmente elimina ese formulario.
Para poder diferenciar si se trata o no de un form submission estándar, que no viene generado por el pixel de Facebook, tenemos que fijarnos en el datalayer:
Si se trata del evento form submission que genera el pixel de Facebook, lo podremos identificar si vemos los siguientes parámetros:
- elementTarget: su valor empieza siempre por “fb” y va seguido de una serie numérica
- elementUrl: su valor es siempre el de https://www.facebook.com/tr/.
La solución para evitar que tu trigger no dispare falsamente un pixel en el evento de form submission pasa por añadir la siguiente condición en tu trigger:
- Form URL no contiene facebook.com/tr.
Espero que con este tip os haya podido ayudar a entender el porqué de ese evento form submission, y cómo solucionarlo.