All guides

Checkout and form friction: what people actually abandon over

Design6 min read

Baymard Institute maintains a running figure for cart abandonment drawn from 50 separate studies. It sits at 70.22%. Seven in ten people who add something to a basket leave without buying.

About 42% of that is browsing behaviour, people comparing prices or saving something for later, and no amount of design fixes it. The rest is friction you built.

Cost surprises do the most damage

Extra costs at checkout are the top cited reason, at 40%. Shipping, tax and fees appearing at the final step, after somebody has already decided what they want and started entering details.

The problem is the surprise rather than the amount. A customer who knew about a £6 delivery charge on the product page accepts it. The same charge revealed at step four of five reads as a bait and switch, and people leave over the feeling rather than the money.

Show total cost as early as you can. If shipping depends on destination, put a postcode estimator on the product page. Twelve percent abandon specifically because they could not calculate their total upfront, which is the same problem wearing a different hat.

Forced account creation

Eighteen percent abandon when made to create an account. This one is almost pure self-harm, because the account exists for the merchant’s benefit rather than the customer’s.

Offer guest checkout. Then, after the order is confirmed, offer to save the details as an account with one click. You capture the same data, at a point where the customer has already got what they came for and is feeling positive rather than obstructed.

Seventeen percent abandon because checkout was too long or complicated, and another 17% because the site threw errors or crashed. Those three reasons together outweigh slow delivery, which sits at 20%.

Every field costs you something

The general rule holds across checkouts and enquiry forms alike. Each additional field reduces completion, and most forms collect things nobody uses.

Go through your form field by field and ask who reads each answer and what they do differently because of it. “How did you hear about us?” is the classic offender: it is unreliable self-reported data, it is answered inconsistently, and you can get better attribution automatically from UTM parameters as described in speed to lead.

Address entry deserves particular attention. A postcode lookup replaces five fields with one and eliminates most address errors at the same time. Card fields should accept spaces in the number, because people read their card in groups of four and typing it that way should not produce a validation error.

Validation that helps rather than scolds

Validate as people go rather than all at once on submit. Somebody who fills eight fields, hits submit, and gets four red errors has to re-read the whole form to work out what happened.

Be specific in error text. “Invalid input” tells nobody anything. “Card expiry should be MM/YY” tells them exactly what to change. Keep the error next to the field it belongs to, and never clear what somebody already typed. Wiping a form on a failed submit is the fastest way to lose a sale that was seconds from completing.

Errors need to be reachable by screen readers too, which means associating them with the input rather than just colouring the border red. Colour alone fails for the same reason contrast failures do, and we go through the rest of that in six accessibility fixes that cover almost everything.

Trust at the point of payment

Nineteen percent abandon over security concerns, which is a design problem more than a technical one. Most sites are perfectly secure and simply fail to look it at the moment it matters.

Keep payment on your own domain rather than bouncing to an unfamiliar third-party page. Show the padlock and the card logos near the payment fields where people are looking, rather than in a footer nobody scrolls to. State the returns policy in the checkout instead of linking away to it, since 13% abandon over returns and a link that opens a new tab is a link that loses the sale.

This applies to B2B enquiry forms

None of this is exclusive to ecommerce. A quote request form is a checkout where the currency is effort, and the same psychology governs it.

Long forms, unexplained required fields, error handling that dumps you back to the top, and no acknowledgement of what happens next all cost you enquiries in the same proportions. The difference is that ecommerce measures abandonment obsessively and B2B mostly does not, so the losses stay invisible.

Instrument your form. Track how many people focus the first field against how many submit, and where they stop. That single funnel usually reveals one field doing most of the damage.

The one-hour version

Load your own checkout or enquiry form on a phone and complete it start to finish with a real payment or a real enquiry. Count the taps and the seconds. Deliberately make a mistake in one field and see what the form does to you.

Most teams find something they would never have shipped had they tried it once on the device their customers actually use.

Fixing that flow sits between design and development, which is the sort of thing that gets lost when those are two different agencies. Get in touch if yours needs a look.

References