Delivery cities in Morocco and their delivery fees
CODFamilia delivers to 65 Moroccan cities, each with its own fee. Why fees differ, how to build them into your price, and why a city's spelling matters.
The essentials
- What is it?
- This is the delivery coverage: the list of Moroccan cities an order can reach, with the fee attached to each. The table below is generated from the platform's own database, so it cannot advertise a city that is no longer served.
- Who is it for?
- Sellers setting prices and deciding where to advertise, confirmation agents attaching each order to a city, and the teams importing orders from a spreadsheet or a form.
- How does it work?
- Each city carries a delivery fee, applied to the order automatically as soon as the city is chosen. The spelling variants of a single name are resolved to one city, so that an order imported from a file does not arrive with no destination.
- What is it for?
- Because a product's selling price means nothing without the delivery fee: a comfortable margin in a large conurbation can vanish entirely on a costlier destination. Knowing the fee per city is knowing your real margin.
- How do you use it?
- Check the fee for the city in question before settling a selling price, and make sure the city the customer typed matches a city that is actually served. CODFamilia currently covers 65 Moroccan cities; the current list and fees are in the table below.
Delivery cities are the Moroccan destinations a parcel can be shipped to and its amount collected in; each one carries its own delivery fee, set from the real cost of serving it.
Why fees differ from one city to another
A single national rate would look simpler, but it would be wrong: delivering two parcels does not cost the same depending on where. Three factors explain most of the gap, and none of them is negotiable.
The first is the distance from the sorting platform: the further the parcel travels, the more transport it ties up. The second, and the strongest, is delivery density: a courier dropping many parcels in one area spreads their costs over many deliveries, whereas a thinly served area makes one or two parcels carry the whole trip. That is why a small town can cost more than a city further away but better served.
The third is the return leg. Every destination carries a probability of failure, and a parcel that comes back covers the distance in reverse. A city's fee therefore accounts for the risk of having to cross it twice — which is why a difficult area stays expensive even when deliveries there go well.
What to do about cities where delivery is expensive
A seller's first instinct faced with a costly destination is to drop it. That is almost always a miscalculation, because it replaces a thin margin with no margin at all. A city is not expensive in itself: it is expensive at a given selling price.
The right answer is to build the fee into the quoted price. Two approaches are common: a single selling price, worked out to stay profitable on the costliest destinations, or a price quoted to the customer according to their city during the confirmation call. The first is simpler to communicate, the second protects the margin better on distant orders.
Either way, one rule does not change: the amount the customer hears on the phone must be exactly what the courier will ask for. A surcharge discovered at the door turns a sale into a return, and the return then costs more than the fee you were trying to recover.
- Check before launching an advert — A product that is profitable in Casablanca may not be on a distant destination at the same price. The city's fee is something to look at before the advertising budget, not after.
- Raise the basket rather than the price — Delivery is charged once per order, not per item. Two pieces in the same parcel dilute the delivery cost, which a confirmation call is the right moment to propose.
- Watch returns per city — A destination that delivers badly costs twice. It is the reason, not the distance, that should decide whether to stop or to persist.
One name, several spellings: why that matters
Orders do not always arrive through a dropdown. Many come from a free-text form, a spreadsheet, a direct message or the API, and the customer writes their city the way they say it. The same place then appears in several forms: 'Casablanca', 'Casa', 'كازا'; 'Al Hoceima', 'Alhoceima', 'الحسيمة'. Those are the same cities, but they are not the same strings.
The stake is not cosmetic. An unrecognised city produces an order with no destination: a delivery fee that cannot be applied, a parcel that cannot be created, and a lead to pick up by hand. At a few dozen imports a day this is one of the leading causes of stuck orders.
CODFamilia therefore attaches every written form to a single city. The comparison is made on a normalised version of the name — lower case, accents and spaces stripped, Arabic forms unified — and each city can carry as many declared variants as needed. The platform can also find a city name inside an address written as one block, including multi-word names, for sellers whose form has only one address field.
When the customer's city is not served
It happens, and it is better discovered on the phone than after a parcel has been created. An order whose city matches no served destination cannot be shipped: no applicable fee, no delivery round, no tracking.
Handling it is straightforward and belongs in the call. The agent asks the customer for their exact city, then checks whether it is a spelling variant of a city already covered — which is the most frequent case. If the city genuinely is not served, there are two outcomes: delivery to a nearby covered city, when the customer agrees to go there or have the parcel received there, or closing the order without dispatch.
Closing beats trying. A parcel sent to an uncovered destination comes back, and the seller then pays the delivery, the return and the advertising on the lead for an order that never had a chance. The list of served cities does change; a destination missing today may be added later, and the table below always reflects the current state.
The 65 cities covered
| City | Region | Delivery fee |
|---|---|---|
| Agadir | Souss-Massa | 35,00 MAD |
| Al Hoceima | Maroc | 45,00 MAD |
| Asilah | Maroc | 45,00 MAD |
| Azilal | Maroc | 45,00 MAD |
| Azrou | Maroc | 40,00 MAD |
| Beni Ensar | Maroc | 45,00 MAD |
| Beni Mellal | Béni Mellal-Khénifra | 40,00 MAD |
| Benslimane | Maroc | 35,00 MAD |
| Berkane | Maroc | 45,00 MAD |
| Berrchid | Maroc | 35,00 MAD |
| Boujdour | Maroc | 45,00 MAD |
| Bouznika | Maroc | 40,00 MAD |
| Casablanca | Casablanca-Settat | 20,00 MAD |
| Chefchaouen | Maroc | 45,00 MAD |
| Chichaoua | Maroc | 45,00 MAD |
| Dakhla | Maroc | 45,00 MAD |
| Driouch | Maroc | 45,00 MAD |
| El Jadida | Casablanca-Settat | 35,00 MAD |
| Errachidia | Maroc | 45,00 MAD |
| Fes | Fès-Meknès | 35,00 MAD |
| Figuig | Maroc | 45,00 MAD |
| Fnideq | Maroc | 45,00 MAD |
| Guelmim | Maroc | 45,00 MAD |
| Guercif | Maroc | 45,00 MAD |
| Jerada | Maroc | 45,00 MAD |
| Kenitra | Rabat-Salé-Kénitra | 35,00 MAD |
| Khemisset | Maroc | 45,00 MAD |
| Khenifra | Maroc | 45,00 MAD |
| Khouribga | Béni Mellal-Khénifra | 40,00 MAD |
| Ksar El Kebir | Maroc | 45,00 MAD |
| Laayoune | Maroc | 45,00 MAD |
| Larache | Maroc | 40,00 MAD |
| Marrakech | Marrakech-Safi | 35,00 MAD |
| Martil | Maroc | 40,00 MAD |
| Meknes | Fès-Meknès | 35,00 MAD |
| Midelt | Maroc | 45,00 MAD |
| Mohammedia | Casablanca-Settat | 35,00 MAD |
| Nador | L'Oriental | 45,00 MAD |
| Ouazzane | Maroc | 45,00 MAD |
| Oued Zem | Maroc | 45,00 MAD |
| Oujda | L'Oriental | 45,00 MAD |
| Rabat | Rabat-Salé-Kénitra | 35,00 MAD |
| Rommani | Maroc | 45,00 MAD |
| Safi | Marrakech-Safi | 40,00 MAD |
| Sale | Rabat-Salé-Kénitra | 35,00 MAD |
| Sefrou | Maroc | 45,00 MAD |
| Sidi Bennour | Maroc | 45,00 MAD |
| Sidi Ifni | Maroc | 45,00 MAD |
| Sidi Kacem | Maroc | 40,00 MAD |
| Smara | Maroc | 45,00 MAD |
| Souk Larbaa | Maroc | 45,00 MAD |
| Tan Tan | Maroc | 45,00 MAD |
| Tanger | Tanger-Tétouan-Al Hoceïma | 35,00 MAD |
| Taounate | Maroc | 45,00 MAD |
| Taourirt | Maroc | 45,00 MAD |
| Taroudant | Maroc | 40,00 MAD |
| Tata | Maroc | 45,00 MAD |
| Taza | Fès-Meknès | 45,00 MAD |
| Temara | Maroc | 35,00 MAD |
| Tetouan | Tanger-Tétouan-Al Hoceïma | 35,00 MAD |
| Tiflet | Maroc | 45,00 MAD |
| Tinghir | Maroc | 45,00 MAD |
| Tiznit | Maroc | 40,00 MAD |
| Youssoufia | Maroc | 35,00 MAD |
| Zagora | Maroc | 45,00 MAD |
Frequently asked questions about delivery cities
How many Moroccan cities can be delivered to?
How do I find the delivery fee for a specific city?
Why does a small town sometimes cost more than a larger city further away?
Should a seller stop selling to cities with high fees?
What happens if the customer writes 'Casa' instead of 'Casablanca'?
What if the city is written inside the address, with no separate field?
What should be done if the customer's city is not on the list?
Can a city's fee change?
Also worth reading
- Delivery in Morocco: from pickup to cash collection How a cash-on-delivery parcel moves across Morocco, why fees differ by city, what a failed delivery attempt t…
- COD returns: why a parcel comes back, and what it costs A parcel that comes back costs the delivery, the return and the advertising on the lead. The real causes of a…
Sell in 65 Moroccan cities
Delivery fees known city by city, applied to every order automatically, and spelling variants recognised so imported orders do not arrive without a destination.
Sign up