November 24, 2022
Why is there a Form Submit event on every page view?
Updated: November 24th, 2022
Here’s a situation. You enable a Preview and Debug mode in GTM, refresh the page and when the page loads, you see Form Submit (gtm.formSubmit) event on the left side of the Preview console. But the form on that page was not submitted! Or, maybe even worse, there is no form on that page at all!
Why is this happening? What is causing this? Spoiler alert: it’s Facebook Pixel.
In this quick blog post, I’ll explain what is happening and what you should do next (or shouldn’t?).
Note: even though some screenshots look old, the blog post is still pretty relevant.
A quick context
This does not happen on all projects but some of you have definitely seen it. Right during the page loading process (before the appearance of the Window Loaded event), there is a Form Submit event.
Even if that page does not contain any form, you might still see this event. And there are two prerequisites for this to appear:
- You have Facebook Pixel implemented on a page
- You have at least one built-in GTM Form Submission trigger enabled on a page.
If both of these “requirements” are met, you’ll see false Form Submit events. I call them false because they not related to actual forms that are a part of your website.
Why does this happen?
That’s just the way how Facebook Pixel sends now the data over to Facebook’s servers, via a form submission. According to Simo Ahava’s comment in GTM Community on Facebook, Facebook uses a form submission for the pixel simply because it’s the most cross-browser-safe to send data to another domain. It basically creates a form with the data, then submits the form, and finally deletes the form.
So it doesn’t matter whether you have a form on a page, or you don’t. Facebook Pixel will do that anyway, as long as it is implemented on your page.
Form Submission trigger just displays those submissions in the Preview and Debug console because that’s its purpose, to display Form Submission Events.
You can distinguish a normal/usual form submission from the Facebook Pixel one by looking at the Data Layer.
FB Pixel’s form submission can be identified by two parameters:
- gtm.elementTarget (which can be used in GTM as a Form Target). Its value starts with fb and then is followed by some numbers.
- gtm.elementUrl (which can be used in GTM as a Form URL). Its value is https://www.facebook.com/tr/.
So what can you do about that false Form Submit event?
Honestly, not much. That’s just how the FB Pixel works now. You will continue seeing that event in your preview and debug mode as long as you have at least one Form Submission trigger enabled on a page. But just to make sure that your trigger does not falsely fire a tag on such Form Submit, update your trigger’s conditions by adding the following line:
Form URL does not contain facebook.com/tr
Simple as that.
UPDATE: one more reason why this happens + a solution
If you are using Google Analytics 4, it will try to track form submissions automatically. Unfortunately, automatic form tracking there is pretty terrible and inaccurate.
That is why you should go to Admin of Google Analytics 4 > Data Streams > Select your web stream an then click the gear icon in the “Enhanced Measurement” section.
Then disable form submission tracking and click Save. This should fix the problem.