A low Shopify checkout conversion rate means shoppers reach your checkout but don’t finish the order. That’s a different problem from low traffic or weak product pages — these people already wanted to buy. The usual causes cluster into six buckets: shipping (cost or delivery time), payments (missing methods or failures), discounts that won’t apply, unexpected taxes or fees, technical errors from an app or theme change, weak trust at the payment step, and tracking that hides orders you actually received. You rarely fix this by guessing. You fix it by running test orders across devices, countries, payment methods, discounts and shipping scenarios until the failure reproduces. Below are the 11 things to check and how to test each one.
First, diagnose — don’t chase a benchmark
Open Shopify Analytics → Reports → Conversion over time (or the conversion funnel). You want two numbers: how many sessions reached checkout, and how many completed an order. The ratio between them is your checkout conversion rate. Ignore the temptation to compare it to an industry “good” number — a store selling €200 furniture to three countries and a store selling €15 impulse items in one country will never share a benchmark. What matters is your trend and your segments. Break the rate down by device, country and traffic source. A rate that’s healthy on desktop but collapses on mobile, or fine at home but zero in one country, points you straight at the cause.
Why it matters
Shoppers who reach checkout are the warmest people you have. They picked a product, added it to the cart, and clicked through. Losing them is far more expensive than losing a casual browser, because you’ve already paid — in ad spend, content and time — to get them this far. A one- or two-point improvement here usually beats any top-of-funnel campaign for return on effort.
The 11 things to check
- Shipping cost. An unexpected shipping charge at the final step is the single most common reason carts die. Check what shows for a typical order, and whether a free-shipping threshold is clear before checkout.
- Delivery time. “Ships in 2 days” converts; “delivered in 3–5 weeks” — revealed only at checkout — does not. Confirm the estimate shown matches what shoppers expect.
- Payment methods and wallets. Are the methods your customers actually use present? Missing Shop Pay, Apple Pay, Google Pay, PayPal or a local method can quietly cost you a whole segment. Wallets also remove typing on mobile.
- Payment failures. A method can be shown but still fail — a misconfigured gateway, a card type your processor rejects, or 3-D Secure looping. Test a real (or Bogus Gateway) transaction end to end.
- Discount not applying. A code that silently fails, a stacking rule that blocks it, or an expired promo leaves shoppers stuck at the price they were promised a discount off. See why a Shopify discount won’t apply at checkout.
- Unexpected taxes or fees. Taxes added at the last step, duties for international orders, or a surprise handling fee break trust. Decide whether to show tax-inclusive pricing per market.
- Checkout errors after an app or theme change. A recently installed app, a checkout extension, or a theme update can throw a JavaScript or validation error that blocks completion — often only on certain browsers or devices. This is the failure people most often miss.
- Trust at the payment step. No visible security cues, an unfamiliar business name on the order summary, or a jarring visual shift from your storefront to checkout makes people hesitate right when they’re entering card details.
- Required fields and friction. Forced account creation, a phone-number requirement, too many fields, or a company field shown to consumers all add drag. Every extra required field is a place to drop off.
- Accelerated checkout. If Shop Pay / express checkout buttons are missing or misconfigured, returning shoppers who’d convert in one tap have to type everything again.
- Tracking accuracy. Sometimes the rate isn’t really low — your analytics is under-counting completed orders (blocked pixels, consent-mode gaps, a broken conversion tag). Cross-check Shopify’s own order count against your analytics before you assume a checkout problem exists.
How to run the diagnosis — the test-order matrix
Reproduce the failure, don’t theorize about it. Place real test orders (Shopify’s Bogus Gateway lets you complete checkout without charging a card) across a matrix of conditions. Change one variable at a time so you know which one breaks it.
| Variable | Cases to test |
|---|---|
| Device / browser | Desktop Chrome, desktop Safari, mobile Safari (iOS), mobile Chrome (Android) |
| Country / currency | Home market + one international market you sell to |
| Payment method | Card, Shop Pay, Apple/Google Pay, PayPal, any local method |
| Discount | No code, a valid code, an expired/invalid code |
| Shipping | Below the free-shipping threshold, above it, an international rate |
| Cart contents | Single item, multi-item, a bundle or gift if you run offers |
Log the outcome of each run: did it complete, what shipping and total showed, did the discount apply, did any error appear? A structured pass tells you exactly where money leaks. For a ready-made version, work through our Shopify checkout testing checklist, and if orders are starting but never finishing, see checkout started but no purchase.
How to fix
Fix in the order your matrix ranks the damage. Broadly: surface costs early — show shipping, taxes and the free-shipping threshold before the final step so nothing is a surprise. Add the payment methods and wallets your segments expect, then verify each one completes. Repair discounts so promised prices actually apply. Cut required fields to the minimum and enable accelerated checkout. Roll back or reconfigure any app or theme change that introduced an error. Then re-run the matrix to confirm the completion rate recovered — a fix you can’t reproduce isn’t a fix.
Common mistakes
- Comparing your rate to a generic “good” benchmark instead of your own trend and segments.
- Testing only on the store owner’s phone, in one country, with one payment method.
- Assuming the rate is real when a broken analytics tag is under-counting orders.
- Changing five things at once, so you never learn which one mattered.
- Treating checkout as untouchable — it isn’t, and small friction there is the most expensive kind.
When to get help
If your matrix keeps completing cleanly but the rate stays low, the failure is likely intermittent — a specific device, country or payment combination you haven’t hit, or a tracking artifact. That’s when an outside pass pays for itself, either through a free profit audit or hands-on Shopify development to fix the checkout, payments and discount logic properly.
Losing shoppers at checkout? Send us your store URL — we’ll run the checkout, payment, shipping and discount checks across devices and countries, find the biggest drop, and tell you what to fix first. Get a free profit audit.