Skip to content
Grayshaper

· 9 min read

How Pakistani Online Stores Can Cut Fake COD Orders and Returns

Cash on delivery isn't going away in Pakistan. Here's how online stores cut fake orders and returns: WhatsApp confirmation, smart advance payments, better checkout addresses, faster dispatch and choosing couriers by city.

Naimur Rahman HiraGrayshaper

Share:
How Pakistani Online Stores Can Cut Fake COD Orders and Returns

If you run an online store in Pakistan, you already know the feeling. The order comes in, you pack it, the rider takes it, and a week later the same parcel is back on your table. The customer didn't pick up. Or picked up the phone, said "I didn't order this", and hung up.

You paid for the packaging. You paid delivery charges going out, and often coming back too. The stock was stuck in a courier warehouse for days when you could have sold it to someone else. And because most orders are cash on delivery, you never got a rupee from that customer.

COD isn't going away. A huge share of Pakistani shoppers still won't pay upfront to a store they don't know, and asking everyone to prepay usually kills more sales than it saves. So the goal isn't to stop COD. It's to stop sending parcels to people who were never going to accept them.

Here's what actually works, from the order form all the way to the courier.

First, measure delivered orders, not placed orders

This sounds basic, but most stores get it wrong. They look at how many orders came in yesterday, and that's the number they celebrate. The number that pays the bills is how many orders were delivered and paid for.

Once you track that, things start to show up. One Facebook ad brings in a lot of cheap orders and half of them come back. Another brings fewer orders that almost all get delivered. One city is fine, another has returns on every third parcel. One courier delivers on the first attempt, another keeps marking parcels as "customer not available".

You can't fix what you can't see. If your store can't tell you return rates by ad, by city and by courier, start there before anything else.

Confirm every order before it leaves your hands

This is the single biggest fix, and it costs almost nothing.

Confirming a cash on delivery order with the customer on WhatsApp before booking the courier

Before you book a parcel, send the customer a WhatsApp message with the order details: product, size, price including delivery, and the address. Ask them to reply to confirm. If there's no reply within a few hours, call. If the number is off or nobody answers after a couple of tries, don't ship.

A lot of fake orders are people ordering on impulse, ordering as a joke, or a friend typing someone else's number. One confirmation message filters out most of them before you've spent anything. For higher value orders, a short phone call is worth the two minutes.

If you're doing this by hand for a lot of orders, it gets heavy fast. That's where a proper store setup helps: the confirmation message goes out automatically when the order is placed, and orders stay on hold until the customer confirms.

Ask for a small advance where it makes sense

Asking everyone to pay in full upfront will cost you sales. Asking some customers for a small advance is a different story.

A common approach is to take the delivery charge in advance through JazzCash, Easypaisa or a Raast transfer, and collect the rest on delivery. Someone who has paid even a small amount is far more likely to accept the parcel. And if they don't, at least the delivery cost is covered.

You don't have to do this for everyone. Many stores only ask for an advance when:

  • It's a first order from a new customer

  • The order value is above a certain amount

  • The delivery city has a high return rate in your own data

  • The phone number has refused a parcel before

You can also make prepaying attractive instead of forcing it. A small discount or free delivery for full advance payment pushes a good chunk of customers to pay upfront by choice.

Keep your own record of who refuses parcels

Every return tells you something. If a phone number refused a parcel last month, you want to know that the next time it places an order.

Inbox selling makes this almost impossible, because the history is buried across chats and spreadsheets. On a proper store, every order is tied to a phone number, so the store can flag repeat refusers automatically. You decide what happens next: ask for an advance, call first, or don't ship at all.

Over time this list becomes one of the most valuable things your business owns.

Fix the address problem at checkout

Plenty of returns aren't fake orders at all. The rider simply couldn't find the place.

Free text addresses cause most of this. "Near the big mosque, Gulberg." "Pindi" instead of Rawalpindi. A city name spelled three different ways that the courier's system doesn't recognise. A phone number missing a digit.

