GA4’s form submission tracking is set up to work automatically. Ideally, as part of GA4’s enhanced measurement, it works without any customization or coding. But it has limitations, and it doesn’t always work correctly. In this video & the blog post below, we’ll share how to track different forms on a website separately with two methods: inside of GA4 and using Google Tag Manager.
To get started, let’s talk about how conversions work. In your GA4 account, go to Admin > Events. You can see all the events that are tracking on your website.
Any of these events can be selected “Mark as conversion”. By doing so, the event will be counted in the conversions column in GA4 reports. But each event marked as a conversion is summed up with all the other events that count as conversions. That’s different from how Universal Analytics worked, where you had specific tallies of each conversion event.
The form submit event is an automatically collected event–any and every form on the website will count towards the form submit event. And sometimes the automatically collected event doesn’t actually work. I’ll address both cases below.
Most people have different forms on their website and they want each one of them to count as its own conversion type. For example, maybe you have a job application form and a contact us form, and you want each of them tracked as different conversions.
You can add more parameters to the event if, for example, you have multiple forms on a single page and want to differentiate conversion collection for each.
What if the automatic form submit isn’t working? We’ll create the event using Google Tag Manager. It is possible to set up events via tags placed directly on the website, but using Tag Manager is faster, more flexible, and easier to maintain.
When setting up a form submission event, there are usually several things happening on the page which you could use to trigger the event. For example, you could trigger off of a click on a button that has the text “submit” on it. Triggering off a click on a button isn’t 100% reliable, because somebody could click that button and the form could fail to send. But a lot of times, that’s your best option. You can also create variables based on things like the button text, a form ID, or the ID of the element that’s clicked.
Another possibility is to trigger off of the confirmation text that shows on the page after the form submits. This way, you know the form submit went through. Let’s say the form requires that you have a valid email address–without a valid email address the confirmation text wouldn’t show, and wouldn’t log a conversion.
I can do this with a trigger in Tag Manager called element visibility. In the video above, watch how I identify the element on the page, use it as a trigger in Tag Manager, and add it to the form_submit event.
Lastly, if we have our conversion events, where can we see them? Well, that part’s a little frustrating. In Universal Analytics, we had metrics for each conversion independently in the Goals reports. In GA4,
But that individual conversion event doesn’t exist as a metric in and of itself. So if I wanted to customize a report to see just that a single conversion event as a column, I couldn’t do that. (I can do it if I add it as a custom metric, but that’s a little tricky. The second half of the video “How to Report on GA4 Conversions in Looker Studio” shares how to do that.
Check out all our GA4 tutorial blogs & videos to go deep into learning, customizing, and reporting for GA4 and Looker Studio.
Nico loves marketing analytics, running, and analytics about running. He's Two Octobers' Head of Analytics, and loves teaching. Learn more about Nico or read more blogs he has written.
Google tests AI Sales Assistant with conversational advice; TikTok launches an AI tool to create…
Trouble with troubleshooting, new features in GA4 & Looker Studio, what "do not sell" means…
Report on traffic from people clicking through from AI services like ChatGPT. Build an exploration…