While getting to 100% prepayment is a noble and in certain cases necessary goal for eCommerce Builders, COD (Cash On Delivery) is not going to go away anytime soon. The major problem with COD is that merchants have to deal with an occurrence called “Rejection at Doorstep”.

What is Rejection at Doorstep?

Rejection at Doorstep is when a customer places an order and subsequently at the time of delivery decides not to receive it. This results in the Builder having to deal with the following:

  1. Pay the courier for the delivery attempt
  2. Product out of stock for 5-10 days, meaning he is unable to sell it to other customers
  3. Higher chances of receiving the package in an unsellable condition

If Rejection at Doorstep happened seldomly, COD would not be considered a major problem, however, it happens about 7-10% of the time across the eCommerce landscape. Some unfortunate Builders even have Rejection at Doorstep rates go above 15% which can be crippling to a small startup. 

The purpose of this article is to help Builders reduce the financial impact that is caused by Rejection at Doorstep and give them a toolkit to work with when starting or scaling their eCommerce business. 


There are multiple ways to try and reduce your rejection at doorstep rate and we will discuss some of the most common ways now. 

Customer needs to be screened

Whenever you get an order, conduct a basic screen. Does this customer seem to be in my target market, do they live in the same areas where my other customers are coming from. Are they ordering the most popular items or the most expensive items? 

To give you an example of this, when I started PetPeople.pk, a marketplace for pet food and toys, within our first 2 months we received an order from Peshawar for around fifty thousand rupees and the order was a mix of cat and dog food. This happened to be the first order we ever got from Peshawar and it was also the largest order we had received up to that point by at least 10x. Plus we usually found customers only ordered items for one species of animals rather than two. 

So, if something about the order seems off best to take some additional action. 


  1. Does the customer fit the pattern of your other orders?
  2. Does the name, phone number and email address all seem genuine?
  3. Does the cart total seem oddly high?
  4. Do the items in the cart look suspicious?
  5. Are they on the Blacklist? (more on this later)

Officially identify the client

If you have any doubts about the order or the customer then it's time to stalk them (not in a creepy way, please). See if the customer is on social media and if they are is their account an old one or a new one. You can usually use the email address or phone number they have given to find more information about them on Facebook or WhatsApp. 

What I used to do was sync my WooCommerce customers data with a unique google account I created. I then had that account synced on my dedicated customer helpline, so within a few minutes of the order being placed by the customer, their contact was created in my phone and I could check if they were on Whatsapp. It saved me the hassle of having to add people to contacts all the time.


  1. Do they have a Facebook, Whatsapp or TrueCaller profile?
  2. Do their account details match their social media profiles?
  3. How old is their social media account?
  4. Does their social media seem genuine?

Did they confirm the order?

If this fails, call up the customer or Whatsapp/SMS them asking them to confirm the order. This is one of the simplest things you can do. If you are especially suspicious you can call up the customer and judge for yourself if the customer seems trustworthy. Trust your gut!

I remember for another high value order at PetPeople we were unsure of the customer even after our SMS verification so we called them up and pretended to confirm the flavour of their cat food. While doing that we asked them other questions such as their cats name, age etc to try and determine if they were genuine. Usually talking to the customer helps build up trust much faster and is a great way of building up a personal bond with them as well. 


  1. Whatsapp/SMS the customer asking them to confirm the order
  2. If you are especially suspicious, call them and pretend to confirm some minor detail about the order
  3. Trust your gut

Request Partial Payment

If for any reason you are not convinced, or if the risk is too high for your business to take, then ask for some money up front. It's best if they can send across all the money upfront, as then you save on the shipping cost (see MDR of COD Article), however failing that, ask for some money upfront that at least covers your shipping cost. 

