Average Shopify checkout abandonment is between 65% and 75%. That number isn’t normal — it’s just common. Here’s what we audit when a store hires us specifically to fix abandonment, in the order that usually moves the dial.
1. Shop Pay is off, or buried
Shop Pay’s recurring conversion rate is meaningfully higher than guest checkout. Stores that hide it, deprioritise it, or never enabled it leave 5–10% on the table.
Fix: Settings → Payments → make sure Shop Pay is on. On product pages, the Shop Pay button should appear with the regular Add to Cart, not buried below the fold. The native section in Dawn handles this; older themes often don’t.
2. Address autofill is broken
If your checkout doesn’t have proper autocomplete attributes, the browser won’t autofill addresses, and customers type their full address by hand on a phone keyboard. About 20% of those customers won’t finish.
Fix: validate the rendered checkout form has autocomplete="given-name", family-name, street-address, postal-code, etc. on the right inputs. Modern themes get this right; old custom themes often don’t.
3. Shipping rates take forever
If your shipping rate API takes 4 seconds to respond, the customer sits on a spinner — and a non-trivial portion bail. We’ve seen carriers introduce 4–8s latency invisibly after carrier integrations are added.
Fix: simulate slow connections in DevTools (3G profile). Time the rate fetch. If it’s over 2 seconds, find which carrier is slow — usually a rate-shopping app. Cache rates aggressively, or remove the underperforming carrier.
4. Trust signals are missing
By the time a customer reaches checkout, they’ve already decided to buy. But if checkout looks generic — no logo, no SSL badge, no return policy link — second thoughts kick in.
Fix:
- Branded checkout (Branding API): logo, brand colour, custom font.
- A small “Free returns within 30 days” line above the payment block via Checkout UI Extension.
- Visible support email or phone in checkout footer.
These don’t lift conversion 20% on their own — but they each lift it 1–2%, and they compound.
5. The cart is missing what the customer expects
Customers expect to see in cart:
- Their items with photo and selected variant
- Subtotal
- Shipping estimate (or “calculated at checkout”)
- A discount code field
- An obvious “checkout” button
If any of these are missing, especially shipping estimate, customers stall. We see stores where the cart drawer has zero shipping context, and customers proceed to checkout just to see the shipping cost, then leave.
Fix: add a shipping estimate to the cart drawer when a default address is available, or a “Free shipping over $X” progress bar. Customers should never need to enter checkout to find out shipping cost.
6. The shipping/payment step has too many radio buttons
Five shipping options is too many. Three at most. The customer is making a decision under pressure; offering them every carrier makes them defer.
Fix: consolidate. Standard, Express, Overnight. Done. If you have specialty carriers for specialty items, gate them via a Shipping Function so they only appear when relevant.
What doesn’t work
Things we audit that don’t actually move abandonment:
- Exit-intent pop-ups at checkout. They look like spam.
- Aggressive discount codes (“Wait! Get 10% off if you stay!”). Trains customers to abandon for discounts.
- Cart “save” emails sent five minutes after abandonment. Sent too early, ignored.
The discount-code-as-bandaid approach in particular is a tax on your profitable customers — they were going to buy anyway, you’re just giving them 10% off for free.
Measure honestly
Before you “fix” anything, segment your abandonment data:
- Mobile vs desktop
- New vs returning customers
- By device OS
- By traffic source
Most of the time the problem is concentrated in one segment. Fix that one first; you’ll get more lift from one good fix than ten guesses.