How to Reduce Shopify RTO by Restricting COD in High-Return Pincodes
Indian D2C brands lose ₹200–₹600 on every COD return — double shipping, repackaging, and inventory time. Industry average RTO for COD orders in India is 20–40%. In some pincodes it exceeds 60%.
The good news: high-RTO pincodes are predictable. The same 100–500 pincodes generate 60–80% of your returns. Blocking COD in exactly those pincodes — and keeping it everywhere else — typically reduces total RTO by 20–35%.
Understanding the RTO Problem
RTO (Return to Origin) happens when a delivered or dispatched order is returned. For COD orders, the most common reasons:
- Impulse ordering — easy to place, easy to reject at the door
- Address quality — low-quality addresses in certain pincode clusters lead to undeliverable orders
- Regional intent — in some micro-markets, COD return rates are structurally higher due to socioeconomic patterns
The critical insight: these patterns are geographically concentrated. A brand with 25% overall RTO often finds that 5–10% of their pincodes generate 50–60% of their returns. Blocking COD in those pincodes alone dramatically cuts total RTO without affecting the majority of legitimate COD shoppers elsewhere.
Step 1: Identify Your High-RTO Pincodes
Export your Shopify order data
In Shopify Admin → Orders → Export. Select "All time" or at minimum the last 6 months. Download the CSV.
Filter for COD returns
Open the CSV in Excel or Google Sheets. Filter for:
Payment Methodcontains "Cash on Delivery" or "COD" (this column name varies by gateway)Financial Status= "refunded" OR orders cancelled after dispatch (check with your logistics partner's return report if Shopify doesn't have this data)
If your Shopify data doesn't cleanly label post-dispatch cancellations as returns, cross-reference with your 3PL or logistics partner's return report (most provide this as a CSV or Excel export).
Create a pincode return summary
In your spreadsheet:
- Create a pivot table
- Row field:
Shipping Zip(the customer pincode) - Value: COUNT of return orders
- Sort by return count descending
The top 100–300 pincodes are your starting restriction list. Save them as a CSV (one pincode per row).
Step 2: Set Up COD Restriction in Lokally
Install Lokally
Install from the Shopify App Store (7-day free trial, no credit card). Open from Shopify Admin → Apps.
Create the restriction rule
- In the Lokally dashboard, navigate to Payment Rules
- Click New Rule → Hide → Cash on Delivery
- Select Pincode as the location type
- Upload your high-RTO pincode CSV
- Optionally scope to products above a price threshold (e.g., ₹800) if you want to keep COD for low-value items
- Save and activate
Configure the pincode widget message
In Lokally → Settings → Pincode Widget, set the message displayed when a shopper enters a blocked pincode:
"Cash on Delivery is not available in your area. UPI, cards, and net banking are accepted."
This message shows before the checkout page, reducing confusion and support tickets from shoppers who don't understand why COD is missing.
Step 3: Add a Prepaid Incentive (Recommended)
Blocking COD alone reduces RTO. Combining it with a prepaid incentive converts more COD buyers in blocked areas to prepaid rather than abandoning.
In Lokally → Regional Pricing → New Rule:
- Target the same high-RTO pincodes
- Set a discount of −₹50 to −₹100 (or −5%)
- This shows as a lower price for prepaid shoppers in those pincodes
In your product page copy or announcement bar, you can reference "Save ₹X with prepaid" — though Lokally handles the price change automatically regardless.
What to Expect
| Metric | Typical result |
|---|---|
| Overall RTO reduction (restriction only) | 20–35% within 6 weeks |
| RTO reduction (restriction + prepaid incentive) | 35–50% |
| Conversion in blocked pincodes | −5–10% (false demand eliminated) |
| Net revenue impact | Flat or positive as return costs are recovered |
The conversion drop in blocked pincodes is expected and desirable — it represents orders that would have been returned anyway.
Expanding and Maintaining the List
Re-export orders every 4–6 weeks and identify new high-RTO pincodes. Update your Lokally restriction rule by uploading a new CSV. Most brands expand from their initial 100–200 pincodes to 400–600 pincodes over 6 months as new patterns emerge.
Summary
COD restriction is the highest-ROI Lokally use case for brands suffering from RTO. Identify your top high-RTO pincodes from order history, create a COD hide rule targeting exactly those pincodes, add a prepaid incentive, and expect 20–50% RTO reduction within 6 weeks. Re-export and update monthly.