Guide

Checkout optimization

Checkout optimization is reducing the number of ways a shopper who has decided to buy can fail to finish. Baymard puts the ideal flow at 12 to 14 form elements against an average US checkout of 23.48, and that count, unlike the abandonment rate everyone quotes, is something you can check on your own site today.

By the Addition team Updated 7 September 2026 12 min read

What checkout optimization covers

By the time someone is filling in an address, most of the persuading is behind them. Not all of it: Baymard finds 42 percent of abandoners were just browsing or not ready. But the part of the flow that follows is a form, and a form either lets someone finish or it does not.

Checkout work is subtraction, not argument.

That is the useful distinction between this and the rest of conversion rate optimization. A product page has to make a case, the way a category page has to earn its ranking in ecommerce SEO. A checkout has to get out of the way. The two need different evidence, and treating them as one job is why so much checkout advice reads like copywriting advice.

It also sets the boundary of what a checkout change can do. If a store has a traffic problem, or a price problem, or nobody reaching the cart at all, a shorter form fixes none of it. The most a checkout change can reach is the people who got that far.

Where the 70 percent abandonment figure comes from

Seventy percent of carts get abandoned. That is the figure this subject is introduced with, and what it measures is rarely stated alongside it, which turns out to change what you can do with it.

That seventy percent is not a measurement of ecommerce. It is a mean of other people’s measurements.

Where the most quoted number in ecommerce comes from

Baymard Institute stating that its 70.22% cart abandonment figure is an average calculated across 50 different studies
  1. 1The figure everyone cites is not one measurement. It is an average across fifty studies with different methods and different years.
  2. 2That is worth knowing before you compare your own rate against it, because your store is one method and this is fifty.
Baymard Institute, cart abandonment rate list, read 7 September 2026. Their page says they built the list because they found large fluctuations in the actual abandonment rates, and averaged it so it is easy to cite one number instead of 50 different ones.
Read 2021 on its own. Three studies published in one year report 79.30, 81.08 and 59.22 percent. Whatever separates those three, it is not the year, and averaging them produces a number that describes none of the three.
The ten most recent studies in that average, with the year each was published

So the reading has to be narrow. A store at 74 percent has not learned that it is worse than average. The average contains studies at 84 percent and studies at 55 percent, measuring different traffic in different decades. That number describes a body of research, not a store.

The figure does real work in real decisions. It is quoted to justify a checkout project, and it is the number the project is later judged against.

One study quoted twice with two numbers

Baymard also publishes a breakdown of why people abandon, and that breakdown is what most checkout advice is built from. Read it closely, because half of it is not about your checkout at all.

Two published accounts of the reasons breakdown disagree, and the largest reason in one is absent from the other.

Baymard Institute and Shopify, both read 2 September 2026Whether a widely repeated statistic survives being repeated

The two accounts may come from different survey waves. Neither names a wave, so a reader has no way to tell which set of numbers they are carrying.

Whether a widely repeated statistic survives being repeated

The practical consequence: any checkout priority list built from a second-hand version of these percentages is built on numbers you cannot pin to a measurement. Reordering your checkout roadmap because 19 percent beats 18 percent is reading a one-point gap that two accounts of the same study do not agree on. It is the same failure as reading a sector conversion rate as a target for your own.

Cost surprises, forced accounts, long forms and missing payment methods lose orders. The direction is steadier than any percentage attached to it. Bizrate Insights reaches the cost half independently, on a stated sample of 1,010 US adults, with 42 percent saying unexpected fees make them abandon often or very often. Two measurements taken separately land on the cost half, which is why it is the safe place to start.

The payment-methods leg is the thinnest of the four. It sits at 7 percent on Baymard’s own list, below a declined card at 9 percent, and no second source here measures it.

What you can count on your own checkout today

If the published percentages cannot be pinned, the usable numbers have to come from your own flow. Stop comparing your abandonment rate to a benchmark that cannot receive the comparison, and count properties of your own checkout that have a published line to sit against.

Traffic source, business model and calculation method differ between stores, so your abandonment rate and a competitor’s are rarely measuring the same thing. Those differences are what make cross-store abandonment benchmarks unreliable.

