Moroccan customer abandoning Shopify checkout on mobile due to COD friction
Moroccan customer abandoning Shopify checkout on mobile due to COD friction

Your Shopify store is getting traffic. Buyers are adding products to cart. Then they leave.

Checkout abandonment is the most expensive leak in Moroccan e-commerce, and it is almost entirely preventable. The global average abandonment rate is around 70% (Baymard Institute, 2023). For Moroccan stores, the actual rate is frequently higher, because the standard Shopify checkout is designed for a card-first market and Morocco is a COD-first market.

When a buyer arrives at checkout expecting to pay on delivery and the path to completing a COD order is unclear, slow, or buried behind form fields, they leave. Not because they don't want the product. Because the checkout told them "this isn't for you."

This article covers the 8 specific reasons Moroccan buyers abandon checkout, the data behind each, and the exact fixes available in Shopify without a custom developer.

Why Moroccan Checkout Abandonment Is Different

In France, Germany, or the UK, checkout abandonment is mostly a friction problem: too many steps, forced account creation, a payment method that wasn't available. In Morocco, checkout abandonment has an additional layer that Western e-commerce guides don't address: payment trust.

65 to 75% of Moroccan online buyers pay cash on delivery (Glorythm campaign data, Morocco 2026). For many, COD is not just a preference but the only realistic option. Credit and debit card penetration is growing but remains concentrated in Casablanca, Rabat, and other major cities. For buyers aged 18-30, particularly in secondary cities, COD is the norm.

When these buyers reach checkout and see only a "Pay by card" option, or when COD is present but buried three screens in, many don't continue. The mental model is: "this store doesn't ship to me" or "this is a foreign store that won't actually deliver."

Fix the checkout abandonment problem in Morocco and you are not solving a UX problem. You are solving a trust problem.

Reason 1: COD Is Not the First Option at Checkout

Shopify's default checkout lists payment methods in a fixed order: card payments appear first. COD, if enabled, appears below or requires scrolling on mobile.

For a Moroccan buyer who has already decided to buy and arrives at checkout looking for "Paiement a la livraison" or "Cash on delivery", finding it requires scrolling past card logos, entering a card section, scrolling again, and locating the manual payment option. Many buyers don't make it there. They assume COD is not available and leave.

Fix: In Shopify admin, go to Settings > Payments > Manual Payment Methods. Enable Cash on Delivery. Rename it to "Paiement a la livraison (COD)" so it is identifiable. You cannot reorder payment methods in standard Shopify checkout, but you can make COD visible earlier by:

  • Adding a COD badge on the product page so buyers arrive at checkout already knowing COD is available
  • Using a custom checkout app (Shopify Plus) to reorder payment methods
  • For non-Plus plans, a checkout.liquid edit can place COD higher (requires Shopify theme customization)

Reason 2: Too Many Form Fields

Shopify's standard checkout asks for: email or phone, first name, last name, address line 1, address line 2, city, province, postal code, country, and a second phone number. That is 10 fields before the buyer even selects a payment method.

