Skip to content
AURENAUREN — digital studio
← Insights

Performance marketing · · 6 min read

Cash on delivery changes what you can measure

In short

  • In cash-on-delivery markets the conversion that matters is the confirmed delivery, not the submitted form.
  • Order totals must come from the server. A price read out of the browser cart is a price a visitor can edit.
  • Write the order down before calling any third party, or a webhook outage becomes lost revenue.

Cash on delivery is a purchase method where the customer pays the courier at the door rather than online at checkout. It dominates e-commerce across Morocco and much of the region, and it quietly breaks the assumption every advertising platform is built on: that a completed checkout is a completed sale.

It is not. It is an intention to buy, and a meaningful share of those intentions never become revenue — wrong number, nobody home, changed their mind when the box arrived.

What the pixel is actually learning

When a purchase event fires at checkout, the ad platform starts optimising toward people who complete forms. In a card market those are nearly the same population as people who pay. In a COD market they are not, and the gap is where the budget goes.

The honest setup sends the checkout event as a lead signal and reserves the revenue event for confirmed delivery, fed back once the order is actually settled. It is more work, and it is the difference between optimising toward sales and optimising toward form-fillers.

Never trust the browser for money

On a COD store the price shown in the cart is a display value. The price recorded against the order must be resolved on the server from the selected product and size, because anything sent from the client is something a visitor can change before sending it.

The same applies to what you report. An order total taken from the browser cart is a number the customer had the opportunity to edit; one resolved server-side at order time is a fact.

Write it down before you integrate

Order capture should persist before any third party is contacted. If the CRM is down, the webhook times out, or the automation is mid-migration, the order still exists and can be recovered. This ordering costs almost nothing to implement and is usually adopted only after a week of orders has been lost.

What to instrument

  • View content, initiate checkout and purchase, each firing exactly once.
  • Order totals resolved server-side, never read from the client.
  • A delivery-confirmed event fed back to the ad platform as the revenue signal.
  • UTM parameters captured with the order, not reconstructed from a referrer afterwards.
  • Every order written to durable storage before any webhook is called.

Get this right and the reporting stops being an argument. Get it wrong and every channel decision for the next quarter rests on a number that was never true.

La suite

Un projet qui mérite de voir le jour ?

Parlez-nous de ce que vous créez ou cherchez à améliorer. Vous recevrez une réponse réfléchie, pas un lien vers un calendrier.