Guide

How to reduce cash on delivery returns and fake COD orders

Refused parcels cost you courier charges, stuck stock and time, and they are one of the biggest headaches of selling with cash on delivery in Pakistan. This guide covers practical steps you can take before, during and after an order to reduce COD returns and filter out fake orders.

7 min readUpdated 17 September 2026

The short version

1Why cash on delivery parcels get refusedBefore you fix returns, it helps to know why they happen.
2Confirm orders before you book themThe simplest habit to build is this: confirm every cash on delivery order before it goes to the courier.
3Show the product honestly so it matches expectations"Not as expected" is a common reason for refusal, and it usually starts on the product page.
4Show delivery charges and the exact total upfrontA customer who sees one price on Instagram and a higher total at the door has a ready reason to refuse.
5Capture complete addresses and phone numbersParcels also come back simply because the rider could not find the customer.
6Dispatch quickly and share trackingThe longer an order sits, the more likely the customer forgets it, finds the item elsewhere or loses interest.
7Keep a record of repeat refusersSome customers refuse parcels again and again.
8Consider partial advance payment for risky ordersSome sellers ask for a small advance by bank transfer or mobile wallet on certain orders, with the rest collected on delivery.
9Write a clear returns and exchange policy, and pack wellCustomers are less likely to refuse at the door if they know they can exchange a size afterwards.
10Stop scripted fake orders at checkoutNot every bad order comes from a real shopper.
11Review return reasons and fix the root causeSet aside time regularly to look at every returned parcel together.

Why cash on delivery parcels get refused

Before you fix returns, it helps to know why they happen. Most refusals fall into a few groups. The customer changed their mind or ordered on impulse. The product did not match what they expected. The total at the door was higher than they thought. They were not home, or the address was incomplete. Or the order was never genuine in the first place.

Read more

Each reason needs a different fix. Confirmation calls catch impulse and fake orders. Better photos and size guides deal with expectation problems. Clear totals stop doorstep surprises. Treat returns as information, not just a loss, and the steps below become much easier to prioritise.

Confirm orders before you book them

The simplest habit to build is this: confirm every cash on delivery order before it goes to the courier. A short WhatsApp message or call checks that the customer really placed the order, still wants it and will be available to receive it. Customers who do not reply, or who hesitate, can be held back instead of booked.

  • Repeat the items, sizes and colours ordered.
  • State the exact total the rider will collect.
  • Confirm the full address, nearest landmark and city.
  • Ask them to reply to confirm before you dispatch.
Read more

If you cannot confirm everything, prioritise first-time customers, high-value orders, unusually large quantities and orders to addresses that look incomplete. Repeat customers who always accept their parcels need less checking. Keep a consistent message, sent from the same business number, so customers recognise it and do not mistake it for a scam. A friendly tone works better than sounding suspicious.

Show the product honestly so it matches expectations

"Not as expected" is a common reason for refusal, and it usually starts on the product page. Use real photos of the item you actually ship, not only supplier images. Show fabric close-ups, the back of the garment, the bottle size next to a hand, and the colour in natural light.

Read more

For clothing and shoes, add a size guide with actual measurements, not just S, M and L. Say whether a suit is stitched or unstitched, how many pieces it has and what the dupatta is made of. For skincare and fragrance, state the size and what the product does. A few extra lines of detail save many returned parcels.

Show delivery charges and the exact total upfront

A customer who sees one price on Instagram and a higher total at the door has a ready reason to refuse. Show the delivery charge before checkout, and make sure the total in the order confirmation is exactly what the rider will ask for. Avoid adding charges after the order is placed.

Read more

This is one place where your store setup matters. On an ecomm.builder store, cash on delivery totals are calculated and verified on the server, including delivery charges and any discount code, so the amount in the confirmation email is the amount riders collect. Whatever you use, check that the total a customer sees at checkout cannot drift from what reaches the courier.

Capture complete addresses and phone numbers

Parcels also come back simply because the rider could not find the customer. Make your checkout ask for what a rider needs, and check it during confirmation. An address like "near the market" in a large city is an invitation for a failed delivery.

  • Ask for house or flat number, street, area and a nearby landmark.
  • Require a working mobile number, and ask for an alternate one if possible.
  • Verify the city matches the area, and that your courier delivers there.
  • Check the phone number is reachable when you confirm the order.
  • Correct obvious spelling mistakes before booking.
Read more

Make the phone number field hard to get wrong on a mobile keyboard, and show an example format. Riders often call before arriving, so a switched-off or mistyped number can turn a willing customer into a returned parcel. If a customer gives a number that does not connect during confirmation, hold the order and message them rather than booking and hoping.

Dispatch quickly and share tracking

