The Shopify Cart Abandonment Checklist — 21 Fixes Ranked by Effort

Every common cause of cart abandonment, what each one actually costs, and how long it takes to fix — ordered so you can start at the top and work down.

Editorial illustration for The Shopify Cart Abandonment Checklist — 21 Fixes Ranked by Effort

Key takeaways

  • Unexpected cost at checkout is the single largest cause of abandonment and it is almost entirely preventable by disclosing totals earlier.
  • Roughly half of all abandonment causes are informational rather than motivational - the shopper left to find something out and did not come back.
  • Fix the free fixes first. Six of the twenty-one items here take under an hour and none of them require a developer.
  • A recovery email is the last line of defence, not a strategy. Every ticket it recovers is one the cart should have prevented.

Cart abandonment is usually discussed as a single number, which makes it feel like a single problem. It is not. It is twenty or so separate problems that happen to share an outcome, and they have wildly different costs and wildly different fix times.

This is the full list, ordered so you can start at the top.

First, measure the right thing

Before fixing anything, make sure you are measuring the stage that is actually leaking.

  • Cart-to-checkout rate — shoppers who created a cart and reached the checkout page. Leakage here is about cost, delivery, trust and cart design.
  • Checkout completion rate — shoppers who reached checkout and paid. Leakage here is about form friction, payment methods and account requirements.

They have almost no overlap in causes. Fixing checkout forms when your problem is an unexpected shipping fee is a quarter spent on the wrong thing.

Tier 1 — under an hour, no developer

1. Show shipping cost before checkout

The largest single cause of abandonment, and the cheapest to fix. Put an estimate in the cart, or a flat rate on the product page, or a free shipping threshold. Anything except a surprise at step four.

2. Add a free shipping progress bar

Turns the shipping conversation from a cost into a goal. Set the threshold from the 60th–75th percentile of your order value distribution, not from your average.

3. Show an estimated delivery date

A date, not a speed. Removes the most common reason a committed shopper leaves the cart to go and look something up.

4. Make the variant obvious in the cart

"Blue / Large" visible without hovering. Ambiguity here sends shoppers to a second tab to double-check, and second tabs are where sessions die.

5. Put returns policy in the cart

One line, not a link. "Free 30-day returns" as text beats a link to a policy page, because the link requires leaving.

6. Remove the discount code field, or hide it

An empty discount code box tells every shopper that a code exists and they do not have it. Many will leave to search for one. Collapse it behind a small "Have a code?" toggle, or remove it entirely and use automatic discounts.

Tier 2 — an afternoon

7. Enable express checkout

Shop Pay, Apple Pay, Google Pay, PayPal. On mobile these convert dramatically better than a form because they skip data entry entirely. Place them below your primary checkout button, not above it.

8. Turn off required account creation

Guest checkout should be the default path. Offer account creation after the order, on the confirmation page, where it costs nothing.

9. Add trust signals to the cart

Payment security, support availability, returns window. Small and quiet. This matters most for first-time visitors and can be conditioned to show only for them.

10. Fix the mobile cart

Open your cart on a real mid-range Android phone. Check that the checkout button is reachable with a thumb, that nothing overlaps the home indicator, and that the drawer scrolls without trapping the page behind it.

11. Add a cart drawer instead of a cart page

Keeps the shopper in context. Removes a full navigation cycle from the add-more-items path.

12. Localise the cart

Currency, language, delivery estimate and threshold per market. A domestic promise shown internationally is a broken promise.

Tier 3 — a week

13. Audit checkout field count

Every optional field you can remove is a small conversion gain. Company name, address line 2 and phone number are the usual suspects. Phone in particular should be optional unless your carrier genuinely requires it.

14. Add relevant in-cart upsells

Counter-intuitively this can improve cart-to-checkout rate, not just AOV, because a well-chosen accessory makes the purchase feel more complete. It can also hurt it if you add too many. Two offers maximum, measured against a guardrail.

