What is form abandonment?
Form abandonment is when a user begins filling out a form and leaves before submitting it. Abandonment is almost never spread evenly across a form; it concentrates at one field, and finding that field is the entire diagnostic problem.
Form abandonment is when a user starts a form and never submits it. It is one of the most expensive behaviors on the web, because the people abandoning are the ones who already decided to act. They were signing up, checking out, requesting the demo. The form talked them out of it.
Forms snap at one field
The most important fact about abandonment: forms do not fail evenly. An aggregate number like "our signup form converts at 61%" hides the mechanism. In real session data, abandonment concentrates at a specific field, and the sessions that die there die in recognizable ways:
- The repeat rejection. A good-faith answer gets rejected, gets fixed, gets rejected again for a rule the form had not mentioned yet. Password requirements disclosed one failure at a time are the classic. People forgive a form about twice; the third rejection ends sessions.
- The expensive question. A phone number, a VAT number, a company size. The pattern in the events is brisk progress, then a long stall on one field, a tab away, then nothing. The user sat there deciding whether you were worth a phone number.
- The eaten submission. A server error reloads the page and blanks nine completed fields. This one produces rage clicks on the submit button before the exit, and it is the least forgivable of the three.
The longer treatment of these patterns is in The field where signups go to die.
How to measure it properly
Page-level funnels cannot diagnose abandonment because they stop at the page. "Signup page, 39% drop" is not actionable. The unit of analysis has to be the field: which field was focused last before the exit, which field collects repeated corrections, which field shows long hesitation. "People who focus the phone field abandon at three times the rate of people who don't" is a ticket an engineer closes by lunch.
How to reduce it
Once the field is named, the fixes are small and boring:
- State every validation rule before the user types, not after each failure.
- Validate on blur, so mistakes surface one field at a time instead of all at once on submit.
- Move expensive questions after the account exists, or make them optional.
- Preserve every keystroke of state through any failure. Typed input is work; losing it is theft.
- Show exactly where the error is. A message rendered off-screen is a message that does not exist.
Then verify: abandonment on the fixed field should visibly fall after the deploy. If it moved to a different field instead, you found the next problem, not a failure of the first fix. A free scan will show where your forms are losing people now.