One of those lines exists, and it is a count of form elements.

Baymard Institute, read 2 September 2026A checkout number that is about your site, not the market

Treat 23.48 as an order-of-magnitude benchmark and not a like-for-like score, because the exact value depends on how form elements are counted. The count is still worth having, because its most valuable use is against itself: count your own checkout the same way before and after a change, and the difference is exact even when the comparison to 23.48 is rough.

A checkout number that is about your site, not the market

Four more properties are countable in the same sitting. Counting them is description; changing them is a separate decision. Four changes, and three are judgment calls a store with the traffic should test:

store.example/checkout

Checkout

Contact

EmailPhone

Delivery address

First nameLast nameAddressApartment, suite (optional)CityPostcodeCountry

Delivery method

Standard, 3 to 5 days

Payment

Card numberExpirySecurity codeName on card

Billing address

Same as delivery address

15 form elements before the Pay button

Fifteen elements, which sits between Baymard’s ideal flow of 12 to 14 and the US average of 23.48. The count under the form is the count of the lines above it, and every one of them is something you can count on your own checkout in the next ten minutes.
  1. Where the total first appears

    Count the clicks between landing on the cart and seeing shipping, tax and total together. Anything above zero is a decision someone made.

  2. Whether an account is required

    Not whether guest checkout exists, but whether it is the prominent option. A guest link under a login form is a guest checkout that most people never find.

  3. How many payment methods are present

    One is a policy. Count what a shopper can pay with today, including the wallet that fills the address for them.

  4. How many fields carry an autocomplete attribute

    This is the difference between a browser filling the form and a browser guessing at it, and it is covered next.

The two surfaces the first step asks you to count acrossWhich lines change between the cart and the checkout

The items, the quantities and the item subtotal are the same on both, so they are stated once. What differs is the four lines a shopper needs in order to know the price, and the last row is the reason the first step is a click count.

Which lines change between the cart and the checkout

Counting these needs no experiment, because a count is not a claim. Where an experiment is required, and where most checkout tests go wrong, is covered in the method behind a CRO programme.

Why autofill is a specification

Counting is free, and the first change that follows is nearly free too. Enabling autofill is standard advice. What makes it work is specific: a list of field names published in the HTML Standard.

The browser fills what you have labelled. It guesses at the rest.

The whole change, on two attributes

The difference, in the markup

WITHOUT the browser has to guess

1<input type="text" name="addr1" placeholder="Address">

<input type="text" name="pc" placeholder="Postcode">

WITH the browser is told

2<input type="text" name="addr1" autocomplete="address-line1">

3<input type="text" name="pc" autocomplete="postal-code">

  • 1A name a developer invented. The browser can guess from it, and on a checkout it often guesses wrong or not at all.
  • 2A value from the HTML Standard. There is no guessing left: the browser knows this field wants the first line of an address.
  • 3Same for the postcode, and for every other field the specification names. This either matches the spec or it does not, which is why it needs no experiment.
Attribute values from the HTML Standard autofill field list. This is the only item on a checkout checklist that is a specification match, not a judgement.

The HTML Standard defines an autofill field name for each kind of data a form can ask for. Values like street-address, cc-exp and postal-code, plus a hint set that separates shipping from billing. Put those on the input and the browser knows exactly what the field is for. Leave them off and, as Google’s forms guidance explains, the browser falls back to matching on the name attribute and whatever else it can infer.

What the input saysWhat the browser can do
No autocomplete attributeGuess from the name attribute and prior form submissions
autocomplete="postal-code"Fill the stored postcode
autocomplete="shipping postal-code"Fill the shipping postcode, keeping billing separate
autocomplete="off"Told not to help
The third row is the one most checkouts miss. A form with one address block and no shipping or billing hint gives the browser no way to keep two addresses apart, so it fills one of them into both or fills neither.

Give this more attention than the tactic lists do. It is the only item on any checkout checklist that is fully under your control, costs nothing, and either works or does not. Every other item is a judgment call.

Rules at the payment step you cannot design around

Attributes are yours to set. The next constraint is not. A checkout can be reduced right up to the point where regulation and card rules take over, and past that point the friction is not a design choice.