The longer an order sits, the more likely the customer forgets it, finds the item elsewhere or loses interest. Book confirmed orders promptly and send the tracking number as soon as you have it. A customer who knows a parcel is on its way is more likely to keep cash ready and answer the rider's call.

Read more

If you book shipments by hand, this step is often where delays creep in during busy periods like Eid. Some stores book couriers directly from the order. In an ecomm.builder admin, you can book Leopards or PostEx shipments from the order, the tracking number is emailed to the customer automatically, status syncs back, and the same order cannot be booked twice.

Keep a record of repeat refusers

Some customers refuse parcels again and again. Keep a simple list of phone numbers and names linked to refused orders, along with the reason if you know it. When a new order comes in, check it against the list before confirming. A single refusal may have an innocent explanation, so look for patterns rather than blocking at the first problem.

Read more

For customers on the list, you have options: call before booking, ask for partial advance payment, or politely decline the order. Whichever you choose, stay courteous, because people talk and reviews travel. Keep the list private, store it securely and use it only to manage your own orders, not to share or publish customer details.

Consider partial advance payment for risky orders

Some sellers ask for a small advance by bank transfer or mobile wallet on certain orders, with the rest collected on delivery. It is not for everyone, and asking every customer may put off genuine first-time buyers who prefer cash on delivery. It tends to make most sense for high-value orders, custom or stitched-to-measure items that cannot be resold, and customers with a history of refusals.

Read more

If you use it, explain the reason politely and without accusing anyone. Share payment details only from your official business number so customers are not worried about fraud. Send a receipt for the advance, and state clearly what happens to it if the order is cancelled, exchanged or refused. Put this in writing in your policy as well.

Write a clear returns and exchange policy, and pack well

Customers are less likely to refuse at the door if they know they can exchange a size afterwards. A clear, easy-to-find exchange policy gives them that confidence. Say what can be exchanged, the condition required, how to contact you and who covers the courier charge. Mention it in your order confirmation too.

Read more

Packaging matters as well. A crushed box or leaking bottle gives a reason to refuse. Use sturdy flyers or boxes, seal liquids, protect fragile items, and label parcels clearly with the order number so the rider and customer both recognise it.

Stop scripted fake orders at checkout

Not every bad order comes from a real shopper. Competitors or bots can place many fake cash on delivery orders in a short time, tying up stock and wasting your confirmation effort. Your website should limit how many orders can be placed quickly from the same source, and reserve stock only for real orders so it can be released if they are cancelled.

Read more

On an ecomm.builder store, orders are rate limited against scripted fake orders, stock is reserved at order time, and cancelling an order restores the stock and any discount code use. Whatever platform you use, ask how it handles a burst of fake orders before a big sale, when you can least afford to have your best-selling sizes locked up by orders that will never be delivered.

Review return reasons and fix the root cause

Set aside time regularly to look at every returned parcel together. Group them by reason, product, city and courier. You may find one kurta keeps coming back because the size runs small, one area keeps failing because addresses are vague, or returns rise after a particular ad that attracted casual clickers.

  • Size complaints: update the size guide or add a fit note.
  • Colour complaints: reshoot the product in natural light.
  • Unreachable customers: tighten address and phone checks.
  • Impulse orders from one ad: change the targeting or the offer.
  • Area problems: ask your courier or test a second one there.
Read more

Talk to your courier's local contact about repeated failures in the same area, and ask customers who refused, politely, what went wrong. Some will not answer, but those who do often point to a simple fix. Small changes made after each review add up over a season, and they protect your margins far better than raising prices to cover returns.

Frequently asked questions

What is the most effective way to reduce COD returns?

Confirming each order by WhatsApp or a call before booking it is the habit most sellers start with. Combine it with clear product details, an exact total shown upfront and quick dispatch with tracking.

How do I identify fake COD orders?

Watch for incomplete addresses, unreachable phone numbers, unusual quantities, several orders in a short time, and numbers linked to earlier refusals. Confirm before booking, and use a checkout that rate limits orders to slow down scripted attacks.

Should I ask every customer for advance payment?

Usually not. Many genuine shoppers prefer cash on delivery, especially from a new brand. Partial advance payment is an option some sellers use for high-value orders, custom items or customers who have refused parcels before.

What should an order confirmation message include?

The items with sizes and colours, the exact total the rider will collect, the full delivery address with city, and a request to reply to confirm. Keep it short and consistent so customers recognise it.

Does sharing tracking really help with refusals?

It helps customers expect the parcel, keep cash ready and answer the rider's call. It will not stop every refusal, but it removes surprise, which is one common reason parcels come back.

Tell us what you sell

We will walk you through a working store, tell you what yours needs and what it involves. No obligation.