Tracking form submissions via Google Analytics Events

Your website is up and running, the design is sleek and the first visitors flow in. 10, 100 and now 1000 unique visitors per month. But wait, with how much visitors per month should you be happy?

Tracking the number of visitors is pointless if it is not correlated to the conversion rate (and your business goals). 1000 people visiting your page and leaving without having taken any action are worthless to your business. Tracking form submissions can help in this case.

What are your business goals?

Why do you have a website? If you have a restaurant probably you want customers to make reservations on it. As a consultant you will be happy if someone hits the send button on your contact form. As a researcher, over 2min spent on your latest article could be defined as a conversion too.

What is the “the conversion rate”?

Lets say 100 persons visit your website and 5 of them achieve an important task for your business (filling a form, buying a product, etc). Then the conversion rate is 5%! We usually speak about soft conversions (filling a form, downloading a file) and hard conversions (buying a product).

In this article I will explain you how to track form submissions only (on WordPress, with Contact Form 7).

Example: A startup has a website where it advertises its product. Its main goal is that the visitor fills a contact form to reach out. Every time someone submits the form, it is considered a conversion. The boss wants to see how well the traffic form another websites (Referral) performs. He bought a banner for a year, but has no clue if it is worth the money.

A. Setup of the WordPress form & tracking

First you will have to create and configure your form on your WordPress website.

1. Make sure you have the Google Analytics Universal Tracking code in place. You can just paste the code snippet in your header.php or use the Google Analyticator plugin.

2. Install the Contact Form 7 plugin. The setup is very easy, and there are plenty of resources out there to help you with the installation.

3. Create your form.

4. Add some additional settings. This is where the magic happens. The little javascript code below will send an event to Google Analytics, letting it know the form has been submitted.

Tracking form submissions with Contact Form 7

The code to copy-paste:

on_sent_ok: "ga('send', 'event', 'Contact Form', 'sent');"

You could also extend the code with a Label if you have several different contact pages. In the example below I’ve added “English Course”.

on_sent_ok: "ga('send', 'event', 'Contact Form', 'English Course', 'sent');"

Specifying the value of the goal is also possible at this point. More on event value below.

on_sent_ok: "ga('send', 'event', 'Contact Form', 'English Course', '10','sent');"

More about Google Analytics events settings.


Important note: This will only work if you have the Google Analytics Universal version of the code installed. Also if you’ve installed the Yoast Analytics, you will have to make changes the syntax.

Note 2: If you have installed the Facebook Pixel, your can also easily track conversions by simply adding the following line to the Additional Settings. In this case it will track Leads, but you can change this to another type:

on_sent_ok: "fbq('track', 'Lead');"

5. Insert this form on page. And you’re set, for part 1.

B. Tracking form submissions in Google Analytics

Now we have to configure Google Analytics. In order for it to understand this event and figure out what to do with this data.

1. Log into your Google Analytics Account > Choose Admin.

2. Choose “Goals” in the “View” column.

3. Create a new Goal.

4. Choose “Custom” as the type.

5. Enter an goal name.

6. Choose “event” as the type.

Google Analytics Goal setup window

7. Enter the following values in the Event condition. If you’ve added a Label parameter (“English Course”), you can enter it in the label field.


8. If you haven’t specified a Value parameter, you must enter a value. But what value should I give to this goal?

Example 1: The form results in a hard conversion: with each form submission someone makes a purchase. Then the value is the price of the product.

Example 2: You work with leads. Your startup sells personal advices on home design. You get 10 requests on average per month via you site which results is 10’000 of revenue. Divide 10k by 10 visits => a conversion is worth 1000.

9. Test your setting. With the real time tracking of Google Analytics, you can easily see if your whole setup if correct. Just log into Real Time > Conversions. And in a private browsing window fill your form on your website.

Google Analytics Real time conversion and goals


C. Analysing the numbers

You are tracking form submissions with a Google Analytics goal, so what? What to do with this data?

Improve your traffic sources

The chart below can be found in the Acquisition > All Traffic > Channels page in GA. In this example you can rapidly see that the organic traffic has the highest Conversion Rate. Whether the social Traffic (Facebook, Twitter) did not lead to any conversion at all. If you have a paid Facebook campaign active it is the good moment to rethink it.

monitoring conversion rate in Google Analytics

You can also explore Demographics, to better understand which age group is more interested in your product. Or if woman are reacting better to your website for example. Digging down in the referral channel will give you indications if the paid banner (in the example on the top of this article) does lead to any conversion.

This data can also help you in improve your page content, test different layouts or changing the form fields. But that’s for another post.

Additional resources

Also, make sure to subscribe to the newsletter below if you wish to get related content, and much more. I’m sending it out every month. The next one is coming up very soon.

Yann Graf
I am an experienced Digital Strategy Consultant based in Switzerland. After over seven year respectfully crafting and improving the digital presence of Terre des hommes, Nautilus and G-Star Raw, I am now a freelancer. Please have a look at my Portfolio