About cookies on this site

We use cookies to collect and analyse information on site performance and usage, to provide social media features and to enhance and customise content and advertisements. Learn more

Cookie settings

About cookies on this site

Cookies used on the site are categorized and below you can read about each category and allow or deny some or all of them. Learn more

Necessary

Some cookies are required to provide core functionality. The website won't function properly without these cookies and they are enabled by default and cannot be disabled.

Preferences

Preference cookies enables the web site to remember information to customize how the web site looks or behaves for each user. This may include storing selected currency, region, language or color theme.

Analytical cookies

Analytical cookies help us improve our website by collecting and reporting information on its usage.

Marketing cookies

Marketing cookies are used to track visitors across websites to allow publishers to display relevant and engaging advertisements. By enabling marketing cookies, you grant permission for personalized advertising across various platforms.

  • Courses
    • Paid courses
    • Course bundles
    • Free courses
  • Blog
  • Resources
    • Youtube channel
    • E-books and Guides
    • GTM Recipes
    • View All Resources
    • GTM Community
    • GA4 community
  • Services
  • About
    • About
    • Contact
  • Login
  • Courses
    • Paid courses
    • Course bundles
    • Free courses
  • Blog
  • Resources
    • Youtube channel
    • E-books and Guides
    • GTM Recipes
    • View All Resources
    • GTM Community
    • GA4 community
  • Services
  • About
    • About
    • Contact
  • Login

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.

Google Tag Manager Ebook Bundle

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.

 

 

Julius Fedorovicius
In Google Tag Manager Tips
12 COMMENTS
KENYONB
  • May 10 2019
  • Reply

thanks for posting this. seeing gtm.formSubmit on every page was driving me nuts.

Alison
  • Jun 27 2019
  • Reply

Hi Julius,

This seems like an easy fix, however even after following your instructions the gtm.formSubmit is still showing up for every page load. Why wouldn't the trigger listen to the 'does not contain facebook.com/tr' condition?

    Julius Fedorovicius
    • Jun 27 2019
    • Reply

    You will continue seeing the event. But your tags will not fire then if all your form submission triggers exclude facebook's domain.

      Alison
      • Jun 27 2019
      • Reply

      Understood - thanks!

bruno alcantara
  • Jul 10 2019
  • Reply

Thanks so much man! I was looking all around the internet for a explanation about this and it was driving me crazy trying to understand what the heck was happening. Good and helpful post!

JK Baseer
  • Jul 29 2019
  • Reply

Hey Julius,
As we know facebook fires a default form submission trigger with click url "Facebook.com/tr/"

so in all form submission, we have excluded when the click URL is "Facebook.com/tr/". Recently in normal legit form submission also have this "Facebook.com/tr" URL and so this legit conversion are not attributed.

Do you know how we can avoid this situation?

    Acgorecki
    • Aug 17 2020
    • Reply

    I have the same question. Did you ever figure this out?
    I have the FB pixel installed and and excluding facebook.com/tr on my triggers so it blocks the initial form submission while page is loading, but it is still blocking legit form submissions because the form URL contains facebook.com/tr

Shawn
  • Sep 13 2019
  • Reply

This was really helpful and fixed my issue. Just wanted to say thanks.

Elena Petrova
  • Nov 1 2019
  • Reply

Excellent article! Thanks a lot, Julius!

Josh Moore
  • Dec 18 2022
  • Reply

It's the end of 2022 and this article is still very useful! We were so confused while troubleshooting this. Thanks for the explanation and solution!

Ahmad
  • Jan 29 2023
  • Reply

This didn't work for me but I played around with excluding facebook.com/tr.
It only worked when I went to triggers > This from trigger fires only 'Some forms' > Choose form URL > doesn't contain "https://www.facebook.com/tr/"

Boom fixed.
Thanks for the inspiration this has been driving me really crazy.

Eric
  • Feb 6 2023
  • Reply

Thanks for this. I solved the issue somewhat by renaming the form_start and form_submit events to fb_form_submit and fb_form_start when the form_destination parameter contains facebook.com

This allows me to track the form_submit and form_start events separately from the spammy fb form events. The downside is that I am still tracking these (useless) fb form events.

To set this up, in GA4 Admin, I went to Events > Modify Events

Then set Matching Conditions to 'event name equals form_submit' and 'form_destination starts with https://www.facebook.com'

Modify Parameters > Parameter was set to 'event_name' New Value = 'fb_form_submit'

Same process with the form_start event, changing those values.

Leave a comment Cancel reply

Your email address will not be published. Required fields are marked *


 

Hi, I'm Julius Fedorovicius and I'm here to help you learn Google Tag Manager and Google Analytics. Join thousands of other digital marketers and digital analysts in this exciting journey. Read more
Analytics Mania
  • Google Tag Manager Courses
  • Google Tag Manager Recipes
  • Google Tag Manager Resources
  • Google Tag Manager Community
  • Login to courses
Follow Analytics Mania
  • Subscribe to newsletter
Recent Posts
  • A Guide To Google Tag Manager Preview Mode
  • Google Tag Manager vs Google Analytics explained
  • How to Track File Downloads with Google Analytics 4 (including PDF)
Analytics Mania - Google Tag Manager and Google Analytics Blog | Privacy Policy
Manage Cookie Settings