The Real Cost of a Failed COD Order in Pakistan: A Shopify Profit Calculation
A failed COD order in Pakistan costs more than return shipping. Here is the full PKR profit calculation every Shopify seller should run before scaling ads.
Ask a Pakistani Shopify seller what a returned COD parcel costs them and you will usually hear one number: the return shipping charge. Maybe PKR 200. Maybe PKR 250. Annoying, but survivable.
That number is wrong, and it is wrong by a factor of four or five.
The return charge is the last and smallest line item in a much longer bill. By the time a parcel comes back to your Lahore or Karachi warehouse, you have already paid for the ad that produced the order, the forward shipping, the packaging, the labour, the courier’s COD handling fee, and several days of your working capital being locked inside a box that nobody wanted.
This article does the full arithmetic in rupees. Not global averages, not dollar-based estimates, but the actual cost structure a Pakistani store faces in 2026. By the end you will know exactly how many delivered orders it takes to pay for one failed one, and at what return rate your store stops being a business and starts being a very expensive hobby.
First, the uncomfortable baseline: how bad is RTO in Pakistan?
Cash on delivery is not a payment option in Pakistan. It is the payment system. Depending on which dataset you trust, COD accounts for anywhere between 55% and 80% of all ecommerce transactions here, and it is not going away while a large share of the population still sits outside the formal banking system.
The problem is what comes attached to it.
DHL Pakistan puts the national e-commerce RTO average at roughly 18% to 20%, meaning about one in five COD parcels comes back undelivered. Merchant-reported figures run higher. Most Pakistani Shopify stores that have never actively worked on their COD process land somewhere in the 25% to 35% range, and fashion and electronics can push past 40%.
For context, a 10% return rate in the UK on prepaid orders is completely normal. A 10% RTO rate in Pakistan on COD orders is exceptional performance that very few stores achieve.
Here is the part most sellers miss. Those percentages are not a delivery problem. They are a margin problem, and the maths is far uglier than the percentage suggests.
The cost of one delivered order (the control group)
To understand what a failure costs, you first need a clean picture of what success looks like.
Take a realistic Pakistani apparel store. Unstitched kurta, single-piece order, shipped Lahore to a customer in Multan.
| Line item | Amount (PKR) |
|---|---|
| Selling price (AOV) | 2,499 |
| Product cost (COGS) | (900) |
| Packaging and polybag | (60) |
| Forward courier charge | (250) |
| COD collection fee | (130) |
| Ad cost per order | (450) |
| Net profit | 709 |
That is a 28% net margin. Genuinely healthy for this market, and better than a lot of stores are actually running.
A note on the two numbers people argue about. Courier rates for a 1kg intercity overnight parcel in 2026 sit around PKR 230 to 330 across TCS, Leopards and M&P, and COD handling fees typically land between PKR 100 and 200 per shipment for retail accounts, with corporate accounts negotiating lower. On the ad side, Pakistani ecommerce CPCs commonly run PKR 20 to 60 for well-targeted campaigns, so a PKR 450 cost per purchase assumes a decent funnel. If your CPP is PKR 900, every number below gets worse, not better.
Hold onto that figure: PKR 709 profit per delivered order.
The cost of one failed order (the real bill)
Now the same order, except the customer does not pick up the phone, or refuses at the door, or the address turns out to be incomplete.
| Line item | Amount (PKR) | Why you still pay it |
|---|---|---|
| Ad spend | 450 | Already spent. Meta does not refund you for a customer who changed their mind. |
| Forward courier charge | 250 | Charged on dispatch, not on delivery. |
| Return courier charge | 200 | The parcel has to physically travel back to you. |
| Packaging | 60 | Opened, taped, scuffed. Rarely reusable at retail standard. |
| Handling, QC and repack labour | 40 | Someone has to receive it, inspect it, and put it back into stock. |
| Confirmation call / SMS attempts | 15 | Your team called. Nobody answered. |
| Total cost of failure | 1,015 |
PKR 1,015 out the door on a transaction that generated zero revenue.
And this is a conservative version. It assumes the product comes back in sellable condition, that your courier charges you a return rate lower than the forward rate, and that nobody on your team spent twenty minutes chasing the customer on WhatsApp.
The number that should worry you: the recovery ratio
Divide the loss by the profit.
1,015 ÷ 709 = 1.43
Every failed COD order in this scenario destroys the profit of roughly 1.4 successful deliveries.
Sit with that for a second. It is not a rounding error. It means that if you ship ten parcels and three come back, those three failures have wiped out the profit from more than four of the seven that succeeded. You did the work of ten orders and got paid for less than three.
This is the single most important number in Pakistani COD ecommerce, and almost nobody calculates it. Most sellers look at gross revenue in the Shopify dashboard, see a big number, and assume the business is working.
What different RTO rates actually do to your P&L
Here is the effective profit per parcel shipped at various return rates, using the same PKR 709 profit and PKR 1,015 loss figures.
| RTO rate | Profit per parcel shipped (PKR) | What it means |
|---|---|---|
| 10% | 537 | Best in class. You are printing money. |
| 15% | 450 | Strong. Below the national average. |
| 20% | 364 | The Pakistani average. Survivable. |
| 25% | 278 | Margin is thinning fast. |
| 30% | 192 | Where most unoptimised stores sit. |
| 35% | 106 | You are working for the courier. |
| 40% | 19 | Effectively break-even. |
| 41% | 0 | The cliff edge. |
| 50% | (153) | Every parcel you ship loses money. |
Your break-even RTO rate in this example is 41.1%.
Cross it, and scaling your ad spend accelerates your losses instead of your growth. That is the trap that kills Pakistani stores: the founder sees revenue climbing, pours more money into Meta, and the RTO rate climbs with the volume because the new traffic is colder and less committed. Revenue goes up, the bank account goes down, and nobody can explain why.
Scaling it up: what 1,000 orders a month looks like
Say you are shipping 1,000 COD parcels a month.
At a 30% RTO rate:
- 700 delivered × PKR 709 = PKR 496,300
- 300 failed × PKR 1,015 = PKR 304,500
- Net monthly profit: PKR 191,800
At a 15% RTO rate:
- 850 delivered × PKR 709 = PKR 602,650
- 150 failed × PKR 1,015 = PKR 152,250
- Net monthly profit: PKR 450,400
Same product. Same ad spend. Same courier. Same warehouse.
Difference: PKR 258,600 per month. PKR 3.1 million per year.
You did not launch a new product, you did not find a cheaper supplier, and you did not negotiate a better courier rate. You just stopped shipping parcels to people who were never going to accept them.
For comparison, a hard-fought 15% discount on your courier rate would save you around PKR 37 per parcel, or PKR 37,000 a month. Cutting RTO by half is worth seven times more than the courier negotiation everyone obsesses over.
The costs that never show up in the calculation
The PKR 1,015 figure is the visible damage. There are four more expenses that do not appear on any invoice, and over a year they often add up to more than the direct losses.
1. The cash flow trap. Most Pakistani couriers settle COD payments 7 to 14 days after delivery. For failed orders, you get nothing at all, but you funded the inventory, the ads and the shipping weeks earlier. At 30% RTO across 1,000 orders, roughly PKR 750,000 of product value is permanently cycling through failed deliveries and never converting to cash. That is working capital you cannot use to restock, and it is the reason so many growing Pakistani stores hit a wall at exactly the moment their sales look best.
2. You are teaching Meta to find you bad customers. This one is expensive and invisible. If your pixel fires a Purchase event the moment a COD form is submitted, Meta’s algorithm learns that a “conversion” means someone who filled a form, not someone who paid cash. It then goes and finds more people exactly like that. Your cost per order looks fantastic in Ads Manager while your RTO rate quietly climbs, because you have literally optimised your campaigns toward non-payers. Feeding the algorithm clean, accurate signals is one of the highest-leverage fixes available, and most stores have never checked whether their events are firing correctly.
3. Inventory that ages in transit. A returned parcel is out of your sellable stock for a week or more. In fashion, where a design has maybe a six-week commercial life, that is a meaningful chunk of its selling window spent riding around in a courier van.
4. Team time and morale. Somebody has to reconcile the courier statement, chase the NDR, argue about a fake “customer not available” scan, receive the parcel, inspect it and restock it. At 300 returns a month, that is not an admin task. That is a full-time role you are paying for.
So what actually reduces RTO in Pakistan?
Now the useful part. Every rupee you keep depends on filtering out orders that were never going to convert, before you hand the parcel to a courier.
Verify the phone number before you dispatch
The overwhelming majority of failed COD deliveries in Pakistan trace back to one thing: an unreachable customer. Wrong digit, disposable number, or a number typed by someone who was never serious. If the courier cannot reach the buyer, the parcel comes back, full stop.
OTP verification at the point of order closes this hole completely. The customer receives a code, enters it, and you now know that the number attached to that order is real and in that person’s hand. Orders that fail OTP never make it into your dispatch queue, so they never cost you PKR 1,015.
Ask for a deposit on high-risk orders
This is the most powerful lever available and the most underused in this market. A partial payment of even 10% to 15% changes the psychology entirely. The buyer is still paying most of the amount at the door, so you have not abandoned COD, but they have now entered payment details and parted with real money. Merchants across Pakistan and Bangladesh who apply deposits to risky orders report RTO drops in the range of 30% to 45%, with average order value holding steady or rising.
You do not need to apply it to everyone. Apply it to first-time buyers, to remote pin codes, and to orders above a value threshold.
Block the patterns you already recognise
Every experienced Pakistani seller can describe their problem orders: the same IP placing five orders under different names, addresses that are three words long, postal codes that do not match the city, phone numbers that have refused delivery before. IP blocking, postal code validation and blocklist rules catch these automatically instead of relying on someone spotting them at 11pm before printing labels.
Raise your order value so failures hurt less
Look back at the break-even table. That 41% cliff edge is a function of your margin per order. Improve the margin and the cliff moves further away.
Run the same scenario with an upsell that lifts AOV from PKR 2,499 to PKR 3,200:
- Revenue 3,200, COGS 1,300, packaging 60, shipping 250, COD fee 150, ads 450
- Net profit per delivered order: PKR 990
- New break-even RTO rate: 49.4%
Your shipping cost, your COD fee and your ad cost are all roughly fixed per parcel. Spreading them across a larger order is pure margin. And critically, the customer who accepts an upsell has demonstrated more intent, which correlates with a higher likelihood of actually taking delivery.
Fix your pixel before you scale
If you are going to spend money teaching an algorithm what a good customer looks like, make sure it is learning from the right events. Accurate server-side tracking across Meta, GA4, TikTok and your other channels means your campaigns optimise toward people who complete real orders, not people who abandon halfway.
Doing this on Shopify without a developer
Shopify’s native checkout was not designed for a COD-first market. There is no built-in OTP, no partial payment option for cash orders, no fraud rules tuned for Pakistani phone numbers and postal codes, and no easy way to collect a deposit while keeping the balance on delivery.
This is the gap Neo COD Form & Upsell fills. It replaces the standard checkout with a one-click COD order form and layers the RTO controls on top of it:
- OTP verification so unreachable numbers get filtered out before dispatch
- Partial payments to collect a deposit on high-risk orders while keeping the rest as cash on delivery
- Fraud controls including IP blocking and postal code validation
- Upsells, downsells and quantity offers to lift AOV and push your break-even RTO rate further out
- Abandoned cart recovery and built-in customer messaging to follow up before an order goes cold
- Accurate multi-pixel tracking across Meta, GA4, Google Ads, TikTok, Snapchat, Pinterest and X
The app is free up to 100 orders a month, which is enough to test whether the numbers in this article hold for your specific store before you commit to anything. You can find it on the Shopify App Store.
Run your own numbers before you do anything else
Do not take my figures. Take twenty minutes and build the same table with yours.
- Pull your actual AOV, COGS, packaging cost, forward and return courier rates, COD fee and cost per purchase from the last 30 days.
- Calculate your profit per delivered order.
- Calculate your total cost per failed order.
- Divide the second by the first. That is your recovery ratio.
- Work out your break-even RTO rate: cost of failure ÷ (cost of failure + profit per delivery).
- Compare it to your actual RTO rate.
The gap between those last two numbers is your entire strategy for the next quarter.
Most Pakistani sellers spend their energy on the top of the funnel: better creatives, cheaper clicks, more traffic. But you do not have a traffic problem. You have a delivery conversion problem, and it is sitting there costing you PKR 1,015 a time while you optimise ad sets.
Fix the leak first. Then scale.
Frequently asked questions
What is a good RTO rate for a Pakistani Shopify store? The national ecommerce average sits around 18% to 20%, and most unoptimised stores run at 25% to 35%. Anything under 15% is strong performance for a COD-heavy Pakistani store, and under 10% is exceptional.
Does asking for a deposit kill conversions? It reduces the number of orders placed, but it increases the number of orders that convert into cash. Merchants applying partial payments generally see total revenue rise, because the orders that drop off were the ones that would have come back anyway. Apply it selectively to high-risk orders rather than universally.
Is OTP verification annoying for Pakistani customers? Not meaningfully. Pakistani users are already familiar with OTP from banking, mobile wallets and ride-hailing apps. A single SMS code adds a few seconds and filters out a large share of fake and mistyped numbers.
Should I just stop offering COD? No. COD is the majority of Pakistani ecommerce transactions and removing it would cost far more revenue than the RTO saves. The goal is a better-controlled COD process, not the elimination of COD.
Which courier has the lowest return rate in Pakistan? Performance varies significantly by region, so there is no universal answer. Stores shipping 500 or more orders a month should run two couriers in parallel and track RTO rate per courier per city, then route accordingly.
How much does RTO reduction actually save? In the example above, moving from 30% to 15% RTO on 1,000 orders a month was worth PKR 258,600 monthly, or PKR 3.1 million a year, with no change to product, pricing or ad spend.