How to Use Google Analytics 4 for Form Analytics: A Step-by-Step Guide

How to Use Google Analytics 4 for Form Analytics: A Step-by-Step Guide


Are you looking to get the most out of your website forms but don’t want to invest in expensive form analytics software? Good news: Google Analytics 4 (GA4) has got you covered! With GA4, you can track user interactions with your forms, right down to individual fields. This enables you to identify drop-off points, measure the time elapsed between completing each field, and more.

In this blog post, we’ll walk you through how to set up GA4 as a powerful form analytics tool. We’ll cover everything from setting up events and triggers in Google Tag Manager (GTM) to creating a funnel in GA4 to visualise your data. By the end of this, you’ll be able to track each field interaction, see drop-off rates, and even measure the time between each field.

Bonus: If you’re more of a visual learner, you can watch our detailed video tutorial on the same topic. Or, continue reading the blog post below for all the insights.

Setting Up Events and Triggers in GTM

Step 1: GTM Preview Mode

First, head over to your form (we’re using a ‘Contact Us’ form for this example) and enable GTM’s preview mode. This allows you to track events as they fire.

Step 2: Create Events for Each Field

For each form field, create a separate event. For instance, when a user starts filling out the ‘Name’ field, an event called form_fill_started should fire, containing a parameter called field_value.

Note: You’ll need a developer to implement a script for this. The script should fire the event after a user enters at least three characters, indicating their intent to complete the field.

Step 3: Monitor Events in GTM Tag Assistant

Use GTM Tag Assistant to monitor these events. For example, filling in the email address should fire an event called form_fill_email.

Step 4: Create a Trigger in GTM

  1. In GTM, navigate to ‘Triggers’ and click ‘New’.
  2. Name the trigger (e.g., “Form Fill Trigger”).
  3. Choose the trigger type as ‘Custom Event’.
  4. Use the RegEx pattern ^form_fill_ to match events that start with form_fill.
  5. Save the trigger.

Step 5: Create an Event Tag in GTM

  1. Go to ‘Tags’ and click ‘New’.
  2. Name the tag “GA4 Event – Form Field Interaction”.
  3. Choose ‘GA4 Event’ as the tag type.
  4. Configure the tag to pick up the event name automatically and add the field_value using a data layer variable.
  5. Assign the trigger you created in Step 4 to this tag.
  6. Save and publish the changes.
Conversion Uplift Form

Creating a Funnel in GA4

Step 1: Navigate to GA4’s Explore Section

Go to the ‘Explore’ section in GA4 and create a funnel. Name it something like ‘Form Analytics’.

Step 2: Add Steps to the Funnel

Start by removing the pre-set steps in the funnel that GA4 adds when you create a new report. Now begin adding the first event, which could be a visit to the ‘Contact Us’ form. Then, add each form field step, starting with the Event “form_fill_start” and continue for each form field you had your developer include a data layer push for.

Step 3: Save and Apply

After adding all the steps, save and apply the funnel. You can also extend the date range for more comprehensive data. You can also add a breakdown, such as by Device Category.

Step 4: Enable ‘Show Elapsed Time’

This feature shows the time elapsed between each step, helping you understand user behaviour.

Analysing the Data

Once your funnel is set up, you can analyse the data to see user drop-off rates for each field, giving you insights into potential issues.


GA4 offers a detailed level of form analytics. With some help from a developer, you can set up a comprehensive system using GA4 and GTM.

For those who prefer a visual guide, our video tutorial covers the same steps. You can also check out more of our blogs here.

More reading

How to Set Up a GA4 Roll-Up Property with Google Tag Manager

How to Redact Email Addresses and Query Parameters in Google Analytics 4


Leave a Reply

Your email address will not be published. Required fields are marked *