Key takeaways
- Indian checkout abandonment is rarely about price — it's forced login, slow multi-step flows, missing COD/UPI, and re-typing addresses.
- Every extra field and step costs you roughly 5-10% of buyers; tier-2/3 shoppers on mid-range phones drop fastest.
- No COD option kills 30-40% of intent in tier-2/3 India; hiding it is leaving money on the table.
- Phone-first checkout with address autofill removes the single biggest friction point — typing a full address on mobile.
- Fix the top 3 (login, COD, address typing) first — they usually recover more carts than the other 8 combined.
Cart abandonment in India gets blamed on the wrong things. Brands assume it's price sensitivity or 'window shoppers'. In my experience running checkout audits for D2C stores, the real leaks are boringly fixable: a login wall, a missing payment method, or a customer staring at a blank Address Line 1 box on a ₹9,000 phone with a patchy 4G connection.
The Baymard Institute pegs global average cart abandonment near 70%. In India, for cash-heavy tier-2/3 traffic, I regularly see checkout-stage drop-off cross 75%. Below are the 11 reasons that come up again and again, roughly in order of how much damage they do.
1. You force account creation before checkout
This is the number one silent killer. A shopper is ready to pay and you show them a 'Create your account' screen asking for email, password, confirm password. Half of them leave right there. Nobody wants a login just to buy one bottle of face serum.
The fix: Kill the account wall entirely. Let people check out with just a phone number. If you're on Shopify, a one-page checkout that treats the phone number as identity — not a separate login step — recovers these buyers instantly. Returning customers get recognised automatically without ever 'logging in'.
2. Your checkout is 3-4 steps long
Cart → address page → shipping method page → payment page → review. Every page load on mobile 4G is a chance to lose someone. Multi-step checkouts made sense when screens were tiny; today they just add taps.
The fix: Collapse it into one screen. Address, offers, and payment on a single page that the buyer scrolls through. Read the full logic in how checkout works step by step. We've seen single-page flows lift completion by 12-18% versus a 3-step flow on the same traffic.
3. No Cash on Delivery
If you sell to Bharat — Kanpur, Rajkot, Guwahati, Madurai — and you don't offer COD, you're turning away 30-40% of buyers before they even reach payment. First-time buyers from a brand they saw on Instagram yesterday do not trust prepaying ₹1,499 to an unknown store.
The fix: Offer COD, but manage the RTO risk instead of banning COD. Verify risky orders and nudge them to prepaid. Our guides on COD verification and reducing RTO on COD orders walk through exactly how to keep COD open without drowning in returns.
4. Shipping charges appear only at the last step
A ₹599 product that quietly becomes ₹678 with shipping at the final step feels like a bait-and-switch. Surprise costs are one of Baymard's top-cited abandonment reasons, and Indian shoppers are especially sharp about it.
The fix: Show the delivery charge upfront, or better, set a free-shipping threshold and display progress ('Add ₹150 more for free delivery'). Predictability beats a low sticker price that jumps later.
5. No UPI at checkout
UPI is over 80% of digital retail payments in India now. If a shopper's only prepaid options are card and netbanking, a huge chunk simply won't pay. People want to tap, open GPay or PhonePe, approve, done.
The fix: Put UPI front and centre, including UPI intent (one-tap app handoff) on mobile. See UPI checkout for Shopify. A working UPI flow is often the difference between a COD order and a prepaid one.
6. OTP friction at the wrong moment
OTP verification is good — it cuts fake orders and RTO. But if you demand an OTP before the shopper has even seen the product summary, or the SMS takes 40 seconds to arrive, you create a dead-end. I've watched genuine buyers give up waiting for a code.
The fix: Ask for OTP at the right point and make it fast — auto-read where possible, WhatsApp fallback if SMS is slow. Details in OTP verification at checkout. Verify without punishing the honest customer.
7. Re-typing the full address every single time
This is enormous and underrated. A returning customer, or even a first-timer, has to type house number, area, landmark, city, state, and a 6-digit pincode into fiddly mobile fields. Typos here don't just cause abandonment — they cause failed deliveries and RTO later.
The fix: Phone-first address autofill. Enter the mobile number, and a known shopper's name and saved address populate automatically; pincode auto-fills city and state. Read how address autofill saves 40 seconds. When it's powered by a cross-store identity network, it even works on a store the buyer has never used before.
8. The store doesn't look trustworthy at the payment moment
No visible reviews, no return policy, no support number, a checkout page that looks different from the store — any of these make a buyer hesitate at the exact second they're about to pay ₹2,000.
The fix: Keep the checkout on-brand (your logo, your colours, not a generic gateway page), show trust signals — ratings, easy-returns, a contact — right on the checkout. A branded, well-built Shopify checkout reassures instead of raising doubt.
9. Offers and coupons aren't visible
Indian shoppers actively hunt for a coupon field, and when they leave to Google 'brandname coupon code', many don't come back. Worse is a coupon box that's empty and makes them feel they're overpaying.
The fix: Auto-apply the best available offer and show the saving clearly ('You saved ₹120'). If you run prepaid discounts, surface them at checkout so the choice is obvious. See prepaid incentives that actually work.
10. Mobile experience is broken
Tiny tap targets, a keyboard that covers the Pay button, zoom-on-focus, a page that reloads and loses entered data. Over 80% of D2C traffic in India is mobile, often on mid-range Androids. If it's clunky on a ₹12,000 phone, you're losing the majority.
The fix: Test your checkout on a real budget Android on 4G, not just your iPhone on office WiFi. Big buttons, autofill-friendly fields, no layout shift. Small stuff, big money.
11. Payment failures with no recovery
UPI timeouts, bank OTP failures, gateway hiccups — payment failure rates in India are real and higher than the West. A failed payment with no fallback means a lost order, even though the buyer wanted to pay.
The fix: On failure, don't dead-end. Offer COD as a fallback, retry with a different method, and follow up on WhatsApp with a payment link. A good WhatsApp cart-recovery playbook turns 'payment failed' into a recovered sale hours later.
Quick-reference: the 11 leaks and their fixes
| Abandonment reason | The fix | Impact |
|---|---|---|
| Forced account/login | Phone-first checkout, no login wall | High |
| 3-4 step checkout | Single-page checkout | High |
| No COD | COD + verification, not a ban | High |
| Hidden shipping | Show cost upfront / free-ship bar | Medium |
| No UPI | UPI intent as default prepaid | High |
| OTP friction | Fast OTP, WhatsApp fallback | Medium |
| Re-typing address | Phone-first autofill | High |
| Low trust at pay | Branded, review-backed checkout | Medium |
| Hidden offers | Auto-apply + show savings | Medium |
| Broken mobile UX | Real budget-Android testing | High |
| Payment failure dead-end | COD fallback + WA recovery | Medium |
Where to start
Don't try to fix all 11 at once. Pull your checkout analytics and find where people actually drop. Nine times out of ten, the top three — login wall, missing COD, and address typing — account for more lost carts than the other eight combined. Fix those, measure for two weeks, then move down the list.
And whatever you recover at checkout, chase the rest with follow-up. A structured abandoned cart recovery flow on WhatsApp will claw back a slice of the carts you still lose.
See where your checkout leaks
Kwikfy replaces your Shopify checkout with a phone-first, single-page flow — COD verification, UPI, address autofill, and WhatsApp recovery built in.
Start Free →