Why fake COD orders in Pakistan cost more than you think, and less than you fear
Fake COD orders in Pakistan are every seller's complaint: a wrong number, a name like "abc", a rider who comes back with the parcel and a return charge on your invoice. With 11.11 four days away, more orders mean more of them, and the usual reaction is to cancel anything that looks odd.
That reaction can cost more than the fake orders do. Fake parcels are cheap compared with a real buyer you turned away. This guide gives you a risk score sheet you can copy today, a Rs calculation that shows where to draw the line for your own product, and a simple Shopify setup to hold risky orders before they reach the packing table.
One honest warning first: nobody publishes a reliable fake-order rate for Pakistan. Figures you see in app adverts are marketing numbers. So this guide does not give you one. It shows you how to measure your own.
What does the public data actually say?
The best public picture is OrderNation's June 2026 study of one Pakistani online retailer, covering about 170,000 orders placed and about 127,000 shipped parcels. It is not a national figure, and it does not separate fake orders from buyers who honestly changed their mind. Treat it as the size of the whole problem, not the size of fake orders alone.
| Measure (one retailer, OrderNation 2026) | Figure |
|---|---|
| COD orders cancelled | 37.3% |
| Prepaid orders cancelled | 2.8% |
| Out of 100 COD orders placed, dispatched | About 63 |
| Out of 100 COD orders placed, cash collected | About 49 |
| Shipped order value returned (RTO) | 19.4% |
| RTO on orders from search | 14.2% |
| RTO on orders from social discovery | 22.7% |
| Median days for a failed COD delivery to show in the books | 21.7 days |
Two things matter here. First, the study's cancellations mostly happen before dispatch, which is the cheapest place to lose an order. Second, a failed delivery takes weeks to show up, so a seller judging fake orders by this week's numbers is looking at old orders. Keep this in mind when you test any change.
Which kind of fake order are you dealing with?
"Fake order" covers several different problems, and each has a different fix. Check your last 50 failed orders and sort them into this table before you buy anything or change any rule.
| Type | How it looks | What works |
|---|---|---|
| Prank order | Real number, but the owner never ordered it; a friend or stranger typed it | A call or WhatsApp check: the number owner says no |
| Junk form entry | Short name, impossible phone, no real address; many in a few minutes | Form validation, duplicate checks |
| Typing mistake | Real buyer, one digit wrong in the phone | Form that checks the phone before submit; do not count it as fake |
| Bulk attack | Many orders in a short time, same product, odd quantities | Hold all of them, confirm by call in a batch |
| Serial refuser | Real person who orders and refuses at the door, again and again | Your own list of refused numbers; ask for advance delivery charges |
| Changed mind | Real buyer, order placed from an ad on impulse | Fast confirmation; this is not fraud |
Do not expect Shopify's built-in tools to catch these. Shopify says its fraud analysis works with online credit card orders it can verify, using signals such as AVS and CVV checks, so a COD order has none of that to go on. Shopify's bot protection is available only on the Plus plan, and Shopify says it is a fairness control for flash sales, not meant to fight fraud. For COD, the checks are yours to run.
Example: when should you ship a risky order?
Here is the idea most sellers miss. By the time an order arrives, the ad money is already gone. It should not affect the decision. All that matters is what you gain if the parcel is delivered and what you lose if it comes back.
Example (illustrative numbers, not real store or courier data). Price Rs 2,800, product cost Rs 1,000, forward shipping Rs 250, courier return charge Rs 200. Returned stock can be resold. A delivered parcel earns Rs 1,550 (2,800 minus 1,000 minus 250). A failed parcel costs Rs 450 (250 plus 200).
The break-even delivery chance = failed parcel cost / (delivered profit + failed parcel cost). Here that is 450 divided by 2,000, or 22.5%. If an order has even a one-in-four chance of being real, shipping it makes money on average. Put another way, wrongly cancelling one real buyer costs as much as shipping about 3.4 fake parcels (1,550 divided by 450).
Your line moves with your product. Run the same sum for each of your main items:
| Product situation (Example) | Delivered profit | Failed parcel cost | Break-even delivery chance |
|---|---|---|---|
| Rs 2,800 item, stock resellable | Rs 1,550 | Rs 450 | 22.5% |
| Same item at 11.11 price of Rs 2,300 | Rs 1,050 | Rs 450 | 30% |
| Rs 1,200 item, product cost Rs 500 | Rs 450 | Rs 450 | 50% |
| Rs 2,800 fragile item, returned stock is a total loss | Rs 1,550 | Rs 1,450 | 48.3% |
So a cheap or fragile product deserves strict checks, and a healthy-margin product that comes back in good condition can take more risk. A sale discount also raises your line, which is one more reason to confirm carefully on 11.11.
The risk score sheet to copy
Copy this into Google Sheets. The points are a starting suggestion, not a measured model; adjust them after a month of your own results. Add up the points for each order.
| Signal | Points |
|---|---|
| Phone is not 11 digits starting with 03, or digits look made up (0300-0000000) | +3 |
| Name is junk (abc, test, random letters) | +3 |
| Same phone already refused a parcel from you | +3 |
| Same phone or address placed 3 or more orders in 24 hours | +3 |
| Address has only a city, with no area, street or landmark | +2 |
| Quantity far above your normal order (for example 5 pieces when most buy 1 or 2) | +2 |
| Order value more than double your usual order | +1 |
| City where your own return rate is highest | +1 |
| Came through a social ad, not search (lower delivery in the OrderNation study) | +1 |
| Same phone has a delivered order with you before | -3 |
| Score | Group | Action |
|---|---|---|
| 0 to 1 | Green | Normal confirmation, ship the same day |
| 2 to 3 | Yellow | Call and send WhatsApp; ship once the buyer says yes |
| 4 or more | Red | Hold. Two call attempts plus WhatsApp. Cancel if no reply in 24 hours, or offer advance delivery charges |
Example: what the sheet does to profit per 100 orders
Example (illustrative numbers, using the Rs 2,800 product above with ads at Rs 400 per order placed, so Rs 40,000 in total). Out of 100 orders, 70 are green and 60 of them would deliver, 20 are yellow and 10 would deliver, and 10 are red and 1 would deliver. Confirming each yellow or red order costs Rs 20 in staff time. In the last column, 7 yellow orders never reply and are cancelled, including 1 real buyer. Of the red orders, only the 1 real buyer confirms.
| Per 100 orders | Ship everything | Cancel red only | Cancel red and yellow | Confirm yellow and red |
|---|---|---|---|---|
| Shipped | 100 | 90 | 70 | 84 |
| Delivered | 71 | 70 | 60 | 70 |
| Failed | 29 | 20 | 10 | 14 |
| Earned on delivered | Rs 110,050 | Rs 108,500 | Rs 93,000 | Rs 108,500 |
| Cost of failed parcels | Rs 13,050 | Rs 9,000 | Rs 4,500 | Rs 6,300 |
| Ad spend | Rs 40,000 | Rs 40,000 | Rs 40,000 | Rs 40,000 |
| Confirmation cost | Rs 0 | Rs 0 | Rs 0 | Rs 600 |
| Profit | Rs 57,000 | Rs 59,500 | Rs 48,500 | Rs 61,600 |
The strict seller has the best-looking return rate and the worst profit, Rs 8,500 below shipping everything. Confirming the doubtful orders beats both, by Rs 4,600 over ship-everything, because it stops failed parcels without throwing away most real buyers. Judge your rules by profit, not by return rate alone.
How to set this up on Shopify in 30 minutes
- Clean your form. Make phone and address required, and check the phone is 11 digits. Our COD order form guide lists the fields to ask.
- Install Shopify Flow, a free app on the Basic plan and above.
- Create a workflow with the Order created trigger. Add conditions for the signals Flow can read, such as a high quantity or a high order value.
- Use the Add order tags action to tag these orders "check-first", and the Hold fulfillment order action so they stay On hold until a person releases them.
- Keep one shared Google Sheet of refused numbers. Update it each week from the courier's return report, and use it only inside your own team. Do not post customers' numbers or names in public groups.
- Have one person go through the check-first list every two hours during 11.11, then release or cancel each order.
Run your Flow on a test order before the sale, so you do not find out on 11.11 that good orders are stuck on hold.
What to do with a confirmed fake order
- Cancel it in Shopify and restock the item, so it does not sit in your order count.
- Add the number to your refused list only if the owner really placed it. If the owner says "I never ordered", the number is a victim of a prank; do not punish them next time.
- If a parcel is already with the courier, ask for the shipment to be stopped or returned before the rider's next attempt.
- Do not message the person again and again, and never threaten anyone. If a rival or stranger keeps attacking your store, keep the records and speak to a lawyer.
- Write the type from the table above next to each failed order. After a month you will know which problem you really have.
To see if your rules worked, wait at least three to four weeks, since failed deliveries take time to appear. RabbitROI's Shopify app shows return (RTO) rates by courier, city and product, and net profit per ad campaign after returns, ad spend, product cost and shipping, which helps you check whether stricter rules made money or just cut orders.
FAQ
How do I stop fake COD orders on Shopify?
You cannot stop all of them, and Shopify's fraud analysis is built for card orders. Validate the form, score each order, hold risky ones with Shopify Flow, and confirm them by call and WhatsApp before dispatch.
What percentage of COD orders in Pakistan are fake?
There is no reliable public figure. In OrderNation's one-retailer study 37.3% of COD orders were cancelled, but that includes real buyers who changed their mind. Sort your own last 50 failed orders by type to find your number.
Should I cancel every order that does not answer the call?
No. Try again at a different time and send a WhatsApp message first. In the example above, one real buyer wrongly cancelled costs as much as about 3.4 fake parcels, so give low-risk orders a chance before cancelling.
Does asking for advance delivery charges stop fake orders?
It filters many of them, but some real buyers will leave too. Use it for red orders rather than the whole store, and run the calculation in our advance delivery charges guide first.
Can I block a customer's phone number on Shopify?
Keep your own list of refused numbers and check new orders against it during confirmation. Some order form apps also offer blocking, so check what yours supports.
Sources
- OrderNation: State of Online Shopping in Pakistan 2026
- Shopify Help Center: Reviewing orders with fraud analysis
- Shopify Help Center: Bot protection
- Shopify Help Center: Shopify Flow
- Shopify Help Center: Flow trigger, Order created
- Shopify Help Center: Flow action, Add order tags
- Shopify Help Center: Flow action, Hold fulfillment order
Comments
No comments yet. Start the conversation.