Cash on delivery can open ecommerce to customers who prefer not to prepay, lack a supported digital method, or want reassurance before handing over money. It also separates checkout completion from revenue: the store reserves stock and funds fulfilment before knowing whether the parcel will be accepted and the cash remitted.
What we see in payment reporting is that COD orders are counted beside prepaid orders at creation. That inflates demand, hides refusal costs, and makes channels look healthier than the cash cycle supports. A useful COD scorecard follows the order through confirmation, dispatch, delivery attempt, collection, remittance, and final margin.

Table of Contents
- Keyword decision and search intent
- Model the COD state machine
- Measure conversion with the right denominator
- Calculate collection-adjusted margin
- Reduce refusal without blunt restrictions
- Reconcile carrier remittance
- Evaluate COD by market and cohort
- EcomToolkit point of view
Keyword decision and search intent
- Primary keyword: ecommerce cash on delivery analytics statistics
- Secondary keywords: COD refusal rate, cash on delivery conversion, COD remittance reconciliation, COD order profitability
- Search intent: evaluate and improve COD performance and economics
- Funnel stage: mid to bottom funnel
- Page type: payments and operations analytics guide
Search results mostly explain how to enable COD or debate its fraud risk. The operator gap is a measurement model that separates order creation from successful collection. Shopify documents COD as a manual payment method and notes that such orders remain unpaid until payment is received and recorded (Shopify manual payment methods). That state difference should flow through analytics and finance.
Model the COD state machine
Create explicit events for COD selected, order placed, verification requested, confirmed, cancelled before dispatch, allocated, dispatched, delivery attempted, accepted, refused, cash collected, remitted, reconciled, returned, and written off. Preserve carrier and payment evidence rather than overwriting a single status.
Join order, package, attempt, collection, remittance batch, customer, address, market, product, promotion, warehouse, and carrier identifiers. Record promised and actual dates, contact attempts, refusal reason, return condition, fees, and settlement currency.
| Statistic | Calculation | Decision it supports |
|---|---|---|
| COD selection rate | COD checkouts / eligible checkouts | market demand |
| confirmation rate | verified COD orders / placed COD orders | intent quality |
| first-attempt acceptance | accepted first attempts / first attempts | delivery readiness |
| refusal rate | refused parcels / attempted COD parcels | avoidable fulfilment loss |
| collection success | collected COD value / attempted COD value | realized payment |
| remittance lag | remittance date - collection date | working-capital exposure |
| reconciliation exception rate | unmatched COD collections / COD collections | financial control |
Measure conversion with the right denominator
Report checkout completion, confirmed-order rate, dispatch rate, accepted-delivery rate, and collected-payment rate separately. A COD order is commercially different at every stage. Site conversion can include placement for product UX analysis, but revenue reporting should use a collected or appropriately accrued definition that finance approves.
Compare COD with prepaid methods by eligible market, device, customer tenure, product, basket value, and delivery route. Raw comparison is biased because customers self-select payment methods. Measure what happens when COD is offered to similar eligible traffic, using controlled rollout where possible.
Track inventory days reserved by unconfirmed orders. A generous confirmation window can protect legitimate demand while starving other channels of sellable inventory. Define expiry and release rules by market and fulfilment speed.
Calculate collection-adjusted margin
Start with collected product revenue, then subtract product cost, discounts, outbound delivery, COD handling fee, failed-attempt fee, return transport, packaging, verification cost, customer service, damage, payment leakage, and tax treatment. Add legitimate customer COD fees separately; do not treat them as pure profit before carrier charges.
| Outcome | Revenue status | Cost profile |
|---|---|---|
| accepted and remitted | realized after reconciliation | normal fulfilment plus COD fees |
| accepted, not remitted | receivable or exception | working capital and recovery risk |
| refused | no product revenue | outbound, return, handling, damage risk |
| cancelled pre-dispatch | no revenue | verification and allocation cost |
| partial collection | exception | dispute and reconciliation cost |
An anonymous pattern from analytics reviews is a campaign credited with strong COD order growth while refusal rises in one delivery region. Order-level ROAS looks positive; collection-adjusted margin is negative. Marketing optimization should consume final COD outcomes, not only order-created events.

Reduce refusal without blunt restrictions
Use clear delivery windows, total payable amount, accepted tender, change policy, contact expectations, and cancellation path. Send confirmation through a channel the customer can use. Give address correction and rescheduling options before dispatch where operationally possible.
Segment refusal reasons: customer unavailable, changed mind, duplicate order, price misunderstanding, delayed delivery, address failure, damaged package, no cash, fraudulent intent, or unknown. Fix controllable causes before blocking regions or customers. A late parcel refused after the promised date is a service failure, not necessarily bad demand.
Risk controls should be proportionate and reviewable. Consider verification for high-exposure orders, deposits where lawful, product eligibility, quantity caps, or prepaid-only rules after repeated confirmed behaviour. Measure false positives, support contacts, lost legitimate conversion, and repeat purchasing. Review consumer and payment rules in every served market.
Reconcile carrier remittance
Import carrier collection events and remittance files at line or package level. Match order, tracking number, amount, currency, collection date, fee, batch, and bank receipt. Flag missing, duplicate, short, late, or wrong-currency payments. Keep an ageing view with accountable owner and expected settlement date.
Do not mark an order paid solely because a carrier says delivered; delivery and collection can diverge. Likewise, a bank deposit without item-level matching does not close the operational ledger.
Pair this guide with the payment-method performance scorecard and the failed-delivery margin analysis.
Evaluate COD by market and cohort
Create a monthly cohort by order date and allow enough time for delivery, returns, and remittance. Report selection, confirmation, acceptance, collection, net margin, repeat purchase, and support. Compare new and returning customers, but avoid using a profitable mature cohort to justify unrestricted acquisition traffic.
Use a decision matrix: expand when collected margin and service remain healthy; improve confirmation when placement is high but dispatch quality is weak; fix delivery when refusals follow lateness; restrict narrowly when repeated verified losses exceed legitimate demand.
EcomToolkit point of view
COD is not a checkout toggle. It is a short supply chain financed by the merchant. Judge it at collected, reconciled, return-adjusted margin—not at order creation—and it can be managed as a valuable local payment method rather than a vague fraud problem.