For lead generation businesses — agencies, consultants, B2B SaaS, service businesses — a form submission is the equivalent of an ecommerce purchase. If you are not tracking form submissions as conversions in GA4, you cannot measure which campaigns drive leads, which sources have the best lead quality, or where your funnel is losing potential customers.
The Two Methods for Tracking Form Submissions in GA4
Method 1: Thank-You Page URL (Simplest)
If your form redirects to a thank-you page (e.g. /thank-you/ or /contact/success/) after submission, you can track the form submission as a page view conversion. In GA4, mark a page_view event to /thank-you/ as a conversion. No additional code required.
Limitation: if your website uses multiple forms that all redirect to the same thank-you page, you cannot distinguish which form was submitted. If someone navigates directly to /thank-you/ without submitting a form, it counts as a false conversion.
Method 2: GTM Form Submission Trigger (More Reliable)
GTM can detect when a form is submitted and fire a GA4 event. This method works for inline forms (that do not redirect to a thank-you page), AJAX forms, and multi-form websites where you need to distinguish between forms.
Setting Up GA4 Form Tracking via GTM
Step 1: Enable Form Submission built-in variables in GTM
In GTM, go to Variables → Configure. Under Forms, enable: Form Classes, Form Element, Form ID, Form Target, Form Text, Form URL. These built-in variables read attributes of the submitted form.
Step 2: Create a Form Submission trigger
In GTM, go to Triggers → New → Form Submission. Set the trigger to fire on specific forms using a filter condition. For example, if your contact form has an ID of “contact-form”, set the condition: Form ID equals contact-form.
Enable Wait for Tags (lets other tags finish processing before the form submits, preventing race conditions). Enable Check Validation (only fires if the form passes HTML validation, reducing false positives).
Step 3: Create the GA4 Event tag
Create a GA4 Event tag:
- Configuration tag: your existing GA4 Configuration tag
- Event name: generate_lead (or form_submission, or contact_form_submit — be consistent)
- Optional parameters: form_name (using the Form ID or Form Classes variable), form_destination (using the Form Action URL variable)
- Trigger: the Form Submission trigger you just created
Step 4: Mark the event as a conversion in GA4
After publishing and seeing the event fire in GA4 DebugView, go to GA4 Admin → Conversions and mark your form submission event as a conversion. This adds it to the Conversions column in all GA4 reports and allows it to be used as a conversion goal in Google Ads if you import GA4 conversions.
Tracking AJAX Forms (Forms That Submit Without Page Reload)
Many modern form plugins (Gravity Forms, Contact Form 7 with AJAX, HubSpot embedded forms) submit via AJAX, meaning the page does not reload after submission. The standard Form Submission GTM trigger does not work reliably for AJAX forms because the form submission event may not propagate to the DOM in a way GTM can detect.
For AJAX forms, use one of these approaches:
- Most form plugins have a JavaScript event or callback that fires on successful submission. Add a dataLayer.push call in that callback: window.dataLayer.push({'event': 'form_success', 'form_name': 'contact'}); Then create a Custom Event trigger in GTM listening for form_success.
- Contact Form 7 has a wpcf7mailsent event. Gravity Forms has gform_confirmation_loaded for AJAX submissions. These can be used as triggers in GTM.
- Use the form plugin’s native integration with GTM if available (Contact Form 7 GTM integration, for example).
Verifying Form Tracking Before Going Live
Before publishing your GTM changes:
- Open GTM Preview mode
- Navigate to the page with your form
- Submit the form (with test data)
- In Tag Assistant, confirm the Form Submission trigger fired and the GA4 event tag fired on that trigger
- Check that the event parameters are correct
- Confirm GA4 DebugView shows the event
Using Form Conversions in Google Ads and Meta Ads
Once form submissions are tracked as conversions in GA4, import them into Google Ads as conversion actions (Tools → Conversions → Import from GA4). This allows Google’s Smart Bidding to optimise towards form submissions rather than just clicks. For Meta Ads, set up the equivalent lead event via Meta Pixel on form success.
Book your free audit here and we will check your form tracking setup to ensure every lead is being captured as a conversion across GA4 and your ad platforms.