Opened 5 years ago

Last modified 11 days ago

#562 reopened New feature

Web Form Analytics - Form usage, abandoned, submitted

Reported by: bwo Owned by:
Priority: critical Milestone: 2.x - The Great Piwik 2.x Backlog
Component: Core Keywords:
Cc: adrian Sensitive: no

Description (last modified by matt)

It would be nice if Piwik implemented Form Analytics to let us know more information about how Forms are filled in, abandoned, and how can Piwik users improve their web form conversion rates.

Form Analytics Proposal, by Adrian

Here is what I was thinking about form abandonment/form analytics. The reason Form Abandonment is it would hook into your other form metrics you were interested in. How and why people do not finish filling in a form, what are pain points. It will help people make better form as and it is a feature, that is something which would be unique to an open source analytics.

Basically, I thought we could create a new report which would use a version "Virtual Pageviews" which could be pivot to a new measurement called "Form Actions". It should be done without increasing pageview counts. It would look something like this:

piwikTracker.trackFormView('Form Name', 'Form Field', 'Time Spent')

A user would add it to their code to attach to their form fields, when they build a form. It would then allow a us to build a couple of new reports under goals:

Conversion rate for forms. It would look at the number of forms completed vs those attempted (loaded).
A drop rate is the number of visitors who started a form but didn't submit it. A forms version of Bounce rate.
Completion time is the average time taken for visitors to complete the form over the period, and specific questions. It might tell a user the pain parts of a form.
Blank field rate tells you what percentage of fields on the form are typically left empty.

The leader in the field is Clicktales, you can read about their Form Analytics here:

Here I found some javascript out there form people trying to make GA do things with events.

time spent:

sample event tracking with GA

Actual code:

<script type="text/javascript" src="/jquery/purl.js"></script>

<script src=""></script>
<script type="text/javascript">

$(document).ready(function() {

var currentPage = jQuery.url.attr("path");
$(':input').blur(function () {

if($(this).val().length > 0){

pageTracker._trackEvent("Form: " + currentPage, "input_exit", $(this).attr('name'));





Example form:
<form id="my-node-form" name="my-node-form">
<select name="field_category" id="edit-field-category">
<select name="field_color" id="edit-field-color">
<select name="field-city" id="edit-field-city">
<input type="text" id="edit-field-keywords" name="field_keywords[und]" value="">


Change History (11)

comment:1 Changed 5 years ago by vipsoft (robocoder)

  • Resolution set to duplicate
  • Status changed from new to closed

For now, this has to handled on the backend where the validation occurs. A workaround is to put the tracking code on a "thank you" page.

Dupes ticket #134 which tracks the server API; #355 tracks the JS.

comment:2 Changed 5 years ago by matt (mattab)

Actually this is a real feature request, but won't be implemented as requested (I think), however there will be a way of doing this.

Once #355 is done, I will add a method to send a "goal" event to Piwik. This method could also be called automatically when your newsletter form is validated. This would trigger from javascript a goal in piwik.

does that make sense? it's not possible yet but will def be once we tackle #355 and once we finish work on goal tracking plugin.\

SEE ALSO THIS FORUM POST:,83224,83313#msg-83313

comment:3 Changed 18 months ago by matt (mattab)

  • Component changed from New Plugin to Core
  • Description modified (diff)
  • Milestone set to Feature requests
  • Sensitive unset
  • Summary changed from New goal trigger - form submission to New goal trigger - Form Analytics

comment:4 Changed 18 months ago by matt (mattab)

  • Resolution duplicate deleted
  • Status changed from closed to reopened

comment:5 Changed 18 months ago by matt (mattab)

  • Description modified (diff)

comment:6 Changed 18 months ago by matt (mattab)

  • Cc adrian added

once we track forms we can also show the information very nicely in Insights! See #2465

Updated ticket desc with Adrian proposal

Last edited 14 months ago by matt (previous) (diff)

comment:7 Changed 16 months ago by matt (mattab)

  • Milestone changed from Feature requests to 1.x - Piwik 1.x
  • Summary changed from New goal trigger - Form Analytics to Web Form Analytics - Form usage, abandoned, submitted

comment:8 Changed 14 months ago by matt (mattab)

  • Milestone changed from 1.x - Piwik 1.x to 1.12.x - Piwik 1.12.x

comment:9 Changed 13 months ago by matt (mattab)

  • Milestone changed from 1.12 - The Great 1.x Backlog to 2.x - Piwik 2.x

Pageviews, entries, conversion rate, time on form,

Clicktale form funnel

Last edited 3 months ago by matt (previous) (diff)

comment:10 Changed 2 months ago by matt (mattab)

  • Priority changed from major to critical
Note: See TracTickets for help on using tickets.