How do I track form submissions in GA4?
Applies to: Google Analytics 4 (GA4)
Last updated: May 2025
Problem
You want to track when users submit a form on your website—such as a contact form, newsletter signup, or lead capture form—but GA4 does not automatically track form submissions.
Solution
To track form submissions in GA4, you’ll use Google Tag Manager (GTM) to detect the form interaction and send a custom event to GA4. This event can then be marked as a conversion if needed.
Step-by-Step Guide Using Google Tag Manager
Step 1: Enable Form Variables (Optional but Helpful)
- Go to https://tagmanager.google.com
- Navigate to your GTM container
- Go to Variables > Configure
- Enable:
Form IDForm ClassesForm ElementForm TargetForm URL
Step 2: Create a Trigger for Form Submissions
- Go to Triggers > New
- Choose Trigger Type: Form Submission
- Check Wait for Tags and Check Validation if needed
- Configure trigger to fire on:
- All Forms (if you only have one form)
- Or Some Forms, with conditions like:
Form IDequalscontactFormPage Pathcontains/contact
Name and save your trigger (e.g., “Contact Form Submit”).
Step 3: Create a GA4 Event Tag
- Go to Tags > New
- Choose Tag Type: GA4 Event
- Set:
- Event Name:
form_submitor something descriptive likecontact_form_submit - Event Parameters:
form_id:{{Form ID}}page_path:{{Page Path}}
- Event Name:
- Link this tag to the form submission trigger you created
- Save and publish
Step 4: Test the Setup
- Use GTM’s Preview mode
- Submit the form on your site
- Check that:
- The trigger activates
- The GA4 event tag fires
- The event appears in GA4 DebugView
Step 5: Mark the Event as a Conversion (Optional)
- Go to Admin > Conversions in GA4
- Click New conversion event
- Enter the exact event name (e.g.,
contact_form_submit) - Save
Now this form submission is counted as a conversion.
Advanced Notes
- If your form uses AJAX or JavaScript to submit (no page reload), standard form triggers might not work—you may need to use a Click Trigger or a Custom Event Trigger.
- You can track multiple forms by creating distinct triggers or by passing form identifiers (like ID or class) as parameters.
- For multi-step forms, consider tracking each step as a separate event.





