Koozai > Blog > How To Track Contact Form Submissions Without A Confirmation Page

How To Track Contact Form Submissions Without A Confirmation Page

| 1 minute to read

SubmitSometimes web developers are unable to create a thank you or confirmation page for a form submission, this leaves you unable to easily track how many forms have been completed, as goals in Google Analytics require a URL. However, there is a nice and easy way round this. It just takes a small amount of code and you can create a pretend URL to load when the submit button is pressed.

This is done by using the Virtual Pageview method which, as you might have guessed, enables you to track a page that doesn’t actually exist. It will then appear in your content report and you can create a goal with this URL destination. An alternative would be to use Event tracking, however if you wanted this page created by web developers there is no harm in using Virtual Pageviews. If you didn’t want to have a Virtual Pageview in your content report you can always use Event tracking, details of how to do this can be found in my post about tracking clicks on a link in Google Analytics.

Here’s the code used in a typical form submission button, the second one here has the Virtual Pageview tracking code in:

<input name=”submit” type=”submit” id=”Submit” value=”Submit Form”/>

<input name=”submit” type=”submit” id=”Submit” value=”Submit Form” onClick=”_gaq.push([‘_trackPageview’, ‘/form/submit’]);”/>

So the area to customise is:

onClick=”_gaq.push([‘_trackPageview’, ‘/form/submit‘]);”

You can choose what you would like the URL to be, if you have more than one form you can name each one differently.

Once you have chosen your virtual URL and added the code within the button, the final step is to create a goal in Google Anlaytics to measure this.

Image Source

Web Submit Button via BigStock

Responses

  1. Alex avatar
    Alex

    this solution will not guarantee that _all_ of the form submissions are tracked, as the submit event triggers a POST before the event request to GA is received by them. i´ve tried a number of ways to accomplish that by hand and realized that it is impossible.
    i ended up using a vendor, RevRise for this problem which seems to work fine for now (although in beta).

  2. Rick V avatar
    Rick V

    Thanks for the tips! can you confrim if this still works with analytics new asynchronous tracking, or will this need to be modified to call javascript when setting trackPageview?

    example:
    onClick=”javascript: pageTracker._trackPageview(‘/form/submit’)”>

    Thanks

    1. Anna avatar

      Hi Rick, the code above is for the new asynch version, you can spot the difference by looking for the push function which is not used in the traditional code. Shout if you have any problems getting it working and would like a hand.

Leave a Reply

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

aspect-ratio
Robot sat on bench using a laptop to do a Google search
Sophie Roberts

Google AI Mode Ads Are Coming to the UK: 7 Things Advertisers Should Do Now

Sophie Roberts
@hospitalitysoph
30th Oct 2026
aspect-ratio
Koozai's Marketing Hall of Horrors characters, featuring an algorithm witch, conversion killer, feedback poltergeist, Frankenstein's website, keyword mummy, scope vampire, vanity metrics zombie and website launch skeleton, surrounded by spooky marketing graphics.
Isobel Walster

Koozai’s Marketing Hall of Horrors: 9 Marketing Nightmares and How to Avoid Them

Isobel Walster
22nd Oct 2026
aspect-ratio
Sophie Roberts

The UK Cities Searching Most for Help Appealing Parking Fines

Sophie Roberts
@hospitalitysoph
20th Oct 2026
aspect-ratio
TV Interview
Isobel Walster

Koozai Couch: Interview with Leonardo Chinchilla

Isobel Walster

Digital Ideas Monthly

Sign up now and get our free monthly email. It’s filled with our favourite pieces of the news from the industry, SEO, PPC, Social Media and more. And, don’t forget – it’s free, so why haven’t you signed up already?