
Cash on delivery is not a payment option in Morocco. It is the primary payment method.
65 to 75% of all orders placed on Moroccan Shopify stores are paid cash on delivery (Glorythm campaign data, Morocco 2026). For brands selling to buyers outside Casablanca and Rabat, that figure is consistently higher. For brands targeting buyers aged 18-28 with lower card penetration, COD accounts for 80 to 90% of orders.
If your Shopify store doesn't have COD configured correctly, you are losing the majority of your potential orders. Not because buyers don't want your product, but because your checkout doesn't offer the payment method they use.
This guide covers everything: enabling COD in Shopify, configuring it for Moroccan logistics carriers, making it visible on your product page, setting up the order confirmation flow, and managing the COD refusal rate.
What COD Means Operationally for Moroccan Shopify Stores
Before the setup steps, understand what COD means in practice for a Moroccan brand:
- No upfront payment. The buyer pays when the delivery agent arrives with the package. You receive the cash from the logistics carrier, typically 2 to 5 business days after delivery.
- Higher trust requirement. Buyers are betting on your brand delivering what was shown. COD brands build trust through WhatsApp confirmation calls, fast delivery, and accurate product photos.
- Refusal risk. Between 15 and 25% of COD orders are refused at delivery in Morocco (internal Glorythm data, 2026). The buyer either changed their mind, wasn't available, or the product didn't match their expectations.
- Cash collection cycle. Logistics carriers hold your cash for 2 to 5 days before wire transfer. You need working capital to ship orders before receiving payment.
- Volume-based margins. Carriers charge a COD handling fee (typically 10 to 25 MAD per order) on top of shipping. At high volume, this is negotiable.
Setup is straightforward. Managing COD at scale is the actual challenge, and the downstream decisions about confirmation flow and product page trust signals determine whether your refusal rate is 10% or 35%.
Step 1: Enable COD in Shopify Admin
Shopify includes a built-in manual payment method called "Cash on Delivery" that requires no third-party app.
To enable:
- Go to Shopify admin > Settings > Payments
- Scroll to "Manual Payment Methods"
- Click "Add manual payment method"
- Select "Cash on Delivery (COD)" from the list
Customize the settings:
- Payment method name: Change from "Cash on Delivery" to "Paiement a la livraison (COD)" so it displays in French to Moroccan buyers at checkout.
- Additional details: Add a brief instruction: "Reglez en cash lors de la reception de votre commande. Un agent vous contactera pour confirmer la livraison."
- Payment instructions: This text appears on the order confirmation page and in the order confirmation email. Use it to set expectations: "Votre commande sera livree sous 2 a 4 jours. Vous recevrez un appel ou un message WhatsApp pour confirmer votre adresse."
Save. COD is now available at checkout.
Step 2: Restrict COD to Moroccan Shipping Zones
If your store ships to multiple countries (Morocco plus France or Belgium, for example), you should restrict COD to Moroccan shipping zones only. European buyers expecting card payment will not want COD offered as an option.
To create a Morocco-specific shipping zone:
- Go to Shopify admin > Settings > Shipping and Delivery
- Under "Shipping zones", either create a new zone called "Maroc" or edit your existing Moroccan zone
- Add COD as a "Free" shipping method or as a "Rate" with your shipping fee to this zone
- Leave COD disabled from European or international zones
For stores where all orders are Morocco-only, this step is simpler: COD can be enabled globally since all buyers are in Morocco.
Step 3: Choose Your Moroccan Logistics Carrier
COD delivery in Morocco requires a carrier that handles cash collection and remittance. The main carriers operating in Morocco for e-commerce:
| Carrier | Coverage | COD Settlement | Average Cost (MAD) | Notes |
|---|---|---|---|---|
| Amana Express | Nationwide, 80+ cities | 2-3 business days | 30-50 MAD/parcel | Dominant carrier, widest reach |
| Chronopost Maroc | Major cities + regional | 1-3 business days | 35-60 MAD/parcel | Faster, premium pricing |
| CTM Colis | Major cities focus | 3-5 business days | 25-40 MAD/parcel | Bus network coverage |
| Trendyol (Movic) | Nationwide | 2-4 business days | 25-45 MAD/parcel | Growing network, competitive pricing |
| Marocco Express | Northern Morocco focus | 2-4 business days | 25-35 MAD/parcel | Smaller network |
Which carrier to use:
- For most fashion brands starting out: Amana Express has the widest national coverage and established Shopify integration. For buyers in smaller cities (Beni Mellal, Errachidia, Guelmim), Amana typically delivers where other carriers don't.
- For premium or urban-focused brands: Chronopost Maroc for faster delivery (1-2 days to Casablanca, Rabat, Marrakech) that justifies higher price points.
- For cost-sensitive brands at volume: Trendyol (Movic) has competitive rates and growing coverage.
You have COD enabled on Shopify but your refusal rate is above 20%. Glorythm works with Moroccan fashion brands on the full COD flow: confirmation messages, product page trust signals, carrier setup, and refusal reduction. [Book your free audit →]
Step 4: Connect Your Carrier to Shopify
Shopify doesn't have native integrations with Moroccan carriers (Amana, Chronopost Maroc). Order management is handled via one of three methods:
Method A: Manual Order Export
Export pending orders from Shopify admin as a CSV and upload to the carrier's business portal. This works at low volume (under 10 orders/day) but becomes unmanageable at scale.
Method B: Third-Party Logistics Integration App
Several Shopify apps have built integrations with Moroccan carriers:
- ShipBob Maroc: Limited carrier support
- Boxtal: Chronopost integration available
- Custom integration via Shopify API: For brands processing 20+ orders daily, a developer can build a direct connection between your Shopify order data and your carrier's shipping API
Method C: WhatsApp-Based Order Management
Many Moroccan brands operate a hybrid model: Shopify captures the order, the fulfillment team processes it manually through the carrier's business portal, and WhatsApp handles order confirmation and updates with the buyer. This is slower but functional at under 30 orders/day and doesn't require technical integration.
Step 5: Make COD Visible Before Checkout
This is the step most Shopify guides skip, and it is the one that most impacts conversion.
Enabling COD in Shopify Settings makes it available at checkout. It does not make it visible to buyers before they click "Add to Cart." Most Moroccan buyers need to see COD confirmation on the product page before they commit to adding to cart. If they can't see it, they assume it doesn't exist.
Where to add COD visibility on the product page:
Option 1: Trust badge row (no code required)
In your Shopify theme editor, find the product section settings. Many themes (Dawn, Sense, Refresh) have a "Custom HTML" or "Text block" section you can add below the Add to Cart button. Add this text: "Paiement a la livraison disponible partout au Maroc". Include a delivery truck icon using an emoji or an SVG icon if your theme supports it.
Option 2: Theme customization (requires code)
Add a Liquid snippet to your product template that displays a styled COD badge below the Add to Cart button. This is the cleanest implementation and allows the badge to be visually distinct (green background, cash icon). Requires accessing the theme code but is a straightforward Liquid edit.
Option 3: App-based badges
Apps like Trust Badger or EComposer add trust badge rows with drag-and-drop. Load time impact is low if the app is well-built.
Step 6: Build the Order Confirmation Flow
COD orders require a confirmation step that card orders don't. Without confirmation, refusal rates climb above 25%.
The standard Moroccan COD order flow:
- Buyer places COD order on Shopify
- Automated confirmation message (WhatsApp or SMS) sent within 15 minutes: "Commande #1234 confirmee. Livraison en 2-4 jours. On vous contacte pour confirmer votre adresse."
- Manual confirmation call or WhatsApp from the brand within 2 to 4 hours: confirm the order, confirm the color/size, confirm the delivery address, give a delivery date estimate
- Carrier picks up the order (or brand drops to carrier)
- Delivery notification via WhatsApp: "Votre commande est en route. Notre livreur vous appelera avant livraison."
- Delivery attempt with COD collection by the carrier agent
Step 3 (manual confirmation) is the highest-leverage step for reducing refusals. Brands that make a confirmation call see 20 to 35% lower refusal rates than brands that only send automated messages (internal Glorythm data, 2025-2026). The call also allows you to catch address errors ("Agadir" with an incomplete street address) before they become failed deliveries.
WhatsApp automation for confirmations:
Apps like WATI, Interakt, or Sleekflow integrate with Shopify to send automatic WhatsApp messages when an order is placed or its status changes. Configure:
- Order placed: automated WhatsApp with order details and delivery estimate
- Order shipped: automated WhatsApp with carrier tracking info
- Delivery attempt: automated reminder to be available