In Europe an extra step can be required by law, and you do not get to decide when.

secure.examplebank.com/3ds/authenticate

Verify it is you

We sent a code to the phone ending 4417

One-time passcode
  • 1The address is the bank, not the store. The shopper is still buying, and the page is no longer yours.
A Strong Customer Authentication step as it appears over a checkout. It has applied in Europe since 14 September 2019 under PSD2.

Strong Customer Authentication has applied in Europe since 14 September 2019, under PSD2. Stripe’s documentation is direct about the consequence: card payments require 3D Secure to meet it, and integrations that are not ready "might see high rates of declines from banks that enforce SCA". Some low-risk transactions do not require authentication, and Stripe notes banks can still request it anyway, so the step is neither always present nor ever yours to remove.

So a European store cannot guarantee the payment step away, and a checklist that says to remove every step is wrong there. What it can do is make sure the step is the only one left, which is a different project from the one most checkout guides describe.

Declined cards sit on the same boundary. Baymard’s reasons list puts them at 10 percent, and form design does not reach the issuer’s decision. One nearby fact is worth keeping separate: Stripe says an integration that is not SCA-ready can itself see high decline rates. That is a different measurement from Baymard’s shopper survey, so treat it as a second thing to check, not part of the 10 percent.

What the headline dollar figure is made of

The most cited justification for checkout work is a 35.26 percent conversion increase and 260 billion dollars in recoverable orders. Both come from Baymard, and both deserve to be read carefully before a budget is built on them.

The dollar figure is a multiplication, not a measurement.

Nothing here is hidden: Baymard sets out the derivation on its own page. What travels through the citation chain is the 260 billion, and what falls off is the sentence saying the 35.26 percent came from testing sites the size of Amazon and Walmart. A store doing 40,000 dollars a month is not the population that was measured.
How the 260 billion dollar figure is produced

The figure still has a legitimate use, which is to argue that checkout work is not marginal even at large scale, where teams have already run several rounds of it. Baymard says its benchmark of 60 leading sites still finds 39 potential improvements on the average one.

What it cannot be used for is forecasting your own result. Applying a percentage measured on Amazon-sized checkouts to your own is the same error as reading a sector average order value as a target.

What checkout work costs

Those figures set what the work might be worth, and what it costs is a separate question. The answer is mostly not agency time: it is what your platform lets you change, and on the biggest hosted platform that is set by which plan you are on.

Only the last change on this list needs a plan upgrade. The rest are settings or your own theme code.

ChangeOn Shopify without PlusWhere the change lives
Guest checkout, and how prominent it isA checkout settingPlatform settings
Payment methods presentA payment settingPlatform settings, plus the provider fee
Shipping rates shown earlierA shipping and theme changeSettings and your theme
autocomplete attributes on your own theme formsYours to editYour theme code
Adding custom UI to the information, shipping or payment stepsCheckout UI extensions there are Plus-onlyA Shopify Plus plan
Shopify’s own developer documentation states it plainly: checkout UI extensions for the information, shipping and payment steps "are available only to stores on a Shopify Plus plan", and checkout.liquid is unsupported for those steps. That is a limit on adding custom UI there, not a claim that nothing about those steps can be configured.

That table decides the order of work more than any priority framework does. On a hosted checkout the free changes are the settings and the theme. Adding custom UI inside the checkout steps is a plan purchase, not a build.

It also explains a pattern in the case studies platforms publish about themselves. The reported wins tend to be replatforming or adopting an accelerated wallet, because those are the changes the platform sells. A store that has not exhausted the free half should not be reading those as its next step.

No market price range is given here. Price depends on platform limits and implementation scope, so ask for a scoped quote instead of a generic figure.

Your plan decides how much of this list you can reach. Before a checkout test is scoped, the Shopify checkout limits on your plan set what is available to test.

Four mistakes visible in the evidence above

Plan limits explain part of the bill. The rest goes on four decisions that are common enough to be the default and defensible on their face. Each cost shows up only after the decision has been made.

Four mistakes, and three are caused by trusting a number more than it can bear.

