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. COD RTO in India is commonly cited at 20–40%, and some pincodes are far worse.
The good news: high-RTO pincodes tend to be predictable. In many stores, a few hundred pincodes generate a large share of returns. Hiding COD in exactly those pincodes, and keeping it everywhere else, targets the problem without taking COD away from everyone.
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 often finds that a small share of its pincodes generates a large share of its returns. Hiding COD in those pincodes alone can cut total RTO without affecting most genuine 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. Copy the pincode column.
Step 2: Set Up COD Restriction in Lokally
Install Lokally
Install from the Shopify App Store (7-day free trial, billed through Shopify). Open from Shopify Admin → Apps.
Create the restriction rule
- In Lokally, go to Regions, add a region (for example
High RTO) and paste your pincodes, one per line or comma-separated - Go to Payment rules and click Reload payment methods, or add Cash on Delivery by name exactly as it appears at checkout
- On Cash on Delivery, click Add Rule, choose the
High RTOregion and Always hide - Optionally, in the Cash on delivery limit card, hide COD above an order value
- Save
Tell shoppers before checkout
Add a Lokally announcement bar block in your theme editor, then in Lokally → Storefront content set its text for the High RTO region:
"Cash on Delivery is not available in your area. UPI, cards, and net banking are accepted."
Shoppers who enter a pincode in that region see it before checkout, which reduces 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 → Pricing rules → Create pricing rule:
- Choose the same
High RTOregion - Set ₹50 to ₹100 off (or 5% off)
- Shoppers in that region see the lower price, and at checkout it follows their delivery pincode
Mention it in the region's announcement bar, for example "Save ₹50 when you pay online".
What to Expect
Results depend on your products, prices and shoppers, so measure them. Compare these before and after, for the restricted region and for the rest of the store:
| Metric | What to watch |
|---|---|
| RTO rate | Should fall in the restricted region |
| Orders in restricted pincodes | Will usually drop somewhat, as some COD-only buyers leave |
| Net revenue after return costs | The number that tells you whether the restriction pays off |
Some drop in orders from restricted pincodes is expected: many of those orders were the ones most likely to be refused at the door.
Expanding and Maintaining the List
Re-export orders every 4–6 weeks and identify new high-RTO pincodes. Paste new pincodes into the Lokally region; the payment rule and discount follow the region automatically. Expect the list to grow 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 measure the effect over 4–6 weeks. Re-export and update monthly.