cashod
GUIDES

COD return rate in Morocco: measure it, then cut it

Refused, unreachable, cancelled in transit, damaged: how to measure COD returns in Morocco, cost each one and act by city, carrier, product and ad campaign.

Cashod Editorial TeamGuides for COD sellers9 min read
COD return rate in Morocco: measure it, then cut it
Table of Contents

Ask a COD seller in Morocco for their return rate and you will usually get a single figure, given with confidence. Ask how it is worked out and the confidence fades. Is it returns divided by orders received, by orders confirmed or by parcels shipped? Does the parcel the customer cancelled while it was already on its way count? And the one that came back crushed? Each answer produces a different number, and a number nobody can explain cannot be managed. This article starts with measurement: what to count, how to split it, and what each return actually costs. The levers that bring the rate down come after, one cause at a time.

One return rate hides where the money goes

The order of magnitude is not in dispute. An expert interviewed by Le Matin puts the merchant’s refusal rate at delivery between 20 and 40% and lists the damage in one breath: stock tied up, logistics costs doubled, cash flow blocked. Couriers pay as well, with whole rounds wiped out by refusals at the door. A range that wide already tells you something: two stores selling in the same country can sit at opposite ends of it, and the gap is rarely down to luck.

The flaw in a single rate is that it blends events with different causes and different fixes. A customer who turns the parcel away because the amount surprised them is a confirmation problem. One the courier never managed to reach because they were out that day is a delivery-timing problem. A parcel that came back torn is a packaging problem. Put all of them in one box and the only possible conclusion is a vague “we need fewer returns”, which nobody can act on.

Start by fixing the denominator. The most useful one is parcels handed to the carrier over a period, counted by the date they left the warehouse. Orders cancelled before shipping belong to a separate indicator, the cancellation rate at confirmation, because they cost almost nothing. Adding them to returns makes a demanding confirmation team look bad and a lax one look good.

Five kinds of return, five different causes

Before counting anything, write down what each outcome covers, and stick to it. Here is a set of definitions that works in practice:

OutcomeWhat happenedWhere to look first
Refused at the doorThe courier found the customer, who declined the parcelConfirmation, the price shown in the ad, delivery time
UnreachableThe courier could neither reach the customer nor find the address after the agreed attemptsPhone number quality, address detail, time of delivery
Cancelled after shippingThe customer cancelled while the parcel was already on the roadTime between order and delivery, a competing offer
Returned damaged or wrongThe parcel arrived broken, or not in the size or colour orderedPackaging, picking, product page
Returned after deliveryThe customer accepted and paid, then sent the product backProduct quality, honesty of the description, returns policy

Carriers do not all use the same vocabulary, so map their statuses onto yours. Olivraison’s price grid, for example, has three columns, delivered, returned and cancelled, each with its own price. Cathedis offers to manage returns online when the customer is unreachable or cancels, which covers two of the rows above. Whatever your carrier calls them, a refused parcel and an unreachable customer must land in two different columns of your tracking sheet.

The last row follows a different logic, a legal one. Distance selling falls under law 31-08 on consumer protection, which gives the buyer a seven-day withdrawal period; its article 38 lists the cases where that right cannot be used, such as goods made to the consumer’s specifications. A bill tabled in 2025 sought a right of withdrawal within 15 days when a defect not mentioned in the description is found; check whether it has passed before you write your terms of sale. These returns are not refusals and should never be added to them.

What one return really costs

Many sellers price a return at the carrier’s return fee. That is often the smallest line, and sometimes it is nothing at all. Several carriers publish their terms:

Ameex and Livo each publish a comparison table in which their own returns are free while the market’s are paid, and Livo’s table draws the same contrast. That is sales copy, but the lesson holds: return terms differ from one carrier to the next, so take them from your contract rather than from memory. Our comparison of delivery prices by city sets the published grids side by side.

Even when the return itself is free, the parcel has already cost you:

  • the advertising spent to win the order, which is gone whatever happens at the door;
  • the confirmation: the agent’s time on the call and on the follow-ups;
  • packaging and preparation, often lost when the box comes back damaged;
  • the delivery fee, if your contract bills attempts and not only successful deliveries;
  • stock on the road: returns take five to seven days at Livo, and Ameex advertises an express return in five to seven days. In the meantime the product cannot be sold to anyone else, and an item that sells quickly loses sales.

Combine those lines into one formula per product: cost of a return = advertising per order + confirmation cost + packaging + any delivery or return fee + margin lost while the stock is away. Then set it against the margin on a delivered parcel. The ratio between the two tells you how many deliveries each return wipes out, which says far more than the rate on its own. The COD calculator runs the sums with your own figures.

Split the rate four ways

