Article···6 min read

Why Buyers Abandon the Checkout (and How Discount Codes Make It Worse)

A buyer with a product in the cart has accepted the price. Why they still leave, how popups and discount codes add friction, and how to deliver a discount without a code.

Most shops treat a lost sale as a pricing problem. The product was too expensive, the competitor was cheaper, the discount was not big enough. So the next campaign gets a bigger discount.

But a buyer who has already put a product in the cart has accepted the price. If that buyer leaves, the price is rarely the reason. The reason sits on the short way between "I want this" and "paid", and in many shops the discount itself is what makes that way longer.

Most abandoned carts are not about the price

The Baymard Institute averages dozens of studies and arrives at an online cart abandonment rate of about 70 %. Seven out of ten buyers who put something in the cart never pay.

Baymard also asks shoppers why. Leaving aside "I was just browsing", the most common answers in its US survey are:

  • Extra costs were too high (shipping, taxes, fees): 48 %
  • The site wanted me to create an account: 26 %
  • I didn't trust the site with my card details: 25 %
  • The checkout was too long or complicated: 22 %

Only one of these is about price, and it is about a price the buyer did not expect, not the product price. Everything else is friction: steps, forms, waiting and doubt. Baymard estimates that a large online shop can raise its conversion rate by about 35 % through better checkout design alone.

The discount friction chain

Discounts are supposed to remove the last doubt. In practice the usual discount flow adds steps right before checkout. We call it the discount friction chain:

  1. The popup. "Sign up for our newsletter and get 10 % off." The buyer came for a product and now has to decide about a newsletter.
  2. The sign-up. Enter an email address, confirm the privacy notice, sometimes confirm a double opt-in.
  3. The wait. The code arrives late, lands in spam or does not arrive at all. The buyer switches to the email app and may not come back.
  4. The code. Copy it, switch back, find the field, paste it. On a phone that is several app switches.
  5. "Code not valid". A typo, an expired code, a code that excludes the product in the cart. At this moment the buyer feels cheated, even if the shop meant well.

Each link in this chain is a point where a buyer who already wanted to buy can drop off. Not because the offer is bad, but because the way to it is long.

Try it in your own shop: open your shop on your phone in a private window, pick a discounted product and count every tap, field and app switch until you see the reduced price in the checkout. Then do the same as a returning customer. The number is usually higher than expected.

Five hurdles you can remove this week

1. Show shipping costs before the checkout

Unexpected costs are the most common reason for abandoning. Show shipping costs on the product page or in the cart, and say clearly from which order value shipping is free.

2. Allow guest checkout

Account creation is the second most common reason. Offer guest checkout and let buyers create an account after the purchase, with the data they already entered.

3. Deliver the discount through a link, not a code

Both Shopify and WooCommerce can put a product in the cart with the discount already applied when the buyer opens a link. On Shopify a discount link adds the code to the session and can redirect straight to the cart. On WooCommerce an add-to-cart link combined with an automatic coupon does the same. The buyer never sees a code and cannot mistype it.

4. Make the code field less prominent

A large "Discount code" field in the checkout tells every buyer without a code that someone else pays less. Many open a new tab to search for one and do not return. If you still need codes, show the field as a small link rather than an open input.

5. Test the whole flow on a phone

Most shop visits happen on phones, and that is where app switches hurt most. Run the test from above after every change to your checkout, theme or discount setup.

What a frictionless discount looks like

Compare the two flows side by side:

  • The usual discount: popup → sign-up → wait for the email → copy the code → paste it → "code not valid" → buyer gone.
  • A discount link: one tap on "Go to checkout" → the product is in the cart with the discount applied → the buyer pays in your shop.

The second flow has the same discount, the same product and the same checkout. It only removes the steps in between.

How Heartly does it

Heartly builds flash sales on exactly this principle. Every sale gets its own page with a countdown and a stock limit. A tap on "Go to checkout" opens your shop with the product in the cart and the discount applied, on Shopify through the cart and discount link, on WooCommerce through the Heartly plugin. There is no popup, no sign-up and no code to type.

Live sales also appear in the Heartly app for iOS and Android, on deals.heartly.io and for AI shopping assistants, so new buyers find them who do not know your shop yet. Shops that run their promotions themselves can list discounted offers there with Heartly Listing. In both cases the purchase happens in your shop.

Heartly does not promise more revenue. What it removes is the part of the way to checkout that the shop controls.

Frequently Asked Questions

What is a normal cart abandonment rate?

The Baymard Institute averages many studies and arrives at about 70 %. Rates vary a lot by industry, device and traffic source, so compare your own shop over time rather than against a single benchmark.

Why do buyers abandon the checkout?

In Baymard's survey the most common reasons are unexpected extra costs, forced account creation, lack of trust in the payment step and a checkout that feels too long or complicated. Price itself is rarely the reason once the product is in the cart.

Do discount codes increase conversions?

A discount can remove the last doubt, but the code adds steps: finding it, waiting for it, typing it and sometimes seeing it fail. A discount delivered through a link gives the same price without those steps.

Can I apply a discount without a code on Shopify or WooCommerce?

Yes. Shopify discount links apply a code automatically when the buyer opens the link and can redirect to the cart. On WooCommerce an add-to-cart link combined with an automatically applied coupon puts the product in the cart with the discount already deducted.

Does a one-page checkout solve the problem?

Not by itself. Baymard warns against reading "the checkout was too long" as a call for a one-page checkout. What buyers feel is the effort: fields, decisions and interruptions. Removing popups, forced accounts and code entry often matters more than the number of pages.

Enjoyed this article? Share it.

Next step

Plan your next flash sale.

Choose products, set a deadline, and share a dedicated sale page. Checkout stays in your store.

Install on Shopify→