A few changes at checkout cut this down a lot:

  • A city dropdown that matches your courier's own city list, instead of a text box

  • Separate fields for area or sector, street and house number, plus a nearby landmark

  • Phone number checking, so only a valid mobile number in the 03XX format gets through

  • An option to add a second contact number

None of this is fancy. It just makes sure the rider gets an address they can actually deliver to.

Ship fast

Impulse buying cuts both ways. The excitement that made someone order at 11 PM fades in a few days. If the parcel shows up a week later, there's a real chance they've changed their mind, found it cheaper somewhere else, or simply don't have the cash ready.

Same day or next day dispatch noticeably reduces refusals for many stores. It also helps to send a WhatsApp update when the parcel is booked, and another when it's out for delivery, so the customer expects the rider and keeps the cash ready.

Don't let the product page set the wrong expectation

Some refusals happen at the door, when the customer finally sees the product and it isn't what they imagined. In clothing especially, a lot of this comes down to the product page.

  • Use real photos of the actual item, not only the polished studio shots or images borrowed from somewhere else

  • Write the fabric, the size measurements in inches and what's included, for example whether a suit is two piece or three piece and whether the dupatta comes with it

  • Make your exchange and return policy easy to find and easy to understand

A customer who trusts what they'll receive is far less likely to refuse it.

Choose couriers by city, not by habit

Most stores pick one courier and send everything through it. But delivery performance in Pakistan varies a lot by city and area. TCS, Leopards, PostEx, Trax, M&P and others each have places where they're strong and places where they struggle.

If your data shows that one courier keeps failing in a particular city, try another one there. Some stores end up using two or three couriers, with the store choosing the right one automatically based on the delivery city. It's also worth comparing how fast each courier pays out your COD cash, because that affects your cash flow as much as your return rate does.

What your store should be doing for you

Everything above can be done by hand with WhatsApp, a spreadsheet and a lot of patience. Many stores start that way. But once you're handling more than a few dozen orders a day, it becomes a full time job, and mistakes creep in.

A store built for how selling works in Pakistan should handle most of it on its own:

  1. Send an automatic order confirmation on WhatsApp and hold the order until the customer confirms

  2. Offer COD plus JazzCash, Easypaisa and bank transfer, with optional advance payment rules

  3. Flag phone numbers with a history of refused parcels

  4. Use structured address fields with a courier matched city list

  5. Book parcels directly with your couriers through their APIs, without copy and paste

  6. Show delivery and return rates by courier, by city and by ad campaign

If your current setup can't do most of this, you're probably losing more to returns than you realise.

Common questions

What is a normal COD return rate in Pakistan?

It varies a lot by product category, price, city and how the orders were generated. Fashion and low priced impulse products usually see higher returns than essentials. Rather than chasing an industry average, track your own rate every month and work on bringing it down.

Should I stop offering cash on delivery?

For most Pakistani stores, no. Removing COD usually cuts your sales more than it cuts your losses. A better approach is to keep COD, confirm every order, and ask for a partial advance only from higher risk orders.

How do I verify COD orders without calling every customer?

Automate the first step. Send a WhatsApp confirmation message as soon as the order is placed, and only call the customers who don't reply or whose orders look risky. That way your team spends time only where it's needed.

Can my website book orders with TCS, Leopards or PostEx automatically?

Yes. Most major Pakistani couriers offer APIs for merchants. With the right integration, orders are booked from your store dashboard, tracking numbers are saved against each order, and delivery status updates come back automatically.

Does a Shopify store solve this?

Shopify can do part of it with paid apps, but local payments, courier booking, WhatsApp confirmation and refusal tracking often mean several separate apps and monthly fees in dollars. Whether that's worth it depends on your order volume and margins.


Grayshaper builds ecommerce stores for sellers in South Asia, set up around cash on delivery, local wallets and local couriers from day one. If returns are eating into your profits, book a call and walk us through how your orders work today.

Found it useful? Pass it on.

Share:

More from the blog

All articles

Got something gray? Send it over.

A rough idea, an old site or a sketch on paper. We reply within one working day.

Book a call