Availability for 2 new clients. Book a call →

· 14 min read

How to Fix Cart Abandonment: 9 Causes, 9 Fixes

70% of carts get abandoned. The fix depends on why. Here are the 9 most common causes and the specific changes that stop each one.

Conversion Checkout
How to Fix Cart Abandonment: 9 Causes, 9 Fixes

70.22% of online shopping carts get abandoned. That number comes from Baymard Institute’s meta-analysis of 50 studies. It means that for every 100 people who add something to their cart, 70 leave without buying.

That’s not a rounding error. That’s your business losing most of its interested customers.

Here’s the number that should actually make you sit up: Baymard estimates $260 billion in annual ecommerce revenue is recoverable purely through better checkout design. Not through more ad spend. Not through discounts. Just fixing the friction that’s already there.

But here’s the problem with most cart abandonment advice. It’s generic. “Add trust badges.” “Offer free shipping.” True. Useless without specifics. Before you can fix anything, you need to know what’s actually causing your abandonment, because the fix for unexpected shipping costs is completely different from the fix for a trust gap or a missing payment method.

This article gives you both: the specific causes with data behind each one, and the specific fixes that address them. I’ll also cover cart recovery email sequences, exit intent, retargeting, analytics diagnostics, and what the EU Omnibus Directive means for the urgency tactics you might be tempted to use.

Let’s get into it.

How to Fix Cart Abandonment?

Most cart abandonment has a specific cause. 39% comes from unexpected costs at checkout. 21% from slow delivery. 19% from trust gaps. 19% from forced account creation. Fix the cause, not the symptom. Start by showing shipping costs on the product page, enabling guest checkout, and making your returns policy visible before purchase. Those three changes address the majority of fixable abandonment without touching your pricing or ad spend.

What cart abandonment actually means

Before diving into fixes, understand one thing: not all abandonment is fixable. Baymard found that 43% of shoppers abandon carts because they were “just browsing” or “not ready to buy.” Window shopping is a user behavior, not a UX problem.

That segment you can’t design your way out of. But you can win them back later with smart recovery tactics (more on that below).

The fixable abandonment is everything else. When Baymard strips out the just-browsing segment and looks at the remaining reasons, here’s what they find:

  • 39% Extra costs too high (shipping, tax, fees)
  • 21% Delivery was too slow
  • 19% Didn’t trust the site with credit card information
  • 19% Site required account creation
  • 18% Checkout process too long or complicated
  • 15% Returns policy wasn’t satisfactory
  • 14% Couldn’t see or calculate total order cost upfront
  • 10% Not enough payment methods
  • 8% Credit card declined

This is your to-do list. Ranked by impact. Work through it in this order.


