Shopify checkout optimization is the most tractable work in your funnel, because unlike acquisition it is not a guessing game. The reasons people abandon a checkout have been documented repeatedly across dozens of studies, and the list is short. The problem is that most advice on this topic invents its benchmarks and copies its statistics from other blog posts.

So here is what the research actually says, what it does not say, and what I would change on a Shopify store, in order.

What the data documents, and what it does not

The number worth anchoring to is cart abandonment. Baymard Institute puts the documented average at 70.22%, calculated across 50 separate studies (Baymard). That is the most reliable figure in this field, because it is a meta-average rather than one company's sample.

What is not documented anywhere credible is a Shopify-specific, step-by-step checkout drop-off benchmark. You will find plenty of tables claiming 35 to 45% here and 20 to 30% there. I have not found a primary source for any of them, and this post used to carry a table like that until I went looking for where the numbers came from and could not find one.

That matters practically. If you compare your checkout against an invented benchmark, you will either panic about a normal number or feel fine about a bad one. Use your own store as the baseline: Shopify admin, Analytics, Reports, Checkout funnel. That report is first-party and it is the only benchmark that describes your traffic, your price point, and your category.

Why people abandon during checkout

When Baymard excludes the "just browsing" segment and asks people who abandoned during checkout why, the reasons rank like this:

Reason givenShare of abandoners
Extra costs too high (shipping, tax, fees)40%
Delivery too slow20%
Did not trust the site with card details19%
Required account creation18%
Checkout too long or complicated17%
Site errors or crashes17%
Unsatisfactory returns policy13%
Could not see total cost upfront12%
Card declined10%
Not enough payment methods9%

Source: Baymard Institute. Shares sum to more than 100% because respondents could give more than one reason.

Read that list as a priority order, because it more or less is one. Cost surprise and delivery uncertainty outrank everything about form design, which is the opposite of how most checkout guides are structured.

The fixes, in the order the data suggests

1. Kill the cost surprise before checkout

Forty percent is the largest single line on that table, and it is not really a checkout problem. It is a cart problem that shows up in checkout. The buyer entered with one number in their head and got another.

  • Show estimated shipping on the cart page, before they commit.
  • If you have a free shipping threshold, show progress toward it. Roughly half the stores I have audited have a threshold and never mention it in the cart, which is money left on the table for no reason.
  • Show the total, itemised: per-item price, running total, and savings already applied.
  • Avoid leaving "calculated at checkout" as the only shipping signal. It reads as this might be expensive.

One related trap: when a store shows a savings pill and then removes it to "simplify" the cart, buyers stop registering that a discount applied at all. The price of an offer is really three numbers together, original, final, and saved. Drop one and the deal stops reading as a deal.

2. Answer the delivery question with a date

Twenty percent abandon over delivery speed, and the usual cause is not that shipping is slow. It is that nobody said when the thing arrives.

"Standard", "Express" and "Overnight" with no dates attached force an uncertain decision at the worst possible moment. Put a date range on each option: 3 to 5 business days, arrives Aug 4 to Aug 6. Shopify's carrier-calculated rates can surface estimated delivery; with custom rates you add the range yourself.

3. Reduce card-entry friction with accelerated payments

Nineteen percent do not trust the site with their card, and 9% cannot find a payment method they want. Accelerated checkout addresses both, because the buyer never hands you card details at all.

Shopify states that Shop Pay lifts conversions by up to 50% relative to guest checkout, from a study run with a Big Three management consultancy in April 2023 (Shopify). Two caveats worth stating, because most posts quoting this figure state neither. "Up to 50%" is a ceiling, not an average. And this is Shopify reporting on its own product, which does not make it wrong but does make it a vendor claim.

The more interesting number in the same study is quieter: the mere presence of Shop Pay lifted lower-funnel conversion by 5% even when buyers did not use it. A recognised payment mark is a trust signal whether or not anyone clicks it.

Enable everything available to you under Settings, Payments, Accelerated checkouts.

4. Make accounts optional

Eighteen percent. This is the cheapest fix on the list and it is a single setting: Settings, Checkout, Customer accounts, set to optional.

If you have a real loyalty or subscription reason for accounts, sell it after the order confirms. The post-purchase window is where that ask belongs, not in front of the money.

5. Cut fields, in the right order

Seventeen percent say checkout was too long. Before redesigning anything, audit which fields are genuinely required for fulfilment:

  • "Company name" set to required rather than optional
  • Phone number required when you do not use it for delivery
  • An email confirmation field asking people to type it twice
  • "Address line 2" positioned prominently enough that people feel obliged to fill it

On standard plans you can hide some of these in settings. On Plus, checkout extensibility gives you field-level control.

6. Put trust cues where doubt peaks

