Analytics and Tracking

Form Submission Trigger

A Google Tag Manager trigger that fires tags when a browser submits a form, often used to count enquiries as conversions.

Quick facts: Form Submission Trigger

Category
Analytics and Tracking
Level
Intermediate
Affects
Conversion counts in GA4, Google Ads and Meta, Smart Bidding, cost per lead reporting
Where to see it
Google Tag Manager preview mode, Tag Assistant, GA4 DebugView, your form plugin's entry log
In this article4
  1. How the form submission trigger works
  2. Why it matters
  3. Common mistakes
  4. How to act on it

A form submission trigger is a trigger type in Google Tag Manager that fires tags when a visitor’s browser submits a form on your page. It is one of the most common ways of recording an enquiry as a conversion in GA4, Google Ads or Meta, and one of the most common sources of wrong conversion figures.

How the form submission trigger works

Once the trigger is added, GTM listens for the browser’s standard submit event on form elements. When it hears one, it pushes a gtm.formSubmit event, and any tag attached to the trigger can fire. Two settings shape its behaviour:

  • Wait for tags holds the submission briefly, up to a maximum wait you set, so tags have time to send before the browser moves to the next page.
  • Check validation fires the trigger only if the form’s submission was allowed to go ahead, rather than on every press of the submit button.

You can fire it on all forms or only on some, with conditions based on built-in variables such as Form ID, Form Classes, Form URL or Page URL. Those variables have to be switched on in the workspace before you can use them.

The trigger has a structural blind spot. Many modern forms do not use the browser’s standard submission at all. AJAX forms in WordPress plugins, forms built in JavaScript frameworks, and forms embedded in an iframe from another domain, such as many booking and survey tools, either never produce the event GTM is listening for or produce it before the server has accepted the entry. The trigger cannot see whether the email actually went out.

Why it matters

If you run Google Ads or Meta ads for enquiries, the conversion that this trigger fires is what the bidding algorithm learns from. A trigger that fires on failed attempts, newsletter boxes and site search will teach the platform to find more of the wrong people. A trigger that never fires leaves the campaign with nothing to optimise towards.

Remember that a trigger firing does not override consent. Under PECR, analytics and advertising tags should only send data when the visitor has agreed, so the tags attached to the trigger still need the right consent settings.

Common mistakes

  • Using All Forms, so the newsletter sign-up and the site search box count as leads.
  • Leaving Check validation off and counting every click on the submit button.
  • Running the trigger alongside GA4’s automatic form_submit event and counting the same enquiry twice.
  • Assuming it works with an AJAX or iframe form without testing.
  • Testing only a successful submission and never an empty or invalid one.

How to act on it

Test in GTM’s preview mode with three attempts: an empty form, a form with an invalid email, and a genuine entry. Only the last should fire your conversion tag. Then compare a week of recorded conversions with the entries in your form plugin or inbox; the two should be close.

If the trigger misfires, use a more dependable signal. The best option is a success event the form itself pushes to the data layer, and many WordPress form plugins offer one. Failing that, redirect to a thank-you page and track that page, or use an element visibility trigger on the success message. Getting this right is one of the first checks I make in PPC management, because no amount of bid tuning fixes a conversion that counts the wrong thing.

Do and do not

Do

  • Limit the trigger to the specific enquiry form
  • Test empty, invalid and genuine submissions in preview mode
  • Compare recorded conversions with real form entries each month

Do not

  • Fire conversion tags on All Forms
  • Count GA4's automatic form_submit and your own event as two leads
  • Assume it works with AJAX or iframe forms

Questions people ask about this

Why is my form submission trigger not firing?

Most often the form does not use the browser's standard submit event, because it sends by JavaScript or sits in an iframe from another domain. It can also be that Check validation is on and the form's script cancels the native submission even on success. Use preview mode to see whether a gtm.formSubmit event appears at all, and switch to a data layer event or thank-you page if it does not.

Should I use a thank-you page instead?

A thank-you page is often the more reliable signal, because the visitor only reaches it after the form has been accepted. Make sure the page cannot be reached any other way, keep it out of search results and avoid counting reloads as new conversions. A success event pushed by the form plugin is equally good and keeps the visitor on the same page.

Does the trigger respect cookie consent?

The trigger itself only detects the submission. Whether data is sent depends on the tags attached to it and their consent settings, which should follow the choice the visitor made on your banner. Check in preview mode that analytics and advertising tags are held back or limited when consent is refused.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.