About the Author

Nivin Lee

Vice President of Strategy

Nivin is the Vice President of Strategy at VOLTAGE, leading new business for the agency and strategic planning for its new clients. As a performance marketer specializing in paid search and marketing analytics, he has spent his marketing career creating extremely data-driven media plans with ROI as the primary KPI. As a Google Ads, Analytics, and Tag Manager power user, he’s up to date on all the new features, regulations, trends, and oddities that come with being a digital marketer in the Google advertising ecosystem.

Google maintains a list of automatically-collected and recommended events to track in Google Analytics. While these lists are great for basic reporting on how people use your website, they provide little help in actually optimizing that website for the conversion action that a vast majority of B2B websites need to turn sessions into sales: form submissions. While most marketers capture “form_start” and “form_submit” events, we think a more robust list of events that capture the full form experience will level up your ability to optimize them. In this article, we’ll walk through those additional events, including what they mean, how to track them, and how to report on them.

What are Google Analytics’ default form events?

The two events that most Google Tags will automatically collect are:

These events are collected when the enhanced measurement feature is turned on in your Google Tag’s settings which you can access either through Google Tag Manager or through Google Analytics:

With this feature toggled on, you may see these events start to populate your Google Analytics reports:

If you don’t see one or both of these events, then your form handlers may not play nicely with how the Google Tag normally tracks forms on websites. This could be because your forms are buried inside iframes, don’t use standard HTML elements and data attributes, or don’t actually fire submit messages to the user’s browser. In our opinion, this is all the more reason to build a more customized—and accurate—form tracking system. However, if you’re just looking to fix this issue and don’t want to level up your form experience, here’s a great article on how to troubleshoot issues with the Google Tag’s form submission tracking.

Most marketers stop there. They equate form submissions with a “conversion”—or “key event”, as Google Analytics 4 likes to call them—maybe compare how many forms were started versus how many forms were submitted, and move onto something else. We think there’s more to dig into here.

Why aren’t Google Analytics’ default form events good enough?

While knowing when users start forms and when users submit forms is important, it paints a pretty slim picture of how effective your forms convince users to identify themselves and take the next step with your brand. It leaves marketers with important, unanswered, and sometimes unasked questions, such as:

  • What percentage of users attempted to submit a form vs. successfully submitted a form?
  • What percentage of users even saw a form vs. never found an opportunity to decide whether they wanted to fill one out or not?

Most marketers know the basics when it comes to making effective and high-converting forms: keep them short, keep them simple, and offer something valuable in exchange. But how do we know where the line is between short and long, simple and complex, or valuable and not valuable? Like most questions in digital marketing, the answer should be based on data, but is often answered with a combination of intuition and indifference.

Leaving these questions unanswered can lead to serious consequences:

  • Bad conversion rates: Without a measurable report indicating how users fill out our forms (and more important, when they don’t), we’re flying blind when optimizing for conversion rate. Even worse, we may not even know when our conversion rate is bad in the first place. No funnel is perfect, and no website will ever have a 100% conversion rate, but that doesn’t mean there’s no work to be done.
  • Bad conversion costs: Assuming you’re investing either money in the form of ad spend for paid channels or money in the form of time for organic channels, each form submission costs something. Getting form submissions is a lot like retaining customers: it’s far easier—and cheaper—to do more with the customers you have than to find new ones. In the world of conversion rate optimization (CRO), it’s better to get more form submissions from the users you already have before spending even more money to get more users (and still have a subpar funnel).

Let’s try to fix this by getting some more data into Google Analytics. By asking and answering these questions, you should be able to pinpoint where users abandon the form process, improve your conversion rate and cost per conversion, and send better conversion data to your ad platforms and sales teams.

How to get more data from your website’s form experience

On top of “form_start” and “form_submit”, we think marketers should capture the following:

  • “form_view”, or when a user views a form.
  • “form_start”, or when a user starts filling out a form.
  • “form_submit”, or when a user attempts to submit a form.
  • “form_success”, or when a user successfully submits a form.

With “form_start” and “form_submit”, we can tell if our forms are easy to fill out, which is definitely important. But with these extra events, we can start to see more touchpoints in our user’s journey to converting, and answer some common CRO-related questions. For example:

  • With “form_view”, we can tell if our forms are positioned well on our website and give users enough (but not too many) opportunities to fill them out and identify the next step in the process.
  • With “form_success”, we can tell if our forms are experiencing any technical issues preventing users from filling them out, or if users are running into frequent form validation issues.

Depending on if the Google Tag’s enhanced measurement feature is working for your website, you may only need to set up the extra events listed above. If you need to recreate the “form_start” and “form_submit” events, that’s okay, we have instructions below. Let’s walk through how to set up these events in Google Tag Manager.

