Checkout completion from 38% to 55% and a 42% lift in store conversion rate, on the same traffic
| Metric | Before | After | How measured |
|---|---|---|---|
| Store conversion rate | 1.11% | 1.58% | Google Analytics 4, all sessions, 90 days either side |
| Checkout completion rate | 38% | 55% | GA4 funnel exploration, begin_checkout to purchase |
| Mobile checkout completion | 24% | 49% | GA4, mobile segment, 90 days |
| Cart abandonment rate | 79% | 64% | GA4, add_to_cart to purchase |
WooCommerce checkout abandonment sends more store owners into a panic than any other number on the dashboard, and most of that panic is aimed at the wrong stage of the funnel.
This client had 48,000 sessions a month and a conversion rate of 1.11%. They had already tried the standard advice: popups, discount codes, abandoned cart emails, a countdown timer. None of it moved the number, because none of it addressed what was actually broken.
Two of the five causes of their WooCommerce checkout abandonment were outright bugs. Customers in two regions literally could not complete an order, and nobody knew.
Before diagnosing WooCommerce checkout abandonment, get the baseline right. Roughly 95% of people who land on an ecommerce store never add anything to a cart. That is not a symptom. That is ecommerce.
Typical benchmarks put add-to-cart around 4 to 5% of sessions and checkout completion around 45% of those who reach it. Cart abandonment above 70% is ordinary rather than alarming. On mobile, checkout abandonment running at 90% is common enough to be unremarkable.
Knowing that changes what you do next. A store owner who sees “79% cart abandonment” and panics will go and buy an abandoned cart email plugin. A store owner who knows 70% is normal will ask a better question: which of my stages is furthest below its own benchmark?
That question is the whole method. WooCommerce checkout abandonment is only a problem when your checkout stage is underperforming relative to what checkouts normally do, and you cannot know that without comparing each stage separately.
The WooCommerce checkout abandonment in question belonged to a mid-sized ecommerce and retail store selling physical goods, shipping internationally, running paid traffic alongside organic. Around 48,000 sessions a month and a conversion rate of 1.11%.
The owner’s read was that the traffic was bad. That is the usual conclusion, and it is usually wrong when paid and organic are both underperforming by the same margin, because bad traffic rarely arrives evenly from two unrelated sources.
Breaking the funnel into stages told a different story immediately.
Diagnosing WooCommerce checkout abandonment means measuring each stage against what that stage normally does:
| Stage | This store | Typical | Verdict |
|---|---|---|---|
| Sessions to product view | 41% | ~40% | Fine |
| Product view to add to cart | 4.1% | 4 to 5% | Fine |
| Add to cart to reach checkout | 71% | ~75% | Slightly low |
| Checkout to purchase | 38% | ~45% | The leak |
Three stages were performing normally. One was not. Everything upstream was doing its job, which meant the traffic was fine and the products were fine, and the WooCommerce checkout abandonment was costing roughly a fifth of the orders the store had already earned.
That is the most expensive kind of leak, because these are people who chose a product, entered a cart and started giving you their details. Every one of them was already sold.
No shipping rate was configured for two countries the store advertised shipping to. A customer in either one filled in their address, clicked through, and the page returned with no shipping method available and no explanation of what to do.
No error was logged, which makes this a bug fix rather than a conversion exercise. Analytics recorded it as an abandoned checkout, which is technically true and entirely misleading. Those customers had not changed their mind. The store had refused their money.
This accounted for a meaningful share of the WooCommerce checkout abandonment on its own, and it had been running for at least eight months.
The second cause of WooCommerce checkout abandonment here was a single setting. Guest checkout was disabled. Every first-time buyer had to create an account before paying.
A WooCommerce setting, nothing more. Forced registration is one of the most consistently documented causes of checkout abandonment in ecommerce research, and it is a single checkbox in WooCommerce settings. Enabling guest checkout took under a minute.
Cost surprise is the most cited driver of WooCommerce checkout abandonment anywhere. The cart page showed a subtotal. Shipping was calculated on the final checkout step, after the customer had entered their name, email, full address and phone number.
That is the sequence that produces the worst kind of abandonment, because the customer has already invested effort and then gets a number they did not expect. Unexpected extra cost is the most cited reason people abandon a checkout, and the problem is usually not the amount. It is the timing.
Shipping estimation moved to the cart page, before any personal details were requested.
Fourteen form fields on a phone, none of them carrying autocomplete attributes, so no browser or password manager could fill any of them. Mobile checkout completion was 24% against a desktop rate of 49%.
Form behaviour is JavaScript and HTML work. Four fields were removed as genuinely unnecessary. The rest got correct autocomplete values, proper inputmode so the numeric keypad appears for numeric fields, and address autocomplete.
Mobile is where WooCommerce checkout abandonment concentrates on almost every store I audit, and it is almost always form friction rather than anything conceptual.
Payment choice is the last common cause of WooCommerce checkout abandonment. This store took card only. No wallet, no express checkout, nothing that lets a returning buyer pay without typing sixteen digits on a phone.
Added through a custom plugin so it survives a theme change, express wallet payments above the form gave mobile buyers a route that skips the form entirely. That change alone moved the mobile number more than the field reduction did.
The WooCommerce checkout abandonment stopped being the bottleneck. Checkout completion went from 38% to 55%, which is above the typical benchmark rather than below it. Mobile completion more than doubled, from 24% to 49%, closing the gap with desktop.
Store conversion rate went from 1.11% to 1.58%, a 42% improvement, on the same traffic and the same products. No new visitors, no discounting, no change to pricing.
Run this before you buy a single plugin aimed at WooCommerce checkout abandonment. It tells you whether WooCommerce checkout abandonment is actually your problem or a distraction from the real one.
Checkout speed did not make the five, and it belongs in any honest write-up of WooCommerce checkout abandonment because it is the cause people most often miss.
This store’s checkout page took 4.8 seconds to become interactive on a mid-range phone. That is not fast, and it is not usually fatal on its own. What makes it matter is that it compounds every other problem on the page: a slow fourteen-field form feels considerably worse than a fast fourteen-field form.
WooCommerce checkout pages are slow for predictable reasons. They cannot be page cached, because every visitor sees different content. Cart fragments fire an uncached request on load. Payment gateway scripts load whether or not that gateway is selected. And most stores run the checkout through the same bloated template as everything else.
This is standard WordPress development hygiene. The work here was unglamorous. Payment gateway scripts now load only when that method is chosen. Cart fragments were scoped so they stop firing on pages without a cart, which is standard speed optimization work. The checkout template dropped the sidebar, the related products block and three widgets nobody had questioned.
Checkout time to interactive came down to 1.9 seconds. On its own that would have moved completion by a few points. Combined with the other five, it is part of why the number went above benchmark rather than just back to it.
If you are measuring WooCommerce checkout abandonment and have not measured checkout page speed on a real phone, that is the next thing to do.
Worth listing, because every article on WooCommerce checkout abandonment recommends all of it.
No exit-intent popups. A popup interrupting someone who is already trying to buy makes WooCommerce checkout abandonment worse, not better.
No discount codes. The customers were not leaving over price. They were leaving because the store would not take their money, or made it tedious to give. A discount would have cut margin on every order that was already going to complete.
No countdown timers or low-stock badges. Fabricated urgency damages trust, and this store’s problem was friction rather than hesitation.
No abandoned cart email sequence, at first. Recovery emails chasing customers who could not physically complete an order would have generated frustration and nothing else. That came later, once checkout worked, and performed considerably better for having waited.
The pattern is worth internalising. Tactics that nudge a hesitant buyer do nothing for a blocked one, and most stores with a checkout problem have a blocked buyer.
Around 70% cart abandonment is typical, and roughly 45% of people who reach the checkout step complete it. If your checkout completion is near 45% your checkout is performing normally and the leak is somewhere else. If it is under 35%, there is something specific wrong and it is usually findable in an afternoon.
They recover a slice of genuinely hesitant buyers, typically in the single digits, and they do not touch structural WooCommerce checkout abandonment. They recover nothing at all from customers who hit a broken shipping configuration or gave up on a fourteen-field mobile form. Fix the checkout first, then add recovery emails to a checkout that works.
Yes. Forced account creation is one of the most consistently measured causes of abandonment in ecommerce research, and in WooCommerce it is a single setting. There is no scenario where making a first-time buyer create an account before paying is worth what it costs you.
Almost always form friction. Missing autocomplete attributes mean no browser can fill anything, missing inputmode means the wrong keyboard appears, and every unnecessary field costs more on a phone than it does on a laptop. Add an express wallet payment option and much of the problem disappears.
Look at add-to-cart rate. Bad traffic shows up as a low add-to-cart percentage, because people arrive and do not want what you sell. A checkout problem shows up as a normal add-to-cart rate and a poor completion rate. The two look identical on a conversion rate dashboard and are completely different problems.
One to two weeks for most stores, quoted fixed-price after a funnel audit, and worth pairing with a maintenance plan so a plugin update does not undo it. Fashion and apparel stores see this most often, so the same work appears in fashion builds constantly. The audit comes first, because sometimes the answer is that your checkout is fine and the problem is upstream, and that is a different and usually cheaper engagement.
Run the WooCommerce checkout abandonment diagnostic above. If your checkout completion is near 45%, your checkout is not the problem and you should not pay anyone to fix it.
If it is well below that, send me the numbers through the contact page or book a free call, and I will tell you which of the five you are most likely dealing with, and whether it is a settings change or a build.
Free 30-minute call. Tell me what is going wrong and you get a fixed-price quote within 48 hours. If a smaller fix would do, I will say so.