SchemaNexa
Conversion Optimization

How to Track Form Submissions as Google Ads Conversions

The difference between a submit click and a real conversion, and how to set up a trigger in GTM that only counts successful form submissions.

By rafa
Cursor clicking a Submit button on a form, with a separate distinct checkmark confirmation appearing only after a brief delay

A 'Submit' button click and a completed form submission are not the same event, even though most default tracking setups treat them as identical.

Counting the click means counting abandoned forms, validation errors, and bot traffic as real conversions.

The reliable way to track a form submission as a Google Ads conversion is to fire the conversion only after the form actually succeeds — typically on the confirmation/thank-you page load, or on a custom dataLayer event pushed from the form's own success handler for forms that don't navigate to a new URL — then either fire the Google Ads conversion tag directly through Google Tag Manager or import it as a key event from GA4.

Key Takeaways

  • A click on Submit isn’t a conversion by itself — it only becomes one if the form actually succeeds, so the trigger needs to fire on success, not on the click.
  • GTM’s built-in Form Submission trigger listens for the native HTML submit event, which many JavaScript-built forms intercept with preventDefault() before it ever reaches GTM — so it can silently never fire on those forms.
  • The “Check Validation” option on GTM’s Form Submission trigger restricts it to forms that pass client-side validation, but it still can’t confirm the request reached the server and succeeded — a thank-you page or a server-confirmed dataLayer event is more reliable.
  • Form conversions can be recorded two ways — a direct Google Ads tag fired through GTM, or a GA4 key event imported into Google Ads — and running both without deduplication double-counts the same submission.
  • Multi-step forms should fire the conversion once, on the final successful step, not on every “Next” click along the way.

Why a Submit Click Isn’t a Conversion

Every form has visitors who click Submit and fail: a required field left blank, a validation error, a network hiccup, or a bot filling in every field on the page. If the conversion trigger fires on the click itself, all of that gets counted as a real lead — which inflates conversion volume and quietly corrupts whatever Smart Bidding strategy is using that data to optimize.

Two Ways to Track Form Submissions as Conversions

Through Google Tag Manager

A Google Ads conversion tag fires directly, triggered by a condition inside GTM — either the built-in Form Submission trigger or a custom trigger listening for a dataLayer event. This keeps the conversion inside the Google Ads account directly, with no dependency on GA4 being linked or configured correctly.

Through GA4 as an Imported Key Event

A GA4 event (like form_submit) gets marked as a key event, and that key event is imported into Google Ads as a conversion action from a linked GA4 property. This route reuses the same event GA4 already tracks for reporting, but it takes longer to sync — Google Ads documentation notes it can take up to 24 hours before imported conversion data is available.

Two separate signal paths, one through a tag manager icon and one through an analytics icon, both converging into a Google Ads icon

Setting Up a Reliable Trigger

Which method is more reliable depends entirely on how the form itself is built.

Browser showing a plain confirmation page with a checkmark loading after a form page, representing the thank-you page trigger

The Thank-You Page Method

For a standard HTML form that redirects to a dedicated confirmation URL on success, triggering the conversion on that page’s load is usually the most reliable signal available — it only fires when the server has actually processed the submission.

The dataLayer Event Method for AJAX Forms

Forms built with JavaScript frameworks often submit via AJAX and never navigate to a new URL at all, which makes a thank-you-page trigger impossible and GTM’s native Form Submission trigger unreliable — the framework’s own submit handler typically calls preventDefault() on the native event. The fix is to push a custom event to the dataLayer from inside the form’s own success callback, after the backend confirms the submission worked, and trigger the conversion tag on that custom event instead.

Mistakes That Inflate or Miscount Form Conversions

  • Triggering on the Submit click instead of a confirmed success signal.
  • Relying on GTM’s native Form Submission trigger for a JavaScript-driven form that calls preventDefault(), so the trigger never fires at all.
  • Running a GTM-based conversion tag and a GA4-imported key event for the same form without deduplication.
  • Counting every step of a multi-step form instead of only the final successful submission.
  • Not excluding internal, QA, or staff traffic from the same conversion action used for real leads.

Verifying It Actually Works

GTM’s Preview mode shows exactly which triggers fired and which tags they launched for a given test submission, which is the fastest way to catch a trigger that never fires on an AJAX form. Google Ads’ own tag diagnostics can confirm the conversion tag itself is installed and firing correctly on the live site. The most reliable check is still a real test submission, followed by confirming exactly one conversion recorded — not zero, and not two.

Debug panel on a monitor highlighting a single confirmed tag fire after a test form submission

Where This Fits With GTM, GA4, and Attribution

Form conversion tracking assumes the underlying tracking setup is already solid. If the Google Ads tag itself isn’t installed correctly, see how to set up Google Ads conversion tracking with Google Tag Manager. If the GA4-import route is the better fit, setting up conversion events in GA4 covers marking an event as a key event before it can be imported. Once a form conversion is recording correctly, attribution windows determine how long after that submission Google Ads will still credit the ad click that led to it.

Frequently Asked Questions

Should I track the Submit click or the thank-you page?

The thank-you page (or an equivalent confirmed-success signal) whenever possible — a click only shows intent, not success.

Why isn’t GTM’s Form Submission trigger firing on my form?

Most likely the form’s JavaScript is calling preventDefault() on the native submit event, which stops GTM’s built-in trigger from ever seeing it. Push a custom dataLayer event from the form’s own success callback instead.

Should I use GTM or GA4 to track form conversions in Google Ads?

Either works, but pick one path per form and don’t run both simultaneously without deduplication, or the same submission gets counted twice.

How do I stop a multi-step form from recording multiple conversions?

Fire the conversion trigger only on the final step’s confirmed-success condition, not on every intermediate step transition.

Does “Check Validation” in GTM guarantee the form actually succeeded?

No — it confirms the form passed client-side validation, not that the submission reached the server and was processed successfully. A thank-you page or a server-confirmed dataLayer event is more reliable.

How long does it take for form conversions to show up in Google Ads?

A directly-fired GTM/Google Ads tag is typically near-real-time. Conversions imported from GA4 as key events can take up to 24 hours to sync, per Google’s own documentation.

Want Your Form Conversions Tracked Correctly?

See how we set up conversion tracking that only counts submissions that actually succeeded.

Sources and Further Reading

Conversion tracking fundamentals: Google Ads Help — About conversion measurement. Form Submission trigger behavior: Tag Manager Help — Form submission trigger. Importing GA4 key events into Google Ads: Google Ads Help — Create Google Ads conversions based on Google Analytics key events.

RA

Written by

Rafael Arceo

Rafael Arceo is a digital marketing and web technology specialist focused on Google Ads conversion tracking, GTM, GA4, SEO, WordPress, Payload CMS, and website conversion setup.

Related Posts

Need Cleaner Tracking or a Better Website Setup?

Send your website URL and I can help identify what needs to be checked, fixed, or improved.

Schedule a Call