The mistakeWhat it costs
Benchmarking your abandonment rate against 70 percentA project justified or cancelled on a figure that describes a literature, not a store
Ordering the roadmap by the reasons percentagesPriorities set by a one to three point gap that two accounts of the same study do not agree on
Forecasting your own lift from 35.26 percentA budget sized on results measured at Amazon and Walmart scale
A/B testing the free changesWeeks of waiting before adding an attribute that has no downside
The fourth is the expensive one in practice, because it delays work that needed no permission. The first three are expensive at the moment of the decision, and invisible afterwards.

There is a fifth that no amount of checkout work fixes: measuring the checkout while the traffic mix is moving. A discount week fills the cart with people who were never going to finish, and every checkout number moves without the checkout changing.

How to prioritise checkout work

Avoiding those four is not the same as knowing what to do first. Most of the published detail is not usable for prioritising, so priority comes from what is cheap to verify and what is irreversible.

Free and certain first. Expensive and uncertain last.

  1. Count what you show

    Elements visible by default, against the 12 to 14 line. This costs ten minutes and tells you whether you have a form problem at all.

  2. Add the autocomplete attributes

    The token list is published, so this is a specification match, not a hypothesis. There is nothing here for an experiment to decide. If your checkout is on a hosted platform, check what it emits. Do not assume.

  3. Move the total earlier

    Shipping, tax and total on one screen before the payment step. What Baymard and Bizrate reach independently is the reason, which is cost surprise. Where on the page to end it is our answer, not theirs.

  4. Make guest checkout the prominent path

    Offer the account after the order, when it costs the shopper nothing.

  5. Add the payment method your shoppers ask for

    Ask support what people email about before adding a wallet on principle.

  6. Then, and only then, test layout

    Layout changes are where experiments belong. The five above either compare against a published benchmark, match a published specification, or answer a reason shoppers gave in a survey. A layout preference does neither.

The third and fourth steps above, drawn side by sideHow small the two middle changes are

Only the two rows that move are drawn. Fields, payment methods, delivery options and theme are unchanged by either step, so they are named once above the table instead of being drawn twice.

How small the two middle changes are

The first two are not experiments and cannot be: counting your elements is an observation, and an autocomplete attribute either matches the specification or does not. The three after them are judgment calls with a real case behind them, and a store with the traffic to test them should. Waiting for significance before adding an autocomplete attribute, though, is a way of never adding it.

How to tell whether it worked

Once that list is running, the last decision is what to judge it on. The trap is the abandonment rate. It is the one number this work does not cleanly move.

Abandonment includes people who were never going to buy.

Baymard’s own data says 42 percent of abandoners were just browsing or not ready. That share sits inside your abandonment rate and moves with your marketing, your traffic mix and the season. A checkout change can work perfectly and be swamped by a week of cheaper traffic.

Contentsquare’s 2026 digital experience benchmark shows why that matters to you. Conversion rate fell 5.1 percent year over year while frustration signals also fell 4.3 percent: less annoying, and converting worse, in the same year.

Judge it on completion instead: of the people who reached the payment step, how many finished. That denominator has its own limit. A change made before the payment step, like showing the total earlier, can alter who arrives there at all, so completion measures the later half of your own work cleanly and the earlier half only partly. A before-and-after still only shows the two moving together. Where the change is reversible and the traffic allows it, run a test instead. Then read revenue per session underneath, because a checkout change that raises completion while lowering what people buy has not helped.

NumberWho is in itWhat it can settle
Cart abandonment rateEveryone who added to cart, browsers includedAlmost nothing about a checkout change
Checkout completion ratePeople who reached the payment stepThe half of the work that happens at and after that step
Revenue per sessionEvery sessionWhether a gain in completion was paid for elsewhere
Three rates, three populations. The first is the one everyone reports and the one that answers the question least well, because most of who it counts never reached the thing you changed.

Open your own checkout and count what a shopper sees before typing anything, keeping fields and other elements in two separate tallies. Baymard’s figures are 7 to 8 fields in an ideal flow against 14.88 in the average US checkout. If your field count has a 2 in front of it, you have found something, and you needed nobody’s permission to look.

