Add to cart but no sales? Why shoppers vanish at checkout
People add to cart, then leave without buying. The three reasons we check first, and why Shopify's abandoned checkout numbers undercount the problem.
- Published
- Reading time
- 6 min read
- Written by
- Shalom

Picture the report: 8,000 sessions, 109 add-to-carts, 8 orders. Where did the other 101 go?
This is one of the most frustrating places to be. Your product page did its job. Someone liked the thing enough to put it in their cart. And then, somewhere between the cart and the payment button, they changed their mind.
The good news is that this is a narrow problem. When people add to cart and don't buy, the cause is almost always in a short stretch of your store: the cart and the checkout. In our experience it comes down to three things: a cost they didn't expect, a moment where paying feels risky, and numbers that hide how big the leak really is.
First, find where they leave
Before fixing anything, check which step loses them. Go to Analytics → Reports and open Conversion rate breakdown. It shows a funnel: sessions, added to cart, reached checkout, completed checkout.
Add the Human or bot session filter and set it to Human (it's under Controls, then Filters). Bots can add things to carts too, and you want the real numbers.
Then compare the two drops:
- Added to cart → reached checkout. A big drop here means the cart is the problem. People saw something there that stopped them.
- Reached checkout → completed checkout. A big drop here means the checkout is the problem. They started paying, then stopped.
Some drop is normal at both steps. Baymard Institute, which collects cart abandonment studies, puts the average documented rate at about 70%. Plenty of people use carts as a wishlist. You won't get to zero, and you shouldn't try. What you're looking for is the step that loses far more than the other.
Surprise costs at checkout
This is the big one. In Baymard's survey of why shoppers abandon checkout, the top reason by a distance is that extra costs were too high: shipping, tax and fees. It's 40% of the reasons given, twice the next one. A separate 12% said they couldn't see or work out the total cost up front.
People aren't only reacting to the cost. They're reacting to the surprise. A $30 product that becomes $38 at the last step feels like a trick, even if $8 is a fair price for delivery.
What to do:
- Say what shipping costs before the cart. Put it on the product page, near the Add to cart button: "Free delivery over $50" or "Delivery from $3.95". If it varies, say how.
- Show it again in the cart. If you offer free shipping over a threshold, show how far they are from it.
- Make the banner match the checkout. If your announcement bar says free shipping, check that checkout agrees, for every country and every product. Set your rates in Settings → Shipping and delivery and test them.
- Write a shipping policy and link it. Add one in Settings → Policies. Shopify links your policies in the checkout footer automatically once they exist.
Then test it yourself. Add a product to the cart on your phone and go all the way to the last step before paying. Every number you see for the first time at checkout is a number a customer sees for the first time too.
Delivery time counts as well. In the same survey, 20% said delivery was too slow. If you can't make it faster, at least say how long it takes before checkout, so nobody is surprised.
Missing trust at the moment of paying
The second reason is quieter. A shopper is about to type their card number into a store they found an hour ago. If anything makes them wonder whether you're real, this is where they stop.
In Baymard's survey, 19% said they didn't trust the site with their card details. Another 13% said the returns policy wasn't good enough.
Shopify's checkout itself is secure: Shopify says it's certified Level 1 PCI DSS compliant. But shoppers don't judge the checkout on its own. They judge everything they saw on the way there. Three things help most:
- Returns, near the button. A short line on the product page and in the cart: "Free returns within 30 days" or whatever your real policy is. Link to the full return policy. Don't hide it in the footer.
- Who you are. A real About page, a contact email that someone answers, and a business address. Shopify has a Contact information policy in Settings → Policies for exactly this.
- Payment options people recognise. Familiar wallets and card logos tell shoppers they're paying through a system they know. Check what you offer under Settings → Payments, and look at what your customers would expect to see.
If it's a first-time visitor, the whole store has to earn that trust, not just the checkout.
Your abandonment numbers undercount
Here's a detail most owners don't know. Shopify only records an abandoned checkout once the shopper has entered an email address and then left the checkout incomplete for more than ten minutes.
That means:
- Anyone who leaves at the cart isn't counted. They never reached checkout, so they're not on the list.
- Anyone who leaves before typing an email isn't counted. If they see the shipping cost on the first screen and close the tab, they don't appear.
- Anyone who gives a phone number instead of an email can be listed, but Shopify can't send them a recovery email.
So the list under Orders → Abandoned checkouts shows the people who got furthest. It doesn't show the people who left earliest, and those are often the ones who saw a surprise cost. This is why the funnel in Conversion rate breakdown is the better place to judge the size of the problem. Use the abandoned checkouts list to see what people left behind, not how many left.
Recover the ones you can
For the people who are on the list, make sure the recovery email is switched on. Go to Apps → Messaging → Automations, find Abandoned checkout emails by Shopify, and choose Edit settings to set it to send automatically. You can choose who gets it and how long to wait.
Keep the email simple: what they left, a link back, and an answer to the most likely reason they left, such as your delivery cost or your returns policy. A recovery email that repeats the surprise won't recover much.
Shopify keeps abandoned checkouts for three months, so check the list now and then for patterns. If most of them stop at the same step, that's your answer.
What to do next
- Filter out bots and find which drop is bigger: cart to checkout, or checkout to paid.
- Show delivery cost and timing on the product page and in the cart, and make the banner match checkout.
- Put returns and contact details near the button, and fill in Settings → Policies.
- Judge the problem by the funnel, not the abandoned checkouts list.
- Turn on the abandoned checkout email and make it answer the reason people leave.
Then buy something from your own store on your phone, start to finish. If people are still vanishing after all that, send us your store link and we'll tell you the first thing we'd fix.