Fix 1: Unexpected costs (the #1 killer)

39% of abandonment happens because the final price is higher than expected. Shipping, VAT, handling fees, import duties. The surprise is the problem, not the cost itself.

Research consistently shows that customers will accept reasonable shipping costs if they know about them early. What kills conversions is discovering a €12.95 shipping fee on the payment page after they’ve already invested 10 minutes in your checkout.

Show shipping cost on product pages. At minimum, show a cost calculator or a clear range. “Shipping from €4.95” is better than nothing. Free shipping thresholds should be visible everywhere, not buried in your footer.

Build a free shipping threshold that works. The math here matters. If your average order value is €45, a €50 free shipping threshold will lift both conversion and average order value simultaneously. Most stores set it too high and it stops working.

Display VAT-inclusive pricing by default. This is an EU legal requirement under the Omnibus Directive for B2C sales, but many stores still show ex-VAT prices that inflate at checkout. If you’re selling to consumers in the Netherlands, Belgium, Germany, France, or anywhere in the EU, every displayed price must include VAT. Violating this erodes trust and kills conversions. Fix it.

Sticky cart totals. If someone’s building a cart across multiple pages, show the running total with shipping included in a persistent element. Don’t make them guess.


Fix 2: Forced account creation

25% of shoppers will abandon rather than create an account. This one’s fixable in an afternoon.

The core problem: you’re asking for a long-term commitment (account, password, data sharing) at the worst possible moment, when someone just wants to finish a transaction.

Add guest checkout. If you don’t have it, add it today. Put it as the primary option, not hidden below a big login form. Guest checkout should be the path of least resistance.

Offer social login. Google and Apple sign-in reduce friction dramatically. Someone already authenticated with Google can skip the entire account creation step. Implementation takes a developer a few hours.

Post-purchase account creation. After a guest completes their order, offer to save their details for next time. “Create an account with one click, your details are already saved.” Conversion to account creation is much higher here because they’ve already committed. You get the account data without losing the sale.

Never gate order tracking behind a forced login. Let people track orders via email link. Forcing login to see a tracking number creates support tickets and kills post-purchase satisfaction.


Fix 3: Checkout complexity

The average checkout flow has 23.48 form elements. Baymard says an ideal checkout needs 12-14. You’re making people fill in nearly twice as many fields as necessary, and 18% of them are leaving because of it.

Every field you remove is a conversion lift. This isn’t speculation. It’s one of the highest ROI improvements you can make.

Audit your fields ruthlessly. Do you actually need separate first name and last name fields? One full name field works. Do you need a phone number? If yes, explain why next to the field. Middle name, company name (if B2C), birthday, account preferences, newsletter opt-in inline with address fields. Kill them all.

Auto-detect from postal code. Enter a Dutch postcode and city and street should auto-populate. This is standard in NL, BE, DE, FR. Use a library or API. It removes 3-4 fields and eliminates address errors that cause failed deliveries.

Enable browser autofill. Use correct HTML autocomplete attributes. Name fields should have autocomplete="name". Address should use the correct shipping address tokens. If your form breaks autofill, users have to type everything manually. On mobile, that’s death.

Progress indicators. If your checkout has multiple steps, show a clear progress bar. “Step 2 of 3” reduces anxiety. People abandon unknown-length processes. They’ll tolerate known-length ones.

Single-page checkout where possible. The fewer page loads, the better. Each page transition is an opportunity to lose someone. But if single-page checkout makes your form chaotic, a clear multi-step with a progress indicator beats it.

Mobile-first form design. Mobile abandonment rates hit 85% vs 73% on desktop. The gap is mostly friction. Large tap targets. Numeric keyboards for phone/postcode fields. No text that requires horizontal scrolling. Test your checkout on a real phone, not a browser resize.


Fix 4: Missing payment methods (EU-specific)

10% of abandonment comes from missing payment methods. In the EU, this percentage is higher because payment preferences are intensely local. American ecommerce thinking won’t save you here.

If you’re selling to Dutch customers without iDEAL, you’re burning money. iDEAL accounts for around 70% of online transactions in the Netherlands. It’s not optional. It’s the default.

Here’s the breakdown by market:

Netherlands: iDEAL is dominant. Offer it as the primary option, not buried in a “more payment methods” dropdown.

Belgium: Bancontact is the local preference. Similar penetration to iDEAL in NL. If you don’t offer it, a meaningful percentage of Belgian visitors will abandon at payment.

Germany and Austria: SEPA Direct Debit and SOFORT (now Klarna Open Banking) are strong preferences. Many German shoppers distrust credit cards for online purchases and prefer bank-based payments.

All EU markets: Klarna (pay later, installments) is massive for considered purchases above €50. It removes the payment friction for higher-priced items by splitting the cost or deferring it. For fashion, home goods, and electronics, Klarna can lift conversion significantly on larger cart values.

Apple Pay and Google Pay: Express checkout options across all markets. One-touch payment reduces checkout to seconds. Put these at the top of your payment options, above the fold.

The fix: use a payment provider that handles EU local methods without custom integration per market. Stripe, Mollie, and Adyen all support iDEAL, Bancontact, SEPA, and Klarna natively. Mollie is particularly popular in the Benelux market and has a clean integration story.


Fix 5: Slow or unclear delivery

21% of abandonment is delivery-related. People don’t just abandon because delivery is slow. They abandon because delivery is unclear.

“Ships in 3-5 business days” tells someone nothing useful. Is today Monday? Friday? Does that include processing time? When will it actually arrive?

Show specific delivery dates, not windows. “Arrives Thursday, March 12” is infinitely better than “3-5 business days.” Amazon trained your customers to expect this. Give it to them.

Show the order cutoff. “Order before 17:00 for delivery Thursday” is powerful urgency that’s 100% real and 100% compliant with EU advertising rules. It motivates same-day decision making without fake scarcity.

Offer carrier choice. Some people want cheapest. Some want fastest. Some have had bad experiences with a specific carrier and will abandon if that’s the only option. Offering two or three tiers (standard, express, next-day) captures customers who would otherwise leave.

Show tracking from the moment of order. Post-purchase anxiety is real. A confirmation email with a tracking link (even before the item ships) reduces “where is my order” contacts and builds confidence that you’re a reliable operation.


Fix 6: Trust signals at cart and checkout

19% of abandonment comes from shoppers not trusting the site with their payment information. Trust signals work. But placement is everything.

A security badge in your footer does almost nothing. The same badge next to the payment form does real work because it appears exactly when anxiety peaks.

Place payment security badges near the payment form. Visa, Mastercard, SSL/HTTPS indicators. These should be visible right where the user enters their card number.

Show your return policy near the submit button. “Free returns within 30 days” at the moment of final commitment removes risk. Not in your footer. Right there, next to “Place Order.”

Display real reviews on the cart page. Not just on product pages. Someone who’s wavering at the cart stage needs social proof that other people completed the purchase and were happy. A small widget showing your aggregate rating and recent review count works well here.

Physical address and contact information. A VAT number, physical address, and easy-to-find contact options (live chat, phone, email) signal that a real business is behind the transaction. Anonymous stores with only a contact form lose trust. Especially in Germany and the Netherlands where shoppers are more skeptical.

SSL is table stakes. If you don’t have HTTPS on your entire site, stop reading and fix that first. Mixed content warnings and HTTP checkout pages are trust destroyers.


Cart recovery: email sequences

Even after fixing your checkout, you’ll have abandonment. The just-browsing segment alone guarantees it. Email recovery is your second layer of defense.

Here’s what the data says: 50% of people who click a cart abandonment email end up making a purchase. That’s an enormous return on a simple automation.

Timing matters more than copy. The first email should go out within 1 hour of abandonment. Intent is highest in that window. A 24-hour delay loses most of the urgency. After 48 hours, you’re mostly reaching the just-browsing segment who had no intention of buying.

The three-email sequence that works:

Email 1 (1 hour): Simple reminder. Show the product. No discount. “You left something behind.” Subject line: “You forgot something” or “[Product name] is still in your cart.” Open rates are highest on this email because it’s sent when intent is still hot.

Email 2 (24 hours): Add value. Address the most likely objection. For higher-priced items, include a review or testimonial. For trust-sensitive categories, lead with your returns policy and security guarantees. Subject line: “Still thinking about it? Here’s why [product] is worth it.”

Email 3 (72 hours): Incentive, if you’re going to offer one. A time-limited discount or free shipping. But be careful here. Training customers to abandon carts to get discounts is a real pattern. Don’t offer the same incentive every time. Make it feel earned and time-specific.

Subject lines that work: Specificity beats cleverness. “[Product name] is almost gone” outperforms “Don’t miss out!” Personalization works. Including the actual product name in the subject line lifts open rates measurably.

One thing most stores get wrong: They send three emails regardless of whether the person opened the first one. Segment your sequences. If someone opened email 1 but didn’t click, they’re still warm. If they didn’t open at all, they may not have seen it. Adjust your follow-up accordingly.


Exit intent: does it actually work?

Exit intent popups are overused and poorly implemented. They can work. They’re often just annoying.

Here’s when exit intent at cart/checkout is worth testing: when your primary abandonment reason is unexpected cost. A popup offering free shipping or a small discount at the exact moment someone moves to close the tab can save the sale.

When it’s a bad idea: on mobile (exit intent barely works because there’s no cursor movement to track), when you trigger it too early (before someone has spent meaningful time), or when your popup is generic and unrelated to what’s in the cart.

If you test exit intent, make it specific. “Still thinking? Here’s free shipping on your order” beats “Wait! Don’t go!” by a significant margin. Show the items in the cart. Make the offer relevant.

Exit intent is not a substitute for fixing your checkout. It’s a last-chance net for a small percentage of leaving visitors. Fix the checkout first.


Retargeting: cart abandonment ads

Retargeting abandoned cart visitors is one of the highest-ROI ad spends available to ecommerce brands. The audience is pre-qualified. They’ve already shown purchase intent. Your cost per acquisition is dramatically lower than cold traffic.

Dynamic product ads are the baseline. Show the exact product they had in their cart. Facebook, Instagram, Google Shopping, and TikTok all support dynamic retargeting with product catalog feeds. Set it up once, let it run.

The timing window: 1-7 days is the sweet spot. After a week, intent has usually cooled and your retargeting ads become noise. Turn off the campaign after 14 days maximum for cold abandoners.

Don’t just show the same product. If they abandoned, seeing the same product again might not be enough. Test creatives that address objections: “Free returns. No risk.” or “Over 2,400 five-star reviews.” Give them a reason to reconsider, not just a reminder of what they left.

Frequency capping matters. Showing someone the same shoe 40 times in three days doesn’t convert them. It annoys them and damages your brand perception. Cap retargeting frequency at 3-5 impressions per day per user.

Don’t discount in ads. If you discount in ads, you train your entire customer base to abandon carts and wait for the retargeting offer. Use retargeting to reinforce value and address objections. Save discounts for email (where it feels more personal and less like a systematic tactic).


How to diagnose YOUR specific abandonment cause

Every fix I’ve covered is evidence-based. But your store’s specific problem might not be the global average. You need to know where your abandonment actually happens.

Start with your analytics funnel. In Google Analytics 4, build a funnel exploration: product page view > add to cart > begin checkout > payment information > purchase. The step with the biggest percentage drop is your primary problem.

If you’re losing 60% of visitors between “add to cart” and “begin checkout,” the cart page has issues (usually cost transparency or trust). If you’re losing most visitors between “begin checkout” and “payment information,” checkout friction or form complexity is the culprit. If you’re losing them at the payment step, payment methods or trust at point of payment is your issue.

Segment by device. A 40% drop-off rate on mobile vs 15% on desktop is almost always a UX problem. Run usability testing on mobile specifically.

Segment by traffic source. Paid traffic often has different abandonment behavior than organic. High abandonment from paid campaigns might mean your ads are attracting low-intent browsers. Or your landing-to-cart experience is broken for specific campaigns.

Use session recording. Tools like Hotjar and Microsoft Clarity show you exactly where people click, scroll, and rage-click on your checkout pages. You’ll see patterns you can’t spot in aggregate data. Rage-clicking on a promo code field suggests it’s broken. Scrolling past the submit button repeatedly suggests they’re looking for something (usually a return policy or security indicator) before committing.

Set up custom events for abandonment. Track when users add to cart but don’t purchase, broken down by cart value. High-value cart abandonment often has different causes than low-value abandonment. Segment and address them separately.


The EU Omnibus Directive and urgency tactics

If you’re running an EU-facing store, the 2022 Omnibus Directive changes what you can and can’t do with urgency and scarcity tactics.

The rules you need to know:

Price history must be shown. Any advertised discount must reference the lowest price in the previous 30 days, not an artificial “was” price. “Was €99, now €59” is only compliant if €99 was genuinely the lowest price in the last 30 days. Inflated “original prices” are now an enforcement risk.

Fake scarcity is illegal. “Only 3 left!” when you have 300 in stock is deceptive under EU consumer protection law. Real low-stock warnings are fine and effective. Fake ones expose you to fines and reputational damage.

Fake countdown timers are out. A countdown timer that resets every time a user visits the page is deceptive. Use real deadlines tied to actual inventory or shipping cutoffs. “Order before 17:00 today for next-day delivery” is compliant. A fake “offer expires in 23:47:00” that resets on page refresh is not.

This isn’t just legal hygiene. Shoppers in the Netherlands, Germany, and Belgium are skeptical and well-informed. Fake urgency backfires with these audiences. Real urgency converts better anyway.


The diagnostic order: where to start

You have a lot to fix. Here’s the priority sequence I use when auditing an ecommerce store:

1. Fix cost transparency first. It affects 39% of abandoners. Check that shipping is visible on product pages, VAT is included in all displayed prices, and cart totals update dynamically with shipping estimates.

2. Add guest checkout if you don’t have it. This is a one-time development task with immediate conversion impact. Prioritize it.

3. Audit your payment methods. If you’re selling in NL without iDEAL, in BE without Bancontact, or in DE without SEPA, fix this before anything else in this section.

4. Reduce form fields. Count every field in your checkout. Target 12-14 elements maximum. Remove anything that isn’t legally required or operationally essential.

5. Add trust signals at the payment step. Not the homepage. Not the footer. The payment form.

6. Build your email recovery sequence. 3 emails, timed at 1 hour, 24 hours, 72 hours. This runs automatically and recovers sales from the just-browsing segment who come back.

7. Set up retargeting. Dynamic product ads with a 7-day window and 14-day cap.

Then measure everything. Your GA4 funnel will show you where to focus next. Run changes for at least 2 weeks before drawing conclusions. Cart abandonment data has seasonal variation that can mislead you if you look at too short a window.


The bottom line

Cart abandonment is not one problem. It’s a stack of problems, each with a specific fix. The 70% global average rate is scary. The $260 billion in recoverable revenue is motivating. But neither number is useful unless you know which slice of that problem is yours.

Start with cost transparency. Add guest checkout. Check your payment methods match your target markets. Strip out form fields. Put trust signals where anxiety peaks.

Then set up email recovery and retargeting to catch the people who leave anyway.

If you want a diagnosis before you start guessing, an ecommerce UX audit will show you exactly where your funnel is leaking and what to fix first.


Cart Abandonment Fixes FAQ

What are some real examples of cart abandonment fixes that move the needle?

The most impactful examples are structural, not cosmetic. Showing shipping costs on the product page instead of at checkout eliminates the surprise that drives 39% of fixable abandonment. Adding guest checkout removes the account creation gate that costs an average 25% of checkout completions. Offering iDEAL in Dutch stores or Bancontact in Belgian stores addresses a payment method gap that sends 10-15% of buyers away at the final step. These aren’t edge cases. They’re the top contributors to recoverable abandonment in Baymard’s data across 50+ studies.

What is the average cart abandonment rate in ecommerce in 2025?

The global average is 70.22% across all categories and device types, per Baymard’s meta-analysis. Mobile abandonment runs higher at 85% versus 73% on desktop. Across EU ecommerce specifically, the Dutch average sits around 72%, Germany at 69%, and Belgium at 73%. If your rate is above these benchmarks, you have a fixable UX problem. If you’re below them, you have an optimization opportunity worth protecting.

What is the single highest-ROI cart abandonment fix for a small ecommerce store?

Cost transparency. If your customer sees the full price for the first time at the payment step, you’ve already lost 39% of fixable abandoners. Moving shipping cost information to the product page and cart page is a two-day development task with immediate conversion impact. Every cart abandonment recovery email sequence and retargeting campaign you run on top of a checkout that hides costs is working harder than it has to. Fix the transparency first.


Cart abandonment is friction at multiple points across the checkout funnel.

Newsletter

Get articles in your inbox

Weekly e-commerce UX tips. No spam. Unsubscribe anytime.

Weekly UX tips
No spam
Unsubscribe anytime