For scale, IRP Commerce’s July 2026 figures put the all-markets conversion rate at 2.26 percent and revenue per session at £1.90. Those are the magnitudes a store is working in, and they are why the sample size question in the CRO method decides what is measurable here before anything else does.

Sources

  1. Baymard Institute 50 cart abandonment rate statistics: 50 studies, 2006 to 2025, range 55.00 to 84.27 percent, average 70.22 percent list updated 22 September 2025, read 2 September 2026
  2. Baymard Institute Checkout benchmark: ideal flow 12 to 14 elements, average US checkout 23.48, and a 20 to 60 percent reduction usually available read 2 September 2026
  3. Baymard Institute 35.26 percent modelled conversion increase on large US and EU sites, and the 738 billion dollar market it is multiplied by read 2 September 2026
  4. Shopify blog Ecommerce checkout optimization guide: a second account of the Baymard reasons breakdown, with different figures 13 July 2026, read 2 September 2026
  5. Shopify Checkout UI extensions for the information, shipping and payment steps are available only to stores on a Shopify Plus plan read 2 September 2026
  6. Shopify checkout.liquid is unsupported for the information, shipping and payment checkout steps read 2 September 2026
  7. WHATWG HTML Standard: autofill field names, hint sets and the autocomplete attribute processing model living standard, read 2 September 2026
  8. Google web.dev forms course: how browsers decide what to autofill, and the fallback to the name attribute read 2 September 2026
  9. Stripe Strong Customer Authentication readiness: PSD2 in force since 14 September 2019, 3D Secure required, non-ready integrations see high decline rates read 2 September 2026
  10. Bizrate Insights Ecommerce optimization drivers, survey of 1,010 US adults: 42 percent abandon over unexpected fees 7 May 2026, read 2 September 2026
  11. IRP Commerce Ecommerce market data July 2026: all-markets conversion rate 2.26 percent, revenue per session £1.90 July 2026, read 2 September 2026
  12. BigCommerce Checkout optimization article, first organic result: opens on a rounded 70 percent, carries 11 percentages, all second-hand read 2 September 2026
  13. Ping Identity 15 strategies for ecommerce checkout optimization: three percentages in the article, two of them the same Baymard figure 9 May 2025, read 2 September 2026
  14. ShipperHQ Shipping and checkout optimization: one percentage in the whole article, the same rounded 70 percent 2 June 2026, read 2 September 2026
  15. Contentsquare 2026 digital experience benchmark: conversion rate fell 5.1 percent year over year while frustration signals fell 4.3 percent read 2 September 2026
  16. Google Analytics Data API schema: sessionKeyEventRate and userKeyEventRate as separate metrics read 2 September 2026
  17. The Good Why ecommerce benchmarks mislead: traffic source, business model and calculation method differ between stores 3 December 2024, read 2 September 2026

Questions people ask

How to improve checkout process?

Start with the two things that need no experiment: count the form elements you show by default against Baymard’s 12 to 14 line, and put autocomplete attributes on every field. Then move shipping, tax and total onto one screen before the payment step. Layout and copy changes come after, because they can make things worse. Moving the total earlier is a judgement call too, so test it where traffic allows.

Why are people not completing checkout?

Baymard’s own current page puts extra costs first at 40 percent, ahead of slow delivery at 20, card distrust at 19, forced account creation at 18 and a long or complicated process at 17. A separate 42 percent were just browsing. Different published accounts of the same study omit different reasons, so the version you have seen may not be the one Baymard currently publishes.

What does checkout mean?

The steps between a shopper deciding to buy and the order existing: address, delivery choice, payment and confirmation. In ecommerce the word usually covers the cart page as well, which matters when you compare numbers, because a rate measured from the cart and a rate measured from the payment step are not the same rate.

Is checkout optimization worth it for a small store?

Baymard’s 35.26 percent modelled conversion increase was based on large US and EU sites, so it is not a forecast for a small one. What transfers is the cheap half: counting your form elements against the published line, and putting the specified autocomplete tokens on your fields, costs an afternoon and needs no traffic to justify. The expensive half, replatforming a checkout, needs its own case.