Why COD orders get refused at the door

Updated · 6 min read · Trifid Media LLC

A COD order gets refused when the shopper no longer wants it, can't pay for it, or was never going to accept it. The usual causes are impulse orders, a change of mind, buying the same item elsewhere, a total that is higher than the shopper expected, a phone number the courier can't reach, a wrong address, slow delivery, and fake orders. Each cause points to a different fix.

This guide gives no percentages for these causes. We haven't found an independent, public breakdown for GCC stores, and the mix differs from store to store. Your own courier reports will show which causes matter for you.

Why is it so easy to refuse a COD order?

With cash on delivery, the shopper pays nothing when they place the order. Shopify marks an order paid with a manual payment method, such as COD, as Pending until you mark it as paid. So if the shopper changes their mind, refusing at the door costs them nothing. The costs of the trip, the return and the stock sitting on the road fall on you.

That is why a refusal can be a symptom of something earlier: the order was placed too easily, the wait was too long, or the shopper got a surprise at the door.

The common reasons, and what each one tells you

1. Impulse orders

The shopper tapped "Buy" late at night after seeing an ad, then cooled off before the courier arrived. COD makes this easy because there is no card to enter.

What to fix: send a confirmation message soon after the order, so the shopper has to say yes a second time. Dispatch fast, before the interest fades. For large first orders, consider asking for online payment instead of COD.

2. Changed their mind

The shopper no longer needs the item, a family member said no, or the occasion has passed. This grows with every day the parcel takes to arrive.

What to fix: shorter delivery times and tracking messages that keep the order in the shopper's mind ("Your order is out for delivery today").

3. Bought it elsewhere

The shopper ordered the same item from two shops and accepts whichever arrives first, or found it in a mall in the meantime. With COD there is no money to get back, so ordering twice has no cost for them.

What to fix: speed again, plus a clear reason to buy from you (price, bundle, warranty, gift wrap). If the same shopper refuses more than once, treat it as a pattern.

4. The total was higher than expected

The shopper saw one price on the product page and heard a higher one from the courier. This can happen when a shipping fee is added at checkout, when there is a COD fee the shopper didn't notice, or when a cross-border order carries customs duties. One UAE courier's cross-border terms, for example, say that duties, taxes and clearance charges are not included in the shipping price. Sometimes the shopper simply doesn't have enough cash at home.

What to fix: show the full total, including shipping and any COD fee, before checkout and in the confirmation message. For cross-border orders, say clearly who pays duties. Accept card on delivery if your courier offers it.

5. The courier couldn't reach the phone

The number has a missing digit, the shopper doesn't answer unknown numbers, or the phone is off. Couriers try a limited number of times. One UAE courier's published fee schedule includes three delivery attempts on next-day delivery and returns the order to the merchant after three failed attempts, or after two if the customer doesn't confirm a third.

Strictly, this is a failed delivery, not a refusal. It ends the same way, though: the parcel comes back to you.

What to fix: check the phone format at checkout, confirm the order by WhatsApp or SMS, and tell shoppers the courier may call from a number they don't know.

6. The address was wrong or incomplete

In the UAE, Shopify's checkout doesn't ask for a postcode: Shopify's address format for the country has no postcode field. The courier relies on the building name, street, area and phone number. If any of these is vague, the courier may give up or the shopper may lose patience with repeated calls.

What to fix: ask for a building name or villa number, the area, and a landmark, and give shoppers a delivery notes field. See better UAE addresses: landmarks, Makani numbers and delivery notes.

7. Delivery took too long

Every extra day gives the shopper more time for reasons 2 and 3. A late parcel can also arrive when the shopper is travelling or at work.

What to fix: dispatch the same or next day, promise a realistic delivery date, and send a message on the day of delivery so the shopper can be at home.

8. Fake, prank or test orders

Someone entered another person's name and number, a bored visitor placed an order for fun, or a competitor or bot filled your checkout. Nobody was ever going to accept the parcel.

What to fix: a confirmation step can catch these before you ship, because the real owner of the phone number will tell you they didn't order anything. Fake orders need a different fix from refusals, so it helps to tell them apart. See fake, refused, failed: three COD problems that need different fixes.

Quick reference: reason and first fix

ReasonFirst fix to try
Impulse orderConfirmation message, fast dispatch
Changed mindFaster delivery, tracking messages
Bought elsewhereFaster delivery, a reason to buy from you
Total higher than expectedShow the full total early, accept card on delivery
Unreachable phonePhone format check, WhatsApp or SMS confirmation
Wrong addressBetter address fields and delivery notes
Slow deliverySame or next day dispatch, delivery-day message
Fake orderConfirmation before shipping

For the full checklist, see ways to cut COD refusals before the order is placed.

How do you find out which reasons hit your store?

You need a reason for every returned parcel. Three simple habits get you there:

  1. Read the courier's return reason. Check the status your courier gives each returned parcel, such as "refused", "no answer" or "address not found". Ask for a report if you don't get one.
  2. Tag each returned order in Shopify with the reason, for example rto-refused, rto-no-answer or rto-address. After a month you can filter your orders by tag and count.
  3. Ask a few refusers why. A short, polite message ("We saw your order came back. Was anything wrong?") can get you an honest answer, and sometimes a second chance at the sale.

Once you know your main causes, fix the cheapest ones first. Address fields and a confirmation message cost little. If repeat refusers or large first orders cause most of your returns, limiting COD for those orders is the next step. Khaleeji COD does this with checkout rules, for example hiding COD for customers tagged cod-refused or for first orders above an amount you choose.

To see what each refusal costs you, read what one refused COD order really costs.

Sources

  1. Shopify Help Center: Manual payment methods
  2. Shopify worldwide: United Arab Emirates address data (AE.yml)
  3. Quiqup: Services and Fees Schedule (self-service, UAE courier)
  4. Quiqup: Cross Border Services and Fees

Checked on the date above. Shopify and courier settings change, so check the source if something looks different.

Stop paying shipping twice for refused orders

Khaleeji COD is coming soon to the Shopify App Store. Email us and we'll tell you the day it's live.

Coming soon to the Shopify App Store · Email: