Forms are an indispensable part of the sign-up and checkout processes so reducing friction by limiting the information users have to type here as much as possible is instrumental to a great user experience.


Reduce the number form fields

People are always intimidated when they see a long list of form fields on a single page. Keep the number of form fields between four and seven whenever possible. There are a few ways of achieving this:

Use a single “Full Name Field” – Having “First Name”, “Middle Name”, and “Last Name” as separate fields is highly redundant since people generally think of their name as a single entity. In fact, during testing by Baymard, 42% of the test subjects filled in their full name in the first name field before having to go back and correct it when they got to the last name field.

Remove the email verification field – Nearly half of users just copy and paste their email address in the email verification field instead of retyping it so any errors made in the first email field are duplicated here, making it entirely useless. If you insist on having email verification, at least disable the paste function in the second email field.

Hide or remove optional fields – Optional form fields unnecessarily clutter the form. They’re also intimidating because customers don’t know the fields are optional until they start filling out the form. People are more reluctant to give out their phone numbers so try to be satisfied with the email. On the credit card form, the cardholder’s name isn’t needed to process the payment (it’s only used for security purposes) so if things are getting cluttered over there, chuck it.

Hide “Address line 2” under a link – Users have been shown to doubt their “Address Line 1” (street address) entry when they come to the “Address Line 2” (floor, suite, or apartment number) prompt. If your users don’t use it a lot, it’s best to have it under a link instead of displaying it as a fully fledged form field.


Auto Detect fields

Automatic detection can be used to save users from a lot of unnecessary typing. Take a field like “Country” for example. Instead of having a user select their nation of residence from a drop-down with 190+ options as most sites are wont to do, just use IP geo-targeting to automatically fill that in.

“City” and “State” fields can also be automatically detected by having a user fill in their Zip code instead of endlessly typing. See best practice #123 for my recommendations on address fields.


Allow users to override autodetection

A customer may reside in a disputed territory (Taiwan, Kosovo, and the like) or in a newly incorporated city. In that case autodetection may not work (in the case of a newly incorporated city) or the customer may disagree with your conclusion about their country of residence (in the case of disputed territories).

A customer may also be using a VPN thus masking their real location. 

In such cases, you should allow customers to override the autodetection by manually typing into the text field.