Managing COD Refusal Rate
COD refusal happens when the buyer is not available at delivery, changed their mind, or the product doesn't match expectations.
A refusal rate of 10 to 15% is normal and manageable. Above 20% is a signal that something is wrong. Above 30% is a financial emergency, because every refused order costs you the shipping fee, the COD handling fee, and potentially the return shipping.
The main causes of high refusal rate in Morocco:
Product photos don't match reality. The buyer expected the color, fabric, or size shown in the ad and received something visually different. The fix is better product photos (see Shopify product page not converting in Morocco) and accurate color descriptions.
No confirmation call before delivery. Buyers who are not reached before the delivery attempt have a 2x higher refusal rate than buyers who were confirmed by phone (internal Glorythm data, 2026). Confirm every order by phone or WhatsApp before dispatch.
Wrong audience in ads. COD refusal is higher from traffic that comes from broad targeting or low-quality ad creative, because these buyers have less purchase intent. Tightening ad targeting reduces refusal rate as a downstream effect. See why your TikTok ads are not converting in Morocco for the traffic quality diagnosis.
Slow delivery. A buyer who ordered expecting 2-day delivery and receives the package 7 days later may refuse it out of frustration, especially if they found the product elsewhere in the meantime. Delivery promises stated at checkout must match your actual fulfillment speed.
COD Pricing: Carrier Negotiation
For brands processing more than 100 orders per month, carrier rates are negotiable. Moroccan carriers offer volume-based pricing that can reduce your per-order shipping cost by 15 to 30%.
The negotiation levers:
- Order volume per month: Most carriers offer tiered pricing starting at 50-100 orders/month
- Pickup vs drop-off: Brands that bring orders to the carrier's depot (rather than scheduling pickup) typically get lower rates
- Payment remittance frequency: Negotiating weekly vs bi-weekly cash remittance often comes with a small rate advantage
- COD fee cap: Negotiate to remove the per-order COD handling fee above a certain order volume threshold
For a fashion brand processing 50 orders/month at 35 MAD per parcel, moving to a negotiated rate of 28 MAD saves 350 MAD/month, 4,200 MAD per year, without changing anything about the product or marketing.
For the complete store conversion picture beyond COD setup, see why your Shopify store isn't converting in Morocco.
COD setup is the foundation. Everything else is built on top of it. Glorythm helps Moroccan fashion brands configure COD correctly, reduce refusal rates, and build the WhatsApp confirmation flow that keeps COD profitable. [Book your free audit →]
Frequently Asked Questions
Does Shopify support COD natively?
Yes. Shopify includes a built-in "Cash on Delivery" manual payment method under Settings > Payments > Manual Payment Methods. No third-party app is required to enable COD. However, the native setup is basic, and to integrate with Moroccan carrier logistics (Amana Express, Chronopost Maroc, etc.) for automated label generation, you need either a third-party app or a custom API integration.