For a COD order in Morocco, the brand needs: name, phone number, city, and delivery address. Nothing else. The order will be confirmed by phone or WhatsApp anyway. Asking for postal codes (which many Moroccan buyers don't know or use), province selections, and email addresses that will go unread adds friction without value.

Forced account creation before checkout is particularly damaging. Baymard Institute (2023) data shows that mandatory account creation causes 24% of buyers to abandon checkout across markets. In Morocco, where mobile users typically browse while on a lunch break or commute, an email verification step sent to an account they don't actively check will kill the sale.

Fix:

  • In Shopify admin, go to Settings > Checkout. Set accounts to "Accounts are optional" not "Accounts are required"
  • Enable phone number checkout (instead of email) as the primary contact method
  • Hide the address line 2 field (most Moroccan buyers don't use it)
  • For non-Plus Shopify plans, these are the available levers. Shopify Plus allows full checkout field customization via checkout extensibility

Your Shopify store is getting traffic but checkout is leaking. Glorythm diagnoses checkout abandonment for Moroccan fashion brands: COD visibility, form friction, mobile checkout flow, and WhatsApp confirmation. One call, one prioritized fix list. [Book your free audit →]

Reason 3: No WhatsApp Fallback at Checkout

Moroccan buyers who have a question mid-checkout ("Does this deliver to Agadir?" or "Can I change the color?") need a way to ask without losing their cart. The standard Shopify checkout has no contact option visible during the checkout flow.

A buyer who has a question and can't ask it will either:

  1. Open WhatsApp directly and message the brand, which breaks their checkout session
  2. Leave the checkout to find a contact link elsewhere on the site
  3. Abandon entirely

All three outcomes result in a lost checkout session unless the brand responds on WhatsApp and manually completes the order.

Fix:

  • Add a floating WhatsApp button that is visible throughout the checkout flow (requires JavaScript injection via Shopify's Additional Scripts or a checkout app)
  • Add a "Questions? WhatsApp us" line with a clickable link in the checkout header or footer
  • Set up a WhatsApp Business template for checkout-in-progress buyers: "Hi, we noticed you had a question about your order. Here's the info you need: [delivery zones / COD confirmation / size confirmation]"

Brands that implement WhatsApp availability during checkout report recovering 10 to 20% of abandoned sessions through subsequent WhatsApp order completion (internal Glorythm data, 2025-2026).

Reason 4: Delivery Zone Uncertainty

A large portion of Moroccan checkout abandonment is caused by a single question the store never answers: "Do they actually deliver to my city?"

Buyers in Fez, Oujda, Tanger, Tetouan, Beni Mellal, or Errachidia have been burned before by stores that claim nationwide delivery but only fulfill to Casablanca and Rabat. This creates a pattern of hesitation in buyers outside major cities: they add to cart, start checkout, and pause because they have no confirmation that their address is in the delivery zone.

Shopify's default checkout does not show a delivery confirmation until after the address is entered. By that point, many buyers have already abandoned.

Fix:

  • Add a shipping estimator to the cart page (before checkout) that shows delivery time and cost by region
  • Display a list of delivery cities in the FAQ section of your product page and on a dedicated "Delivery information" page
  • In the cart, add a text line: "Livraison partout au Maroc en 2 a 4 jours via [carrier name]"
  • For COD orders, name your logistics carrier: "Amana Express" or "Chronopost Maroc" is more credible than "Express delivery"
Analytics dashboard showing checkout abandonment funnel for Moroccan Shopify store
Analytics dashboard showing checkout abandonment funnel for Moroccan Shopify store

Reason 5: Mobile Checkout Friction

More than 90% of Moroccan e-commerce traffic arrives on mobile (internal Glorythm data, 2026). The Shopify checkout was redesigned in 2022 for better mobile performance, but several mobile-specific friction points remain for Moroccan users.

Common mobile friction points in Morocco:

  • The checkout loads slowly on 4G (see Shopify apps slowing your store in Morocco for speed diagnosis)
  • The phone number field doesn't auto-populate with the Moroccan country code (+212)
  • The address form requires specific formatting that many mobile keyboards don't support easily
  • The checkout footer (with trust badges, return policy, contact info) is not visible on mobile without scrolling past all the form fields

Fix:

  • Test your checkout on an actual Moroccan SIM card on 4G (or throttle your browser's connection to Slow 3G in Chrome DevTools) to see what buyers experience
  • Pre-select Morocco as the country and +212 as the phone code
  • Add trust badges (COD badge, secure payment badge, returns policy) to the checkout header where they are visible on mobile without scrolling
  • Reduce the number of apps adding JavaScript to your theme, as this directly affects checkout load time

Reason 6: Price Appears in Foreign Currency at Checkout

A buyer who has been browsing a site where prices showed in EUR reaches checkout and sees the total in EUR. This creates a mental recalculation: "How much is 34.99 euros in dirhams? Is that including the COD fee? Is there an exchange rate being applied?"

The confusion itself causes abandonment, even from buyers who were ready to purchase. In a market where price sensitivity is high and buyers compare multiple options before committing, this friction is enough to lose a sale.

Fix:

  • Set your Shopify store's currency to MAD (Moroccan Dirham) as the primary display currency
  • If MAD cannot be set as the transaction currency (payment gateway limitation), at minimum display the MAD equivalent prominently at checkout: "Total: 349 MAD"
  • Use Shopify Markets to create a Morocco-specific market with MAD pricing that activates automatically for Moroccan IP addresses
  • Avoid currency converter apps that calculate in real-time but don't lock the MAD price, as fluctuating numbers during checkout increase hesitation

Reason 7: COD Fee Is a Surprise

Many Moroccan logistics carriers charge a COD handling fee on top of the standard shipping cost, typically 10 to 25 MAD per order. If this fee is not disclosed on the product page or in the cart, it appears as a surprise line item at checkout.

Surprise fees at checkout are the single biggest driver of last-second abandonment globally (Baymard Institute, 2023). In Morocco specifically, where buyers are already making a trust-based bet on a COD order (paying a stranger's store upon delivery), an unexpected fee at checkout reinforces the feeling that something is off.

Fix:

  • Display the total shipping cost including COD fee on the product page: "Livraison 30 MAD incluant le paiement a la livraison"
  • If you offer free shipping above a certain order value, show this threshold: "Livraison gratuite a partir de 250 MAD"
  • Confirm the total on the cart page before buyers click "Proceed to checkout" so no new costs appear at the checkout step

Reason 8: No Order Confirmation Flow After Checkout

Moroccan buyers who complete a COD order need confirmation that it was received. Unlike card orders (where the payment confirmation is the confirmation), COD orders leave buyers uncertain: "Did it go through? Will someone call me? Did they get my address?"

This post-checkout uncertainty often leads buyers to message the brand on WhatsApp or Instagram within minutes of placing the order. If the brand doesn't respond quickly, some buyers assume the order failed and don't expect a delivery. The result is a COD refusal when the package actually arrives.

Fix:

  • Set up an automatic Shopify order confirmation by SMS or WhatsApp (via a Shopify app like WhatsApp Business by WATI or Interakt)
  • The confirmation message should include: order number, product name, delivery city, estimated delivery window, and a note that a team member will confirm by phone
  • If you process orders manually, send a WhatsApp message within 1 hour of the order being placed
  • Add a thank-you page on Shopify that explicitly says: "Votre commande est confirmee. Un agent vous contactera dans les 24 heures pour confirmer la livraison."

Checkout abandonment in your Shopify store is not a traffic problem. Glorythm audits the checkout flow for Moroccan fashion brands and identifies exactly which step buyers are dropping at. COD visibility, form friction, WhatsApp recovery, delivery zone confirmation. [Book your free audit →]

The Checkout Abandonment Funnel: Where to Look in Shopify Analytics

Before fixing anything, confirm where buyers are actually abandoning. Shopify Analytics shows a conversion funnel under Analytics > Reports > Online Store Conversion.

The funnel shows:

  1. Sessions
  2. Added to cart
  3. Reached checkout
  4. Sessions converted (orders)

If the gap between "Added to cart" and "Reached checkout" is large, the cart page or your shipping estimator is the problem. If the gap between "Reached checkout" and "Sessions converted" is large, the checkout flow itself is where buyers drop.

For a typical well-run Moroccan store:

  • Add-to-cart rate: 3 to 8% of sessions
  • Checkout initiation: 40 to 60% of add-to-carts
  • Checkout completion: 50 to 70% of checkout initiations

If checkout completion falls below 30%, you have a structural checkout problem — most commonly COD placement, delivery zone uncertainty, or a surprise fee.

For the broader store-level diagnosis beyond checkout, see why your Shopify store isn't converting in Morocco.

Frequently Asked Questions