Ecom Ideas
  • Homepages & nav
  • Category pages
  • Product pages
  • Cart pages
  • Checkout
  • Site search
  • Internationalization
  • Holiday ideas
  • Featured idea gallery
  • Topical articles
Subscribe

Get daily ideas

LinkedIn
šŸ’”
Ecom Ideas
/Checkout
Checkout
/
ā„¹ļø
Form usability (general)
ā„¹ļø

Form usability (general)

Tap any tip to open toggle ⚔ some gifs may take a moment to load

Featured ideas šŸ¦„Ā are rare ideas you may not have seen before ;-)

ā“Checkout FAQ

‣
ā“Should you only use top aligned labels, or are šŸŖ‚Ā ā€œfloating labelsā€ OK?
šŸ’”
There’s hot debate in the UX world around 🄊 label alignment 🄊 and whether it’s OK to use inline field labels.

Early eye-tracking studies by Matteo Penzo (2006) and Luke Wroblewski (2007) took a hard stance for top-aligned labels, and against other patterns, especially inline labels. Later work by NN Group (2014) reinforces the idea that placeholder text, in general, hurts form usability. More recently, creative designers have embraced a newer pattern, floating labels which start with placeholder text that floats to the top of a field as users start typing.

image

Many, many, many top retailers have implemented the floating label — are they wrong?

Adam Silver (2017) makes a strong, 7-point case why floating labels are a bad idea, while the web accessibility experts at Userway recommend floating over static for visually impaired users.

Silver argues inline labels leave no room for hint text (fair, although you can use sub-copy below fields or tooltips where appropriate), typically are low contrast, and placeholder text can be misinterpreted as already filled values that users will skip over (Nielsen Norman agrees). Much of the early user testing research focused on eye tracking and reducing the visual fixations required - the idea is help users get through the dang thing faster. Proponents of floating labels argue top aligned fields waste space and make the form subjectively feel more difficult. In a mobile-first world, conserving real estate is a serious consideration. But with the popularity of browser auto-fills and typeahead address finders, users today need to spend less effort filling in every single field. Perhaps, both are great, just pick one. And if you have the resources to, A/B test it. 🧪 

Or, follow Shopify’s decision — even if you’re on a different platform. You bet they’ve tested the $*#@ out of their hard-coded checkout, and they’ve chosen to float šŸŖ‚Ā . They won’t let their own customers mess with its layout, why should fix what isn’t broken?

šŸ›ļøĀ Shopify’s checkout form style - 2023
šŸ›ļøĀ Shopify’s checkout form style - 2023
🧠
Tutorial: How to create a floating form field
‣
ā“Should you enclose the checkout?
šŸ’”
Yes! Enclosing the checkout (removing header navigation) minimizes peripheral distractions and is thought to increase conversion. Just make sure there’s a clear and intuitive way to go back to the cart for users that want to keep shopping or edit cart contents (e.g. your header logo).
‣
ā“Should you persist the Order Summary through checkout?
šŸ’”
Many articles proclaim showing the Order Summary with cart contents and cost totals throughout the checkout process is a best practice.