How to track when users see a form (“form_view”)

Fortunately, Google Tag Manager makes knowing when certain HTML elements are visible to a user pretty easy.

First, create a new trigger named “Form View” using the “Element Visibility” trigger type. We prefer to use the “CSS Selector” selection method. Assuming we want to know when any form is viewed, we can simply use form for the CSS selector.

Make sure the trigger fires once per element—once per page wouldn’t work if you have more than one form on a page—and make sure the trigger observes DOM changes in case you have a form that shows up in a pop-up modal.

Then, use this trigger in a new tag that fires off a “form_view” event to Google Analytics. We threw in a few event parameters to help us identify which forms were being viewed too.

How to track when users start a form (“form_start”)

You can use Google’s enhanced measurement feature to track this event. If that’s not working, then here’s how to recreate it.

First, create a new trigger named “Form Start” using the “All Elements” trigger type. Add a filter to fire the trigger when the Click Element matches a CSS selector equal to form.

Then, use this trigger in a new tag that fires off a “form_start” event to Google Analytics. You can use some event parameters here as well if you have them.

How to track when users submit a form (“form_submit”)

Like “form_start”, you can use enhanced measurement here, but in case you need to recreate it, here’s how.

First, create a new trigger named “Form Submit” using the “Form Submission” trigger type. This should be all you need to capture attempted submissions.

If your website doesn’t fire a message event to the user’s browser (and thus, doesn’t fire this trigger), then you can use the “All Elements” trigger type with a filter to fire the trigger when the Click Element matches a CSS selector equal to form input[type=”submit”].

Then, use this trigger in a new tag that fires off a “form_submit” event to Google Analytics.

How to track when users successfully submit a form (“form_success”)

This is where things can get complicated. There are many ways to track if a user successfully submits a form. Here are some of the common ways to track this event…

  • Using the “Form Submission” trigger and checking for validation.
  • Tracking a page view on a confirmation, or “thank you”, page.
  • Using the “Element Visibility” trigger for a confirmation message.

… among others. For a full list, check out this article on different ways to set up form submission tracking. Just make sure that whatever method you’re using tracks when a form is successfully submitted, not just when a user attempts to submit a form.

At VOLTAGE, we work primarily with Gravity Forms, a popular WordPress plugin to add full-featured and well-supported form handlers to our websites with a wide range of official and community add-ons to add extra features. One of these features is the Google Analytics Add-On, which fires custom events with custom event parameters to the dataLayer. For a refresher on what the dataLayer is, check out Google’s support documentation.

Once you install and activate the plugin, you can follow these instructions to set it up. We typically use a manual configuration to enter our Google Tag Manager container’s ID and workspace number.

Then, in each form’s Google Analytics settings, we configure a feed to fire the “form_success” event to the dataLayer, and even send across the form data for use in enhanced conversions.

Back in Google Tag Manager, we create a trigger using the “Custom Event” trigger type looking for that same “form_success” event name from the dataLayer.

Then, use this trigger in a new tag that fires off a “form_success” event to Google Analytics.

Testing your work

When you’re done setting up these new tags and triggers, it’s always a good idea to use Google Tag Manager’s preview tool to test each tag and make sure they fire when you want them to. Just make sure to turn off your ad blockers for accurate debugging.

To do this, open up the preview tool in Google Tag Manager:

Open up a URL on your website that has a form on it:

And as you interact with the form, make sure you see the right events coming in at the right time:

How to see these events in Google Analytics

Once you start recording these events in Google Analytics, you could view them in a regular table. But a far more helpful report would be a funnel report. Most marketers don’t know how to create funnel reports in the normal reports library (as opposed to building an exploration report), so let’s walk through it.

First, create an exploration report for a funnel report:

Then, add a step for each form event:

You’ll likely want to add a breakdown dimension showing which forms had certain events take place:

Which should leave you with a funnel report with a great data visualization indicating where users drop off the form submission process and quantifiable dropoff rates. As you optimize your forms and the website’s overall user experience, you’ll be able to compare these abandonment rates against historical data (and theoretically, be able to quantify how meaningful those CRO efforts are).

Next, click the “export” button to copy this exploration report to your reports library.

Then, open up your reports library and move this report to a published collection.

And now, you have a super user-friendly funnel report to show to your team, client, or manager showing how effective your forms are, and where to find opportunities for improvement:

With this report in hand, you’re well on your way to justifying time and resources toward CRO, and hopefully see increases in conversion rates, decreases in conversion costs, and better smart bidding in ad platforms that rely on your conversion data for optimal targeting.