Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking to track the time it takes users to traverse through a few forms I have on a website.

My old thought was to use something like jQuery to poll the server updating the time spent on a page, but it appears this would be incredibly resource intensive.

Recently I've been reading about and node.js. It seems like the connection and disconnection methods might be a perfect way to track time.

Before I dive into learning all about sockets etc, is there a better way for doing this? I know I could do this server side, but it'll fall over if someone abandon's the site entirely midway through the process, and with sockets I could even track down to the length of time spent on each form field if I wanted.

share|improve this question
Is thier a business requirement behind this or is it expiremental/debugging/curiosity driven? Also what if they just walk away from their computer to get some coffee? Will this affect your use case? – maple_shaft Apr 2 '12 at 12:21
It's more to see where the forms could be improved as time goes on - the end user's will normally fill in from start to finish in one go due to the nature of the forms use (It's a one off system that they'll rarely use twice). The target audience will be of all different skill levels in using computers, so it'd be helpful for improvement on question labels, form flow etc. – BenOfTheNorth Apr 2 '12 at 12:23
Store the time, when the form is requested. Store again, when form is submitted. Seems to me as simple as this. Otherwise as maple_shaft already pointed out, you won't get very good data anyway. (And polling the server once in a while shouldn't kill it or you have a serious bottleneck problem anyway) – thorsten müller Apr 2 '12 at 12:24
if you want advice on how to layout your forms for ease of use you should go to ux.stackExchange – ratchet freak Apr 2 '12 at 12:25
@ratchetfreak - I don't want advice on laying them out, just a way to track use for now – BenOfTheNorth Apr 2 '12 at 12:26
up vote 2 down vote accepted

Any Decent web analytic package will go this for you. If that doesn't work for you I would analyze the web logs.

I don't think this is something you want code into your front end.

share|improve this answer
Do you know of any packages that could track progress through a form? I haven't seen anything like that in GA at least, would love it if you knew of any? – BenOfTheNorth Apr 2 '12 at 12:30 will do that. As will many others. – Morons Apr 2 '12 at 12:33
I've just found some more info on this in GA - looks pretty much perfect and will save me hours! Google should really make this a bit more obvious within the app :/ Thanks. – BenOfTheNorth Apr 2 '12 at 12:35
I use Statcounter for my sites where I'm not using another Google product (Adsense, Adwords). No need to give the Big G more data they can use for their own nefarious purposes. – jfrankcarr Apr 2 '12 at 13:55

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.