The premise is it builds confidence and reduces the need to exit and re-view the cart. And it can be helpful to keep a running total when users make selections within checkout that can impact total costs (e.g. entering a shipping address, choosing an express shipping method or adding gift options. You want to see your updated cost in the Payment step to understand exactly what you’re committing to.

However, persisting the Order Summary through checkout can be distracting and even an anxiety-inducing reminder that you’re soon to part with some coins. šŸ’øĀ It takes up valuable mobile real estate šŸ“±, and is not always implemented well.

I’ve seen A/B tests win and lose showing/hiding the summary in the Checkout. Shopify’s decided to collapse it by default for mobile users, but with some tricky javascript you can overcome the Liquid lockdown (if you’re on Shopify Plus with jQuery enabled).

If you or your team is asking this question — go ahead and test it. 🧪 It’s one of those things where there’s no hard rule and ā€œyour mileage may vary.ā€

‣
ā“How can we make checkout forms 🦾 more accessible?
🧠
The WC3 Web Accessibility Initiative has detailed information that you can use to audit your own checkout.

šŸ’”Ā Ideas and tips

Form design and layout

‣
Avoid unnecessary fields šŸ’‹ Keep it Short, Smarty!
šŸ’”
Shorter forms generally convert better. Avoid unnecessary fields, for example, Title, Address 2 (recommended to show it collapsed, as in the tip below), Birthdate (unless required), Mother’s Maiden Name (kidding) — unless absolutely required. Remember that browsers like to autofill fields, and a non-standard first field can throw the whole fill off.

🤨 Avoid ā€œAddress titleā€ fields — especially for modern browsers that like to autofill forms (yep, Chrome tries to autofill the address in the ā€œtitleā€ field)

image
‣
Use single column layout
šŸ’”
From Nielsen Norman Group: Multiple columns interrupt the vertical momentum of moving down the form. Rather than requiring users to visually reorient themselves, keep them in the flow by sticking to a single column with a separate row for each field. (Exceptions to this rule: short and/or logically related fields such asĀ City,Ā State, andĀ ZipĀ CodeĀ can be presented on the same row.)

šŸ‘ŸĀ Skechers adheres to the vertically aligned form layout recommendation

image
‣
Use sub-copy instead of placeholder (hint) text
šŸ’”
User research by Nielsen Norman and Baymard Institute finds that placeholder text within a form field causes issues. It disappears as users type, and most forget what it said. If you really need to provide supporting info, use microcopy below the field.

šŸ‘‰Ā Sub-text persists as users enter their information. Small type can be harder to read, so mind font size, etc

image
image
‣
Make optional fields obvious*
šŸ’”
Most checkout forms today have dropped the red asterisk from required fields in favor of black/gray, perhaps because the * feels off-brand or outdated — but the red accent is a long-standing Web convention that can help users instantly identify which fields are required and which they can skip. Don’t make them think!

šŸ‘¢Ā DSW uses the conventional approach with its asterisks* - red color, to the right of field labels

image

Contrast the above with merchants that use gray asterisks within the fields themselves - very hard to visually process:

image
‣
Use hint text to show formatting examples
šŸ’”
Ideally, your forms will be flexible to interpret spaces/no spaces in fields like zipcode/postal code, telephone and credit card numbers. If for some reason you can’t do this, use hint text to guide users.

šŸ‘ŸĀ Skechers uses hint text to display formatting examples for users

image
‣
Consider collapsing the address form to a single field
šŸ’”
Working off the premise that shorter forms convert better, many e-tailers are trying out shorter forms that auto-expand after a user chooses their address from an address autocompletion dropdown:

šŸ’”Ā Ann Taylor shortens its form by presenting Address 1 alone with hint text ā€œStart typing your shipping addressā€ and a toggle to expose the hidden form fields if users wish

image
‣
Use tooltips for additional context (with care)
šŸ’”
Tooltips can help you squeeze more information into your forms, just beware that few users actually bother to engage with them. Use them only for text that’s too large/distracting to include in the form, and that’s not critical info that would be better shown as hint or sub-copy.

šŸ›ļøĀ Saks uses a tooltip to provide additional information about delivery signatures. Because only a segment of customers care about this, and such detail would clutter up the form, the tooltip is an appropriate solution

image
‣
Leave ample space between fields when using sub-copy

😬 It’s harder to associate the sub-copy with its corresponding field when padding is tight. This is a poor example!

image

Form behavior

‣
Invoke the email keyboard for Email fields šŸ“²Ā on mobile

šŸ“²Ā Make sure your checkout pulls the right keyboard with the @ symbol and . visible with the alpahbet

image
‣
Invoke the number keyboard by default for Address field šŸ“²Ā on mobile
šŸ’”
Most addresses start with a number (there are exceptions). Setting the default keyboard input to ā€œnumberā€ for Address fields saves *most* users from having to switch from the default text keyboard to the numeric one.
image
‣
Invoke the the telephone keypad for Credit Card, CVV, Telephone and Zipcode fields
šŸ’”
Setting the input to ā€œnumberā€ when shoppers are entering their credit card, CVV numbers or addressses will ensure that they save time without having to switch from the default text keyboard to the numeric one. Setting the input type to ā€œtelā€ gives shoppers the telephone keypad that mimics the user interface shoppers are familiar with when making phone calls.
image
image
‣
Disable AutoCorrect and SpellCheck for Name, Address, Zip and Postal Codes šŸ“²Ā on mobile
šŸ’”
Don’t let users’ mobile phones try to correct their names to common words!
‣
Support tabIndex for next/previous navigation šŸ“²Ā on mobile
šŸ’”
Use an HTML tabIndex attribute to accurately specify the form fields’ order sequentially, from the top to bottom of your checkout page. This helps shoppers move swiftly between input fields.

šŸ“²Ā TabIndex allows users to navigate forward and back using < and > buttons

image
image

Validation and error handling

‣
Use inline validation
šŸ’”
🧠 A user testing study by Etre and Luke Wroblewski found that inline validation resulted in a:
  • 22% increase in success rates
  • 22% decrease in errors made
  • 31% increase in satisfaction rating
  • 42% decrease in completion times
  • 47% decrease in the number of eye fixations (easier to visually process)

The 22% increase in success rate means 22% less people abandoned the form, all else equal.

šŸˆĀ Fanatics returns error messaging as a user tabs ahead, vs after the full form is submitted

image
‣
Don’t return errors too soon
šŸ’”
Wait until a user tabs over to or interacts with another field before validating input - you’re not sure if they’re done typing! When the user corrects it, be sure to give positive feedback that it’s corrected (e.g. with a green checkmark).
‣
Make sure you don’t validate bad data - audit your checkout!

😐 Most forms accept any input. It’s worth putting additional validation rules into your back end, such as minimum character count for address or zip/postal code and phone number fields

image
‣
Make error text proximal and contextual
šŸ’”
Help users understand why their form submit failed with specific error messages that appear with the impacted fields, with red or other highlight style (versus a single error message at the top of the page).

šŸ§˜ā€ā™€ļøĀ Lululemon explicitly describes the error with the fields that need correction, vs a single error message at the top of the form

image

šŸ‘–Ā Urban Outfitters describes the nature of the error, where possible

image

🐊 Crocs explains the nature of the error - the zipcode was too short. Ideally it would also call out that only numeric inputs are accepted in this US-scoped form

image

šŸ‘œĀ If you use floating labels, you can use placeholder text for the error and bump it to the top as users correct it, like Coach

image
‣
Make address lookup targets easy to tap

šŸ‘—Ā Aritzia adds padding to its typeahead results to make them easy to tap on mobile

image

Contrast this with examples of tighter padding that can be more difficult to tap precisely:

image
image
‣
Persist valid captured data after form submission (with errors returned)
šŸ’”
Make sure you don’t wipe all form fields after submission if any one field fails validation — yes, even the password entry. There’s nothing more annoying than re-entering an awkwardly strong password again. šŸ§„ Tip for coders: Garlic.js enables you to persist form values locally until the form is submitted. This way, users won’t lose any precious data if they accidentally close the tab or browser.
‣
Persist valid captured data across sessions
šŸ’”
Help returning checkout abandoners pick up where they left off by persisting their validated input data. While this won’t work for users that have rejected all cookies or cleared their cache, it can help speed up checkout for many customers — especially those that accidentally close their browsers. ā³Ā How long should you persist carts? Anywhere from 7 days, to 90 days or indefinitely. It depends on your customer behavior and how evergreen your catalog is.

šŸ§„ Tip for coders: Garlic.js enables you to persist form values locally until the form is submitted. This way, users won’t lose any precious data if they accidentally close the tab or browser.

🫣 Cautions

‣
Avoid left aligned field labels
šŸ’”
As mentioned above, this style always underperforms in user tests (Baymard Institute, Luke W) — it simply adds to cognitive load.

šŸ™ˆĀ Avoid left-aligned labels. The ragged spacing makes it harder for users to relate each label with its field and requires unnecessary eye movement

image
‣
Avoid multi-column or unconventional form layouts
šŸ’”
From Nielsen Norman Group: Multiple columns interrupt the vertical momentum of moving down the form. Rather than requiring users to visually reorient themselves, keep them in the flow by sticking to a single column with a separate row for each field. (Exceptions to this rule: short and/or logically related fields such asĀ City,Ā State, andĀ ZipĀ CodeĀ can be presented on the same row.)

🤨  2-column layouts are proven to underperform in user tests compared to single column flows

image

🤨 Unconventional form layouts can look cool, but can increase the cognitive load on how to navigate through. The vertically aligned pattern has been extensively user tested - why reinvent what isn’t broken?

image
‣
Don’t use ghost šŸ‘»Ā fields

šŸ‘»Ā Ghost fields break conventional design in favor of plain horizontal lines. Can you discern the difference between the Credit Card Number field and the horizontal spacer between credit and PayPal payment options?

image
‣
Avoid placing required field asterisks inline

🤨 Inline asterisks make it hard to scan the form and quickly identify your required fields — especially when you deviate from the red asterisk convention!

image
‣
Don’t repeat yourself in hint text

šŸ™ˆĀ There’s no reason to fill fields with hint text identical to their labels. Notice how this makes the one true hint (Zip/Postcode) far less effective

image
‣
Be careful when replacing your Address form with a single address lookup field
šŸ’”
Address autofill tools like Loqate are nearly ubiquitous now, but the convention is still to embed them in the Address 1 field, versus replace with a Search box. Kohl’s replaces its entire billing address step with this (no header or anchor fields around it), which is an anti-pattern that can easily throw users off.

🤨 This can seriously confuse customers who have never seen this before — especially with the headline ā€œBill to new address,ā€ which is head scratching for guest checkouts — was my Shipping address not good?

image

If you really want to leverage a shorter form, consider these tweaks — use ā€œFind your addressā€ vs ā€œSearch for an address.ā€ Note that this example doesn’t replace the entire Address step with just a box — the First Name/Last Name fields and Shipping heading anchor that this is still a Shipping step:

image
‣
Don’t hide alternate payment options behind tabs

šŸ‘»Ā There’s no visual styling applied to the PayPal tab. Did you notice it at all?

image
‣
Don’t pre-validate optional labels
😬
User testing shows time and time again that inline text gets confused with completed fields (especially when placeholders are input text are both black). When optional fields are pre-validated with a checkmark, it compounds this issue
image
‣
DON’T USE ALLCAPS FOR LABELS OR MICROCOPY

😿 ALLCAPS IN GENERAL MAKE TEXT HARD TO READ, LET ALONE PAIRED WITH INLINE LABELS AND LOWER CONTRAST FONT (ON MOBILE!)

image
‣
Don’t hide important details behind tooltips

Yes, I’ve recommended tooltips in the ideas above — I’m talking about important details that would better be served by auto-visible microcopy. Anecdotally, users don’t interact with tooltips often. It’s risky to hide important details or instructions behind them.

As a survey designer, I’ve done many tests on such ā€˜hint’ icons, containing additional copy. In our tests, respondents almost never see them, and of those that do very few access them. We concluded to never use them for anything we actually want a user to see.

(Source: UX Movement Comment section)

Back to Checkout ideas

šŸ‘‰Ā Follow on LinkedIn for daily ideas šŸ’”