Enhanced Measurement makes automatic form tracking sound like a solved problem: flip one toggle, and GA4 reports every form interaction on the site with no code required. Then the numbers come in, and they’re either far too low, missing entirely, or several times higher than the number of actual leads that reached an inbox. The toggle isn’t broken. It’s measuring something narrower than most people assume.
What form_start and form_submit actually fire on
Enhanced Measurement’s form tracking generates two events. form_start fires the first time a user interacts with any field in a form during a session. form_submit fires when that form is actually submitted. Both live under Admin > Data Streams > your web stream > Enhanced Measurement, where “Form interactions” can be toggled independently of the other automatic events like scrolls and outbound clicks.
The detail that causes most of the confusion: GA4 detects a submission by listening for the browser’s native form submit behavior, the same event that would normally trigger a full page reload or navigation. It is not inspecting whether a lead actually went anywhere useful. It’s watching for a specific browser-level signal, and a lot of real forms don’t produce that signal in the way GA4 expects.
Why real lead forms often go uncounted
Most WordPress form plugins, including WPForms, Elementor Forms, and Contact Form 7 in its default configuration, submit via AJAX rather than a native browser form submission. The page never navigates or reloads; JavaScript intercepts the submit action and sends the data in the background. Since GA4’s automatic detection is built around the native submit event, an AJAX-submitted form frequently never fires form_submit at all, even though the lead was captured successfully by the plugin.
This is also why some sites see form submissions logging as generate_lead instead, or not appearing as a distinct event at all: a handful of plugins fire their own custom event on successful AJAX submission, but that event has nothing to do with GA4’s own automatic form tracking, and won’t show up if you’re specifically looking for form_submit in reports.
Why the count can also go the other way
The opposite failure mode, a form_submit count far higher than any real lead volume, usually comes from GA4 not distinguishing which form on the page actually matters to the business. Enhanced Measurement’s form tracking applies to every native form element it detects, which on a typical page can include a newsletter signup in the footer, a site search box, a cookie-consent form, and a third-party chat widget’s own embedded form, none of which represent an actual lead. Every one of those gets folded into the same aggregate form_submit count unless something downstream separates them.
Checking what’s actually happening, rather than guessing
Before assuming automatic tracking is simply unreliable, check GA4’s DebugView (Admin > DebugView, with the GA4 debugger extension or a debug parameter active) while manually submitting the actual lead form in question. DebugView shows every event parameter GA4 captured for that submission, including form_id, form_name, and form_destination. If the event never appears at all when the form is submitted, that confirms the AJAX-submission gap rather than a reporting quirk. If it does appear but shares a generic form ID with other page elements, that confirms the overcounting problem instead, and the two failure modes call for different fixes.
The fix that actually holds up
For a form that genuinely matters to the business, such as a quote request or contact form tied to real leads, automatic Enhanced Measurement tracking is worth treating as a rough signal at best, not the source of truth. A Google Tag Manager trigger built specifically around that form’s real submission event, whether that’s the plugin’s own success callback, a specific CSS selector, or a thank-you page view, produces a count that actually corresponds to real submissions. Most major form plugins document their own JavaScript success hooks specifically because this GA4 gap is common enough that plugin authors have had to work around it themselves.
Enhanced Measurement’s automatic form tracking is worth leaving on regardless, since it costs nothing and can surface a real signal on simpler pages with plain native forms. It just isn’t the right tool for measuring the one form on the site actually generating revenue.

Etienne Basson works with website systems, SEO-driven site architecture, and technical implementation. He writes practical guides on building, structuring, and optimizing websites for long-term growth.