Say your WooCommerce store had 400 carts created last month and only 120 orders came out of them. That means 280 shoppers picked a product, put it in the cart, and then left. If your average order is $60, those carts held about $16,800 of sales that did not happen. This guide shows you how to reduce cart abandonment with fixes you can make in WooCommerce settings, your checkout page and your follow-up emails. You will learn the difference between cart and checkout abandonment, how to work out your own rate, why shoppers leave, and 15 concrete fixes, each with how to measure whether it worked. At the end there is a 30-day plan that puts the fixes in order, so you start with the ones that cost the least and help the most.
Key takeaways
- Cart abandonment is normal. Baymard Institute puts the average documented rate at about 70%, so aim to beat your own baseline, not zero.
- Measure first. Cart abandonment rate = 1 minus (completed orders divided by carts created).
- Surprise costs, forced account creation and a long checkout are the problems most worth fixing first.
- WooCommerce does not show abandoned carts on its own. You need a plugin to see and recover them.
- Fix the checkout before you send recovery emails. Emails bring people back to the same checkout that lost them.
- Change one thing at a time and compare the same number of days before and after.
What is cart abandonment, and how is it different from checkout abandonment?
Cart abandonment is when a shopper adds at least one product to the cart and leaves without placing an order. Checkout abandonment is narrower. It counts only shoppers who reached the checkout page and then left. Checkout abandonment points to problems on the checkout form itself, while cart abandonment also includes people who were only browsing.
The two numbers answer different questions. A high cart abandonment rate with a low checkout abandonment rate usually means people are using the cart as a wish list, or they see something on the cart page they do not like, such as the shipping estimate. A high checkout abandonment rate means the form, the payment step or a late surprise is losing people who had already decided to buy.
| Cart abandonment | Checkout abandonment | |
|---|---|---|
| Starts counting at | Add to cart | Checkout page view |
| Typical causes | Browsing, price checks, shipping cost on the cart page | Long forms, forced accounts, payment errors, late fees |
| Main fix area | Product and cart pages, pricing clarity | Checkout form, payment options, error messages |
| Best recovery tool | Save-your-cart prompt, reminder emails | Reminder emails with a link straight back to checkout |
How do you calculate your cart abandonment rate?
Divide completed orders by the number of carts created, subtract the result from 1 and multiply by 100. If 400 carts were created and 120 became paid orders, your cart abandonment rate is 1 minus 0.30, which is 70%. Use the same date range for both numbers.
Here is a worked example for one month with both rates:
- Carts created: 400.
- Shoppers who reached the checkout page: 200.
- Paid orders: 120.
- Cart abandonment rate: 1 minus (120 / 400) = 70%.
- Checkout abandonment rate: 1 minus (120 / 200) = 40%.
Now the value side. If the average cart held $60, the 280 abandoned carts held $16,800. If a fix moved checkout abandonment from 40% to 35%, then 130 of the 200 checkout visitors would buy instead of 120. That is 10 extra orders, or $600 a month at $60 each. Small changes in the percentage matter because they apply to every cart, every month.
Two cautions. First, count paid orders, not orders with a "pending payment" or "failed" status, or your rate will look better than it is. Second, the same shopper may create several carts across devices, so treat the number as a trend to improve, not an exact count.
What is the average cart abandonment rate?
Baymard Institute keeps a running average of published cart abandonment studies, and that documented average is about 70%. In plain terms, roughly seven in ten carts never become orders. The figure is a blend of many studies across years and industries, so treat it as a rough benchmark, not a target.
You can read the full list of studies on Baymard Institute's cart abandonment rate page. The exact decimal changes as Baymard adds studies, so check the page for the current number before you quote it.
Why do shoppers abandon their carts?
Shoppers leave for two kinds of reasons. Some were never ready to buy and were saving items or comparing prices. Others wanted to buy but hit a problem: extra costs shown late, a required account, a long or confusing form, a missing payment method, slow delivery, an error, or a lack of trust in the site.
Baymard Institute also runs a survey on why shoppers abandon during checkout, published on the same cart abandonment page. Extra costs, forced account creation and a long checkout process sit near the top of that list. Read the page for the current percentages, since they change between survey rounds.
You cannot fix the "just browsing" group with checkout design, and you should not try too hard. You can fix most of the second group. The good news is that every reason in that group maps to a specific setting or page you control in WooCommerce. That is what the 15 fixes below cover.
How do you find where shoppers drop off?
Build a simple funnel with four steps: product page view, add to cart, checkout page view and paid order. Compare how many people reach each step. The step with the biggest drop is where you start. Then watch a handful of session recordings from that step to see what people actually did.
Google Analytics 4 can show this if you have ecommerce events set up, through its funnel exploration report. Many WooCommerce stores find the setup fiddly, and consent banners can hide part of the traffic. Whatever tool you use, the method is the same:
- Pick a date range of at least 14 days so weekdays and weekends are both included.
- Write down the count at each funnel step.
- Work out the drop between each pair of steps as a percentage.
- Split by device. Mobile and desktop often lose people at different steps.
- Watch 10 to 20 recordings of sessions that reached the weak step and left. Note what they clicked last.
StorePinger Pro has a conversion funnel and session recordings inside WordPress, with checkout text masked in recordings. If you would rather not use GA4, our Google Analytics alternative page explains how it differs.
How do you see abandoned carts in WooCommerce?
WooCommerce does not show abandoned carts on its own. Its Orders screen lists orders, including pending payment and failed ones, but a cart is not saved as an order until the shopper submits the checkout. To see carts that never reached that point, you need an abandoned cart plugin that saves carts as they are built.
Pending payment and failed orders are still worth a look. They are shoppers who submitted the form but did not finish paying. Go to WooCommerce, then Orders, and filter by status. A spike in failed orders often points to a payment gateway problem, not a shopper problem.
For the carts that never reached the order stage, StorePinger saves each cart as soon as something is added, which you can read more about on the abandoned cart recovery page.
15 fixes to reduce cart abandonment in WooCommerce
The fixes below are grouped by where they live: costs, the checkout form, payments, trust and speed, and recovery. For each one you get why it works, how to do it in WooCommerce and what to measure. Make one change at a time so you can tell which change moved the number.
1. Show shipping costs early
Why it works: a cost that appears only at the last step feels like a trick, and it is one of the most common reasons shoppers give for leaving. How to do it: in WooCommerce, go to Settings, then Shipping, then Shipping options, and turn on the shipping calculator on the cart page. Add a short line on product pages such as "Flat $5 shipping in the US". Measure: the drop between cart and checkout.
2. Offer a free shipping threshold you can afford
Why it works: it removes the extra cost for larger orders and gives smaller carts a reason to add one more item. How to do it: add a Free shipping method to your shipping zone with a minimum order amount. Pick the threshold with math. If your average order is $60, a threshold around $70 to $75 nudges people up without giving shipping away on every order. Measure: average order value and checkout completion.
3. Allow guest checkout
Why it works: forcing a new account adds a password step and a reason to leave. How to do it: go to Settings, then Accounts and privacy, and allow customers to place orders without an account. You can still offer account creation after the order. Measure: checkout abandonment rate.
4. Use the block checkout and remove fields you do not need
Why it works: every extra field is extra effort, especially on a phone. How to do it: new WooCommerce stores use the block-based Cart and Checkout by default, and older stores can switch by adding the Checkout block to the checkout page. In the block editor you can make the company field and address line 2 optional or hidden, and the phone field optional. Test your payment and shipping plugins on a staging copy first, since some older extensions only support the classic checkout. Measure: time to complete checkout and checkout abandonment.
5. Add express payments like Apple Pay and Google Pay
Why it works: a wallet payment fills the address and card in one tap, which removes most of the typing on mobile. How to do it: WooPayments and the WooCommerce Stripe Gateway plugin both offer Apple Pay and Google Pay buttons. Turn them on in the gateway settings and check that they show on the cart and checkout pages. Apple Pay needs your domain verified, which these plugins guide you through. Measure: mobile conversion rate.
6. Offer the payment methods your customers expect
Why it works: a shopper who does not see their preferred method may leave. How to do it: look at which methods your current customers use, and which are common in your main countries. Add PayPal or local methods through their official WooCommerce extensions. Do not add ten options. A wall of logos can slow the page and confuse people. Measure: failed and pending payment orders.
7. Show a delivery estimate
Why it works: a shopper who needs the item by Friday wants to know if it will arrive by Friday. How to do it: write clear names for your shipping methods, such as "Standard, 3 to 5 business days", in each shipping zone. Repeat the estimate on product pages. Only promise what your carrier usually delivers. Measure: checkout abandonment and "where is my order" emails.
8. Move the coupon field out of the way
Why it works: a large empty coupon box tells shoppers a discount exists, and some leave to search for a code. They may not come back. How to do it: the block checkout already shows coupons as a small collapsible link. If you never run coupons, turn coupons off under Settings, then General. Measure: exit rate on the checkout page.
9. Write clear error messages
Why it works: an error that says "Invalid input" with no detail makes people give up. How to do it: run a test order with a wrong postcode, a short phone number and a declined test card. Check that each error names the field and says how to fix it, and that the form keeps what the shopper already typed. Measure: form error counts and checkout abandonment.
10. Add trust signals near the payment step
Why it works: shoppers hand over card details only to a store they trust. How to do it: show your returns policy, a contact email and real delivery terms close to the Place order button. Make sure the site runs on HTTPS everywhere. Do not add fake badges or seals you have not earned. Measure: checkout abandonment.
11. Make the cart and checkout fast
Why it works: slow pages lose people, and checkout pages cannot be fully cached because they are personal to each shopper. How to do it: test the checkout with PageSpeed Insights, remove plugins you no longer use, compress images and make sure your caching plugin excludes cart, checkout and my account pages. Measure: Largest Contentful Paint and Interaction to Next Paint on the checkout page.
12. Test the whole flow on a phone
Why it works: most shopping traffic is mobile for many stores, and small screens expose problems desktop testing misses. How to do it: on a real phone, add to cart, check out as a guest and pay with a test card. Check that the keyboard shows numbers for phone and card fields, that buttons are easy to tap and nothing is hidden behind a chat widget. Measure: mobile versus desktop conversion rate.
13. Be clear about returns and stock
Why it works: doubt about returns or "is this in stock" makes people pause, and pauses become exits. How to do it: link a short returns summary on the product and cart pages. Turn on stock management under Settings, then Products, then Inventory, so out-of-stock items cannot be added and then fail at checkout. Measure: cart to checkout drop.
14. Capture the email before they leave
Why it works: you cannot remind someone you cannot contact. How to do it: keep the email field first in the checkout. A gentle "save your cart" prompt for shoppers who are about to leave also works, as long as it is easy to close. StorePinger includes a save-your-cart email box for this. Measure: share of abandoned carts with an email address.
15. Send cart recovery emails
Why it works: many shoppers meant to come back and simply forgot. How to do it: use a plugin that sends a short series of reminders with a link that restores the cart. Keep the first email plain and helpful, and save discounts for a later, deliberate decision. See our abandoned cart email examples for wording. Measure: recovered paid orders, not opens.
How do recovery emails fit with checkout fixes?
Recovery emails bring shoppers back, but they bring them back to the same checkout that lost them. Fix surprise costs, forced accounts and errors first, then add reminders. A good order is: measure, fix the biggest funnel drop, then turn on emails so the returning shoppers meet a better checkout.
Timing matters more than clever copy. A first reminder a few hours after the cart, and a second one about a day later, covers most shoppers who simply got distracted. StorePinger Pro sends two automatic reminders at 3 and 24 hours by default, each with a one-click link back to the cart, and counts a recovered order only once it is paid. That last point matters for honest numbers, because an order that was placed and never paid did not recover any revenue.
On discounts, my view is that automatic coupons in the first email teach shoppers to abandon on purpose. Send an offer only when you choose to, to carts you choose. In StorePinger, cart offers are never sent automatically. The owner picks the discount and the carts, and each shopper gets a unique coupon that expires. More detail is on the pricing page and the cart recovery overview.
What should you fix first? A 30-day plan
Start with measurement in week one, then fix costs and the checkout form, then payments and trust, and finish with recovery emails. This order puts the cheap, high-impact changes first and makes sure you have a baseline to compare against. Change one major thing per week where you can.
| Days | Focus | Actions | What to measure |
|---|---|---|---|
| 1 to 7 | Baseline | Record carts, checkout views and paid orders. Build the funnel. Watch 10 to 20 sessions. Do a phone test order. | Cart and checkout abandonment rates by device |
| 8 to 14 | Costs and form | Shipping calculator on cart, delivery estimates, guest checkout, block checkout, trim fields. | Cart to checkout drop, checkout abandonment |
| 15 to 21 | Payments and trust | Apple Pay and Google Pay, review payment methods, error message test, returns and contact near the button, speed checks. | Mobile conversion, failed orders, page speed |
| 22 to 30 | Recovery | Email capture, save-your-cart prompt, two reminder emails, review results against week one. | Recovered paid orders, revenue from recovered carts |
What are the most common mistakes when trying to reduce cart abandonment?
The most common mistakes are chasing zero abandonment, changing many things at once, sending discounts too early, counting unpaid orders as recovered and testing only on desktop. Each one either wastes effort or gives you numbers you cannot trust.
- Aiming for zero. Some shoppers were never going to buy. Track the trend, not perfection.
- Changing everything in one day. If the rate improves, you will not know why. If it gets worse, you will not know what to undo.
- Discounting by default. It cuts margin on orders that would have happened anyway.
- Counting pending orders. Only paid orders are real recoveries.
- Testing only on a laptop. Many checkout problems only appear on a phone.
- Ignoring failed payments. A gateway issue can look like abandonment. Check failed orders first.
When does this advice not apply?
Some fixes depend on your store. High-ticket items, B2B orders, made-to-order goods and stores with legal checkout requirements may need accounts, extra fields or longer delivery times. In those cases, explain why the step exists instead of removing it.
For example, a wholesale store may need a company name and tax number. A store selling age-restricted goods may need checks. Keep those steps, and say on the page why they are there. Shoppers accept effort they understand. If you run several client stores, our agencies page covers reporting across sites, and the comparison page shows how tools differ.
Conclusion: how to reduce cart abandonment, one step at a time
If you only do one thing this week, measure. Write down your carts, checkout views and paid orders for the last 14 days, and work out both rates. That tells you whether your problem is on the cart page or in the checkout form, and it gives you the baseline every later fix will be judged against. Then work through the plan: show costs early, allow guest checkout, trim the form, add wallet payments, test on a phone and only then turn on recovery emails. That is how to reduce cart abandonment without guessing or giving away margin. If you want the funnel, recordings and cart recovery inside WordPress, you can see them in the StorePinger demo, start with the free plugin from the home page, or read more posts on the StorePinger blog.