If you run an online store in Egypt, you know the picture: the ads dashboard says cost per order is excellent, then the courier report says a third of the orders were refused or never answered. And you pay shipping both ways on orders that were never really orders.
Most stores treat returns as an operations problem: couriers, confirmation calls, packaging. All of that matters. But much of the problem starts much earlier, in the kind of orders your campaigns bring in.
The case: an online store in Egypt
The store ran entirely on cash on delivery, with a 34% rejection rate. Roughly a third of the ad budget was being spent on orders that never arrived, while campaign reports said everything was working. Over 120 days:
- Rejection fell from 34% to 16%.
- Cost per delivered order fell from EGP 190 to EGP 104.
- Collected revenue rose 72% on a budget increase of only 8%.
It was not one trick. It was three steps.
Step one: tie delivery data to campaigns
Ad platforms know nothing about what happens after an order is placed. To them a refused order and a delivered one are identical, so the algorithm learns to bring you more of both with equal enthusiasm.
The first step was pulling the courier's data and joining it to campaigns at ad level. The result was striking: specific campaigns returned double the average rejection rate despite a cheaper cost per order. The cheapest order in the account was really the most expensive.
How to do it in your store
- Make sure every order carries its source: campaign and ad (through UTM parameters or platform data).
- Pull each order's status from the courier: delivered, refused, no answer.
- Calculate the delivery rate per campaign and per ad, not for the whole account.
- Calculate cost per delivered order for each campaign: cost per order ÷ delivery rate.
That alone reorders your best campaigns.
Step two: kill the phantom order
Once the weak campaigns were known:
- We stopped campaigns producing weak orders even when they were cheaper. It is the hardest decision psychologically, because the account's average cost per order goes up and platform performance looks worse.
- We added a WhatsApp confirmation step before dispatch. An unconfirmed order does not ship, which saves return shipping directly.
- We rebuilt audiences from confirmed buyers only. Instead of lookalikes built from everyone who placed an order, we built them from people who received and paid. The algorithm learns from what you feed it.
Step three: teach the platform what a real order is
When you send the platform a "purchase" signal at order submission, you reward it for phantom orders. The stronger fix is sending an additional event when an order is confirmed or delivered through the Conversions API, and using that event to build audiences and evaluate campaigns, then optimising on it once its volume is enough for the platform to learn from.
Setup is covered in the Pixel and Conversions API guide.
What raises returns from inside the ad?
From experience, these patterns consistently bring weak orders:
- Overpromising in the ad: every gap between the ad and the real product shows up at the door.
- Hiding the price or shipping until the last step: the customer orders enthusiastically, then backs out when they see the full cost.
- "Order now, pay later" with no commitment at all: it attracts people ordering on a whim.
- Order forms that are too quick, with no confirmation: the easier ordering is than it should be, the more random orders you get.
The idea is not to make buying harder, but to make sure whoever orders knows exactly what they ordered and what they will pay.
Steps you can take this week
- Ask your courier for the status of every order in the last 30 days.
- Join orders to their sources and calculate delivery rate per campaign.
- Re-rank your campaigns by cost per delivered order, not cost per order.
- Add WhatsApp confirmation before dispatch if you do not have it.
- Review your ads: are price and shipping clear? Does the image match the product?
The bottom line
Returns are not fate in a cash-on-delivery market, and not only an operations problem. Much of it is an advertising decision: which campaigns you fund, which signal you send the platform, and what your ad promises. When you judge campaigns by delivered orders rather than submitted ones, the picture changes completely.
To calculate how delivery rate affects your profitability, read break-even ROAS. The full case study is in the case studies.