- A better checkout removes reasons to leave: forced accounts, long forms, hidden costs and doubts about payment security. Each of them appears in the Baymard list of abandonment reasons.
- The average documented cart abandonment rate is 70.22% (Baymard Institute, average of 50 studies). The top reason is extra costs that are too high (40%).
- The 11 best practices cover structure, forms, payment and costs, and trust. A checklist at the end turns them into points you can check on your own shop.
- Best practices are starting points. An A/B test shows whether a change works in your checkout. On Shopify, the checkout steps can be tested on Shopify Plus only.
Checkout optimization means removing the reasons buyers abandon a cart after they decided to buy. The most common ones are extra costs that appear late, a forced account, a long or confusing form and doubts about payment security. Fix those, show the total cost early, and a larger share of carts ends in an order.
This guide gives 11 best practices for online shops, grouped by where a checkout loses buyers: structure, forms, payment and costs, and trust. It is independent of your shop system. For Shopify, it also shows where the platform limits testing and what you can still do. A checklist at the end helps you review your own checkout.
Where checkouts lose buyers
Most buyers who leave do so after they have already decided to buy. The Baymard Institute collects studies on this and reports an average documented cart abandonment rate of 70.22% (average of 50 studies, retrieved October 20, 2026). Its list of reasons from US shoppers reads like a checklist of checkout flaws:
- Extra costs too high: 40%
- Delivery too slow: 20%
- Did not trust the site with card details: 19%
- Account creation required: 18%
- Checkout too long or complicated: 17%
- Errors or crashes: 17%
- Return policy not satisfactory: 13%
- Total cost not visible up front: 12%
The shares do not add up to 100%, because shoppers could name several reasons. Several of them sit in the checkout itself: forced accounts, length, trust, errors and unclear total costs. The 11 best practices below follow that list. Each one names the reason it addresses, so you can start with the flaw your own data points to. For the cart page and for winning back buyers who already left, see our guide to abandoned cart best practices.
Structure: steps, guest checkout, progress indicator
Structure decides how long the checkout feels. Three practices shape it:
- Offer guest checkout. Forced account creation is a documented reason for abandonment (18% in the Baymard list). Let buyers pay first and offer to save their details afterward, for example with one password field on the order confirmation page.
- Show a progress indicator. If the checkout has several steps, name them and mark the current one. Buyers who see where they are, and how much is left, have less reason to leave halfway.
- Remove everything that is not needed to pay. The main navigation, promotional banners and unrelated links give buyers a way out. Keep the logo, a link back to the cart and the support contact.
Hypothesis: a single-page checkout works better for small baskets and a multi-step checkout for complex orders. Neither is proven for your shop. Compare both with an A/B test before you rebuild anything.
Forms: fewer fields, autofill, inline validation
The checkout is mostly a form, and every field is a place to stop. The Baymard list names a checkout that is too long or complicated as a reason for 17% of abandoned carts.
- Ask only for what the order needs. Check every field against one question: can we ship and bill without it? Make a second address line, a company name or a phone number optional, or remove them.
- Support autofill. Use standard field names and labels, so browsers and password managers can complete name, address and card data in one tap.
- Validate inline. Tell buyers about an error next to the field, in plain words, as soon as they leave it. Keep what they typed. A form that clears itself after an error is a common cause of lost orders, and errors and crashes show up as a reason for 17% in the Baymard list.
Form design has its own research and checklists. Our guide to form optimization covers the factors in detail. Everything in it applies to the address and payment forms of your checkout.
Payment and costs: no surprises at the last step
The largest group of reasons in the Baymard list is money: extra costs that were too high (40%), a total that was not visible up front (12%) and delivery that was too slow (20%). All three are decided before the buyer reaches the payment button.
- Offer the payment methods your buyers use. Look at your own order data and at the methods common in your target countries. Put the most used method first and show the logos before the buyer chooses.
- Show the total cost early. Shipping, taxes and fees belong in the cart, or as an estimate on the product page. Show them again as a line-by-line summary in the checkout.
- Add no new costs at the last step. A fee that appears on the payment page is the fastest way to lose a buyer who has already filled in every form. State delivery time next to each shipping option.
If your shipping costs decide many orders, set a free shipping threshold with a calculation, and show it where buyers see it. Our guide on how to set a free shipping threshold walks through the steps.
Trust in the checkout
At the moment of payment, buyers hand over card data. In the Baymard list, 19% of shoppers who abandoned a cart did not trust the site with their card details, and 13% named unclear return terms.
- Place trust signals next to the payment fields. A short security note, the accepted payment logos and a recognizable seal belong where the card number is entered, not in the footer.
- Make returns and contact visible. Link the return policy, show the delivery promise and give a support channel with a real contact option. Keep it short, so it does not pull attention from the pay button.
Which seals help, where they belong and when they distract is a topic of its own. Read do trust badges increase conversions before you add logos to the checkout. Too many logos can hurt, and the answer depends on your audience.
Testing the checkout: platform limits and how to test with Varify
Best practices are starting points. Whether one of them works in your shop is a question for an A/B test: show the original checkout to one half of the buyers and the changed version to the other half, then compare completed orders.
What Varify covers. With Prompt-Based Experimentation (PBX), you describe the change in plain language, for example a shorter form, a moved trust note or a new summary. The AI builds the variation and writes the code, and you can refine it as often as you like. See the PBX examples. This works with your own checkout and with shop systems such as Shopware and Magento. Varify sets no cookies, and it reads the results from the analytics tool you already run, such as GA4.
Shopify is different. Shopify restricts what apps and scripts can change in its checkout. Snippet-based A/B testing reaches the storefront and the cart. For the checkout steps, you need an app that works inside Shopify's own checkout extension, and the core steps are open to apps on Shopify Plus only. Our page on Shopify checkout A/B testing explains the details. For Shopify Plus, the Varify Checkout A/B Test app places USP blocks, trust badges, testimonials and free shipping bars in the checkout without code. On other Shopify plans, test the cart and everything before it.
Checkout traffic is smaller than storefront traffic, so experiments take longer to reach a reliable result. Plan the runtime before you start, and change one thing at a time. If you are unsure where to begin, the AI CRO Audit takes the URL of a page and returns recommendations and 10 test ideas that you can use as A/B tests.
Checkout checklist
Check each point on a phone and on a desktop, with a real test order. Write down who owns every open item.
Structure and forms
- Guest checkout works. A buyer can pay without creating an account.
- Progress is visible. Steps are named and the current one is marked.
- Distractions are gone. No menu, no promotions, only a link back to the cart.
- Fields are justified. Every field is needed to ship or bill.
- Autofill works. Standard field names, tested in a mobile browser.
- Errors are inline. The message sits next to the field, and typed data stays.
Payment, costs and trust
- Payment methods fit the audience. The most used method comes first.
- Total cost is shown early. Shipping, taxes and fees appear before the last step.
- Delivery time is named. Each shipping option shows its delivery window.
- Trust signals sit at the payment fields. Security note, payment logos, a seal your buyers know.
- Returns and contact are one click away. The return policy and a support channel are linked.
Run the checklist once before every major sale. For the weeks before Black Friday, the same checks apply to the landing page that leads into the checkout.
Test your checkout changes before you roll them out.
Varify.io: describe your checkout test in plain language with PBX, run split-URL tests and read the results in your analytics tool.