For many websites the form is where a visitor becomes a lead: a quote request, a booking, a sign-up. Yet usually only the final result is measured, meaning how many submissions arrive. Knowing that out of a hundred people who open the page three submit says nothing about where the others drop out. Form analytics breaks this step down into observable moments.
The moments to measure
A form goes through a fairly predictable sequence:
- view: the form is present and visible on the page;
- start: the user interacts with the first field;
- interaction with individual fields: they enter and leave each one;
- submit attempt: they press the button;
- validation error: one or more fields are rejected;
- successful submission: the server accepts the data.
The ratio between views and starts is already informative. If many people see the form but don't start it, the problem lies before the fields: the form looks too long, it is unclear what happens next, or the page has not convinced them.
The blocking field
The most useful figure is the last field touched by people who abandon. If a disproportionate share of abandonment happens after the «phone» field, that question needs rethinking: is it really needed? is it clear why you are asking? is it mandatory for no reason?
A typical reading:
| Field | Users reaching it | Abandonments after this field |
|---|---|---|
| Name | 400 | 12 |
| 388 | 15 | |
| Phone | 373 | 96 |
| Message | 277 | 20 |
| Submit | 257 | — |
Here the phone field is clearly the critical point. Making it optional, or explaining in one line that it is only used for a call back, is a hypothesis worth testing.
Validation errors
Counting errors per field reveals problems the form's designer does not see. Overly rigid date formats, phone numbers rejected if they contain spaces, foreign postcodes not accepted, password rules explained only after the error. Every repeated error is a needless obstacle. If the same user gets the same field wrong twice, the error message is not clear enough.
To measure them, an event at validation time with the field name and error type is enough, for example «invalid format» or «required field empty». Never the value entered.
Completion time
Time spent on each field helps identify questions that make people think too hard. A «budget» field where people linger before abandoning suggests uncertainty: perhaps preset ranges would work better than a free number. Time must be read carefully, because anyone who switches tabs or answers the phone inflates it; the median is more reliable than the mean.
Privacy first
Form analytics should observe behaviour, not content. You do not record what the user types, not even partially, and you do not send field values to analytics. Some session recording tools capture typed text if not configured carefully: check this before enabling them, masking every input field. Knowing the field name, the event and the moment is enough.
Essential implementation
The minimum events are few:
- form_start, on the first input;
- form_field_exit, with the field name and whether it was filled in;
- form_error, with the field name and error type;
- form_submit, only after server confirmation.
All with a form identifier, so different forms on the same site can be compared.
From measurement to improvement
The data shows where to look; changes must then be verified. The most common fixes are simple: remove unnecessary fields, accept different formats, move explanations before the question, show errors next to the field rather than at the top of the page. When traffic allows, an A/B test confirms whether the change truly increased successful submissions, not just starts.
In short
- Break the form down into view, start, fields, attempt, errors and successful submission.
- The last field touched by people who abandon points to the most problematic question.
- Count validation errors by field and type: they reveal invisible obstacles.
- Measure behaviour, never the content users type.
- Verify changes on successful submissions, not just on starts.