Once the outcomes are defined and costed, break them down. Four angles answer most of the questions a seller has.

By city

Refusals and unreachable customers are not spread evenly. Some cities and outlying districts concentrate them, often because addresses are harder to find there or delivery is slower. Compare each city’s delivered rate with your average; where it falls well short, the answer may be a different carrier for that city, a stricter confirmation script, or simply no longer showing your ads there.

By carrier

Two carriers serving the same city with the same products should get similar results. When they do not, look at the unreachable column first: it measures how hard the courier tries before giving up. Ameex, for instance, lists a customer reminder before return among its services. Ask each carrier what it does before sending a parcel back, then hold the answer up against your numbers.

By product

A product that piles up “damaged or wrong” outcomes has a packaging or product-page problem. One that is often refused after a successful confirmation is frequently oversold by its ad: the customer expected something else. Rank products by the total cost of their returns rather than by rate, so that an expensive item with an average rate gets attention before a cheap one with a high rate.

By ad source

This is the breakdown most stores skip, and the one that changes media-buying decisions. It requires every order to carry the campaign it came from. The standard method is to add UTM parameters to ad links: Google’s help pages say that you should always use utm_source, utm_medium and utm_campaign, and warn that values are case-sensitive, since Meta and meta are treated as different values. Choose one spelling and keep it, or a single campaign will be scattered across several rows. Save those parameters on the order itself, not only in your analytics tool: the return arrives a week after the click, and only the order record ties the two together.

With the source written on every order, judge campaigns by delivered orders and by cost per delivered order. A campaign that brings in cheap orders which are then refused costs a great deal more than it appears to in the ads manager.

Reading the numbers without fooling yourself

  • Count by shipping date, and be patient. A parcel that left yesterday has no outcome yet. If you work out last week’s rate today, the parcels still in transit make it look better than it will turn out. Close a week only when nearly all of its parcels have a final status.
  • Do not compare small numbers. A city with only a handful of parcels swings from excellent to dreadful on two refusals. Group small cities by region until each line holds a few dozen parcels.
  • Change one thing at a time. If you switch carrier and rewrite the confirmation script in the same week, you will not know which of the two made the difference.
  • Keep a history for each customer. The expert quoted by Le Matin argues for a buyer reliability scoring system across the whole market. Nothing stops you keeping one of your own: past orders, deliveries and refusals per phone number are enough to spot a repeat refuser before the parcel leaves.

The levers, outcome by outcome

With the outcomes separated, each points to its own lever:

  • Refused at the door: confirm every order, state the full price including delivery during the call, and shorten the time between order and dispatch. If refusals cluster on one product, reread what its ad promises.
  • Unreachable: collect a second number and a landmark, and ask the carrier to call before the courier sets off. Tell the customer which day to expect the parcel so they are not caught out.
  • Cancelled after shipping: this outcome grows with delay. Ship the same day where you can, and pick for each city the fastest carrier rather than the cheapest one everywhere.
  • Returned damaged or wrong: check size and colour against the order while packing, and protect fragile items. Some carriers offer exchanges of goods, which turn a wrong-size return into a sale you keep.
  • Returned after delivery: describe the product honestly, with real photos and measurements, and publish a clear returns policy that respects the law.

Expect a gradual decline, not a miracle within a week. The right target is not some universal percentage but your own trend: the same definitions, the same denominator, week after week.

A weekly returns review in five steps

  1. Close the week that has matured: every parcel shipped that week has a final status.
  2. Fill in the outcome table: delivered, refused, unreachable, cancelled after shipping, damaged or wrong, returned after delivery.
  3. Sort cities, carriers, products and campaigns by the cost of their returns, and keep the top few of each list.
  4. Decide one action per line: change carrier for a city, rewrite a product page, pause a campaign, retrain an agent.
  5. Write down the action and its date, so next month’s figures can tell you whether it worked.

Tracking returns and their cost with Cashod

Cashod tracks returned parcels, and each carrier’s delivery and return fees are set per city in it, so every return can be costed with the terms that really apply to that city and that carrier. See our page on returns. For refusals that start with a weak confirmation, Cashod includes a call center where agents confirm COD orders by phone, and it can confirm orders over WhatsApp, including with an AI agent (see auto-confirmation). One Cashod account can manage several stores, so the same definitions and the same weekly review apply to each of them.

Whatever the tool, the order of work stays the same: define each outcome, count on a fixed denominator, cost every return, split by city, carrier, product and ad source, then act on the line that costs the most.

Tags
retourscodmaroclivraisonindicateurs
Written byCashod Editorial TeamGuides for COD sellers
Share
Back to blog

Grow Your COD Business

Start free trial

7-day free trial · Cancel anytime

COD return rate in Morocco: measure it, then cut it | Cashod