15. Fix your page speed

Cart interactions that take more than a moment to respond feel broken. Measure the time from add-to-cart click to drawer visible on a throttled connection. Anything over a second is a problem.

16. Handle out-of-stock gracefully

An item going out of stock between add and checkout should produce a clear message and a suggested alternative, not a generic error at the payment step.

17. Add duties and tax clarity for international orders

Delivered-duty-unpaid orders that surprise the customer with a customs bill generate refusals, returns and one-star reviews. State the position in the cart.

18. Offer more payment methods where they matter

iDEAL in the Netherlands, Klarna in the Nordics, Bancontact in Belgium. A missing local payment method is close to a hard block, not a preference.

Tier 4 — ongoing

19. Recover with email and SMS

Worth running, and worth being honest about: recovery is a safety net. Every cart it saves is one you paid to acquire twice. First message within an hour, second at 24 hours, stop at three.

20. Add exit-intent offers at the cart stage

For shoppers who are leaving anyway, there is no conversion left to lose. One relevant offer, triggered on the leave signal rather than on a timer.

21. Run a post-purchase survey

Ask the customers who did buy what nearly stopped them. It is the cheapest qualitative research available and it consistently surfaces causes that analytics cannot see.

The ranked summary

#FixEffortTypical impact
1Show shipping cost before checkoutMinutesVery high
2Free shipping progress barMinutesHigh
3Estimated delivery dateHourHigh
7Express checkout methodsHourHigh on mobile
8Remove forced account creationMinutesHigh
6Hide the discount code fieldMinutesMedium
11Cart drawer instead of cart pageHoursMedium
12Localise the cartDayHigh if international
13Reduce checkout fieldsDayMedium
18Local payment methodsDaysVery high in affected markets
19Recovery email flowDayMedium

What not to do

Three tactics that appear on most abandonment listicles and should not be on yours:

  • Fake countdown timers. A timer that resets on refresh is a false statement about your commercial terms. It is enforceable as one in several jurisdictions and shoppers notice more often than you expect.
  • Fabricated stock scarcity. "Only 2 left" when there are two hundred is the same problem with a different label.
  • Exit popups on every page. Exit intent belongs at the cart and checkout stage, where the shopper has demonstrated purchase intent. On a collection page it is just an interruption.

The pattern is consistent: tactics that lie work briefly and then stop working, and they take your review score with them. Everything in the twenty-one above works because it removes a real obstacle, which means it keeps working.

Frequently asked questions

What is a normal cart abandonment rate?

Around seventy percent is the widely cited figure across ecommerce, and it has been stubbornly stable for a decade. Your own rate matters more than the benchmark, and the useful version of the metric is measured from cart creation to order rather than from session start, because the latter mixes in browsing that was never going to convert.

What causes most cart abandonment?

Unexpected cost at checkout, consistently. Shipping fees, taxes and duties revealed at the final step account for a larger share than any other single cause. The rest is spread across account creation requirements, slow or confusing checkout, payment method gaps, delivery uncertainty and simple comparison shopping.

Do abandoned cart emails work?

They recover a meaningful minority of carts and are worth running. They are not a substitute for fixing the cart, because every cart the email recovers is one you also paid to acquire twice and delayed by hours. Treat recovery as a safety net rather than a plan.

Should I show shipping costs before checkout?

Yes. Hiding shipping until the final step reliably produces the largest abandonment spike in the funnel. Either display an estimate in the cart, offer a threshold that makes it free, or state the flat rate on the product page. Any of the three beats a surprise.

How do I know which fix to do first?

Look at where in the funnel the drop happens. A large gap between cart and checkout points at cost, delivery uncertainty or trust. A large gap inside checkout points at form friction, payment options or account requirements. Fix the stage that leaks, not the one that is easiest to change.

Ninety9 Team

We build 5 conversion apps used by Shopify merchants in Bulgaria and beyond. Everything we write here comes out of what we see in real store data.

Keep reading

Related articles