The moment the card form appears is the moment the buyer's guard goes up. That is where a security cue, accepted-payment marks, and a visible returns link belong. Concise, not a badge wall.

This is a placement point more than a content point. Trust copy sitting on your homepage does nothing for the person already looking at a card field. Put it where the decision happens.

7. Do not let errors eat 17%

Site errors tie with checkout length at 17%, and they are the one item on this list nobody optimises because it does not feel like design work. Test your checkout on a real phone on mobile data, with a real card, after every theme or app change.

The specific Shopify failure I see most: bundle or upsell apps that create products without real Shopify variants, which silently break variant-dependent checkout behaviour. A close relative is inventory set to 99999 so stock never syncs. Both look fine in the admin and fail for the buyer.

The one most guides get backwards: the discount code field

A prominent discount code field in the cart or checkout lowers conversion for a segment of your buyers, and this is the pattern store owners argue with me about most.

The mechanism is simple. The field tells a buyer who does not have a code that a code exists. They open a new tab, search for one, and land on a coupon aggregator that may hand them a competitor's ad. Many never come back. You advertised a discount you were not offering and paid for it in abandonment.

Collapse it, or de-emphasise it. Buyers who genuinely have a code will find it. This is a case where the honest answer is that the field's visibility is a trade, not a free win, and the trade usually runs against you at high intent.

Two related cart mechanics from the same set:

  • A checkout button that blends into the background, below the fold, is a turnoff. Highest contrast in the cart, sticky, full-width in the mobile thumb zone. Cross-sell blocks that push the checkout CTA off screen are a common self-inflicted version of this.
  • Do not put the delete control next to the quantity stepper. Shoppers remove items by accident, and some of them simply leave rather than re-adding.

Checkout flow: where the sequence itself is the problem

Everything above assumes the steps are in a sensible order. Sometimes the flow is the fault.

The diagnostic sequence I use, in order:

  1. Read the funnel report first. Analytics, Reports, Checkout funnel. Find the step with the largest drop before forming any theory.
  2. Match the step to a cause. A drop at contact is usually form friction or account requirements. At shipping, cost surprise or option confusion. At payment, method gaps or trust. At confirmation, a genuine technical error, which is rare but worth ruling out.
  3. Check the cart and mini-cart agree. A mini-cart that shows different totals or different items from the cart page reads as a bug, and buyers treat pricing bugs as a reason to leave.
  4. Then change one thing.

The reason to work in that order is that the highest-impact fix is almost never the thing the owner was about to change. Across 80+ Shopify projects that has held up more consistently than any individual tactic on this page.

Shopify Plus versus standard: what you can actually fix

On standard plans you can enable every accelerated payment method, make accounts optional, show shipping cost and delivery dates before checkout, name shipping options clearly, and de-emphasise the discount field. That is most of the list above.

On Plus you add checkout UI extensions, field-level add, remove and reorder, custom trust elements and in-checkout offers, and native checkout A/B testing.

For most stores the highest-impact changes do not require Plus. Payment methods and optional accounts alone move the number, and neither costs anything.

How to measure it without fooling yourself

Measure a checkout fix on checkout completion rate, not sitewide conversion. A checkout change only affects people who reached checkout. Spread that effect across all sessions and a real improvement disappears into the noise of traffic mix.

Then the uncomfortable part. A meaningful A/B test needs roughly 200 to 250 conversions and about 5,000 sessions per variation, and more for split tests. Applied to checkout specifically, the qualifying segment is only the people who initiated checkout, so most stores doing $50k to $1m a month cannot A/B test checkout in isolation at all. Nobody selling checkout optimisation tends to mention this.

Below that floor, the honest approach is to fix the documented friction, ship it cleanly, and measure a clean before-and-after on the funnel report over a window you set in advance. That trades statistical certainty for speed. For most stores it is the right trade, as long as you say out loud that is what you are doing.

Pick winners on profit, revenue per visitor, or margin-adjusted order value. A variant that lifts completed orders while shifting buyers to your worst-margin shipping option is a loss with a green arrow next to it.

Where I have been wrong about checkout choices

I once argued hard for surfacing a one-time purchase option next to a subscription, and brought clickmap evidence to the meeting. The client kept it 100% subscription-first, based on retention work they had done and I had not seen. They had context I did not, and their call stood.

I mention it because checkout advice gets delivered with unearned certainty, mine included. The documented reasons above are strong evidence about buyers in aggregate. Your category, your repeat rate, and your margins can still overrule them, and the person who knows that is you.


Related reading: The Complete Shopify CRO Guide · Why Is My Shopify Store Not Converting? 9 Real Causes · Conversion rate optimization audit

If you want your checkout looked at alongside your product page, cart and post-purchase setup, book a free 30-minute call and I will walk the whole funnel with you: where it leaks, and which leak is worth fixing first.