For the 50k order we got from Peshawar we calculated that the shipping alone would come to at least 4500 rupees so we asked the customer to send us 5k in advance. Therefore, if they didn't pay the remainder as COD then at least we didn't lose out on the shipping cost. 


  1. Work out the shipping costs in advance
  2. Cover your costs by asking for a prepayment in full, but partial payment which covers shipping costs could be enough as well
  3. Do not be afraid to ask for prepayment on the phone, just be polite, professional and courteous. Give multiple options of bank deposit and EasyPaisa or JazzCash deposit as well. 
  4. Make sure the payment methods are listed on your website, and you have a message/email ready to send as soon as your talk to the customer. 

Unite the Courier & Customer

If after all of this the courier company sends you a message saying the order was rejected, do not despair, the time between the courier informing you and them returning the product back to you is critical and you need to be proactive. 

Make sure your courier company tells you as soon as the customer rejects the order and definitely before they ship the item back to you. Courier companies usually only give you a few hours to call them back to arrange a reattempt so be very proactive. As soon as you get this intimation, call up the customer and tell them a delivery attempt was made. 

Also make sure your delivery company is making the number of attempts it promised you in its contract. 


  1. Be proactive and call the customer as soon as your get notified about a failed delivery
  2. Make sure the courier does reattempts
  3. Regularly check the courier companies status updates for pending deliveries
  4. Keep the customer informed

Let's find out what went wrong

If the product gets returned even after multiple delivery attempts, keep trying to call the customer and try and get an explanation. Sometimes it could be an honest mistake or the fault of the courier. Either way, keep a record, it's very important, trust me.

Sometimes the customers can make a mistake and usually I have found they then go out of their way to make it up to you. Cultivating strong customer relationships is critical, because these are the same customers who will say good things about your service in the future. 

If the customer says the courier never attempted the delivery, reach out to the courier company and ask for an explanation. Usually, getting them to entertain 1-2 cases will be difficult, but this is where if you have a record and you start seeing a certain pattern emerging you can then make a stronger case and then rethink your options in terms of which courier company to use. 


  1. Connect with the customer, let them know multiple delivery attempts were made
  2. Was the failure due to extenuating circumstance from the customer's side or is the courier at fault
  3. Keep a record of all info for future reference

Enter the Blacklist

For any customer that you feel deserves it, or doesn't answer your call after a few attempts automatically put them on the blacklist that you keep internally. 

Use this list to help filter out suspicious orders in the past. Be sure to save the address, email address and phone number. Sometimes bad actors can change their email address but may end up using the same phone number or address. You want to check against all of these options. 


  1. Keep a list of untrustworthy customer and their information
  2. Refer to the list when filtering out suspicious orders
  3. Use the bSecure COD rule engine to automate your order verification process. Reduce doorstep refusal. Save time and money.

How bSecure Can Help

So there you have it, a list of key insights and takeaways all designed to help you reduce the overall financial strain of COD. The team at bSecure have faced these exact challenges while having over 3,000 COD orders a day coming through their own eCommerce stores. 

We have then taken that learning and have started building out features like our COD Rule Engine to help Builders navigate these issues. If you are interested in learning more about the solution feel free to get in touch by using the chatbot to the bottom left of your screen or emailing us at builders@bsecure.pk

COD Rule Engine

Our COD rule engine utilizes automated robo-calls in order to verify orders above a certain cart value or those made by customers on your blacklist. The caller list is completely customisable giving the Builder full control over when a call is placed. When the conditions for a robo-call are met the customer will receive an automated call where they must press either 1 to confirm the order or 2 to refuse the order. This method can reduce doorstep rejection on accidental orders by up to 10% at no extra cost to the Builder. It’s literally free savings. 

You can set up rules for New Customers, Existing Customers and bSecure Customers as well. We will call each customer a total of 3 times between 10am and 9pm to ensure you have the greatest chance of confirming your order. 

Other Resources

  • MDR of COD Article - Link
  • MDR of COD Calculator- Link

Rejection At Doorstep Loss Calculator


Estimated Loss per year

Rs. 0
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.