A cash-on-delivery order gets created at checkout, but the sale has not happened yet. The buyer can reject it at the door, not be there when the courier arrives, or simply change their mind. Counting that order as a sale the same day it is created means counting something that might still not happen.
Cash on delivery is real in Peru, and it is a conditional sale
In Peru, 10% of ecommerce transactions are paid cash on delivery, the second-highest share in Latin America after Colombia (12%), well above Argentina (4%), Mexico (3%), or Chile (2%), according to the Ecommerce Observatory from the Peruvian Chamber of Electronic Commerce (Capece). The explanation is not a lack of access to digital payment methods: it is distrust of paying before seeing the product. That buyer is not just picking a payment method, they are choosing to confirm before committing.
That turns every cash-on-delivery order into two separate events, not one: the moment it is placed and the moment it is paid. A card-paid checkout closes both at the same time. A cash-on-delivery one splits them by days, and anything can happen in between.
What breaks when the order is counted as a sale
If the sales dashboard or the campaign report adds the cash-on-delivery order the day it is placed, two businesses with the same number of orders can have very different real results depending on how many of those orders actually get paid. The campaign that brings in buyers who confirm looks just as good on the report as the one bringing in buyers who reject half of them, until someone checks the cash register. The cost per result marketing sees is not the cost per result the business pays.
Three simple changes fix this without adding new tools:
- Separate “order placed” from “sale confirmed” as two distinct events on the same customer profile, not a single status that gets overwritten.
- Confirm the order over WhatsApp before dispatching it: the same channel where a good share of small sales already close in Peru, as we covered in sales closed over WhatsApp and collected via Yape.
- Upload only the confirmed order as a conversion to ad platforms, not the placed one, so the algorithm learns from the buyer who actually pays, not the one who just clicked through checkout.
It is the same principle we apply to the second purchase in a new ecommerce store: an event that looks like a sale is not always one, and the business that measures it right decides on real data instead of optimism. It is also the work we do in data marketing in Peru: before raising ad spend, confirm which order actually turned into revenue.
If your sales report adds the cash-on-delivery order the same day it is placed, it is probably counting orders, not sales.