Skip to main contentOnly 2 client spots open for Q3 2026Apply now
EcomLabs360
Unit EconomicsDTC Operations

Cash on Delivery Ecommerce in Europe: The Economics Nobody Writes Down

By Yoan Asparuhov - Published 2026-07-19

Kraft parcel and a stack of gold coins on a doormat at a bright front door, representing cash on delivery ecommerce in Europe

How does cash on delivery change ecommerce economics in Europe?

Cash on delivery turns a fraction of your orders into parcels that come back unpaid. Every refusal produces zero revenue, bills you for shipping in both directions, and still burns the ad spend that bought the order. Price that into your margin and breakeven before you scale, or the courier invoice will price it in for you.

TL;DR

  • COD is still the default in much of Central and Southeastern Europe. Refusing to offer it does not make your store modern; it makes it smaller.
  • Honest operator rejection rates run 3-10% of parcels. Slow delivery and impulse categories push you toward the top of that range.
  • In our worked example store, 6% rejection at €7 round-trip shipping cuts per-order margin from €18.73 to €17.19 and moves breakeven ROAS from 2.14x to 2.33x.
  • The fix stack, in order of impact: order confirmation by call or SMS, fast delivery, address validation, courier office and locker pickup, the right courier contract.
  • Migrate buyers to prepaid with small, math-priced incentives. Keep COD where it is the trust bridge that wins the sale in the first place.
  • The free breakeven calculator prices rejection rate directly: set your own rate and watch your real breakeven move.

Where COD still dominates, and why

We operate our own and client COD brands in Bulgaria and across the EU, and here is the ground truth the payment-provider slide decks skip: in much of Central and Southeastern Europe, cash at the door is not the fallback option. It is the default. Buyers with perfectly functional cards still pick COD, order after order, and they are not being irrational.

They are being careful. COD means you pay when the parcel is physically in your hands, which removes the oldest fear in ecommerce: sending money to a shop you have never heard of and receiving nothing. That habit formed in the years before online card payments felt safe, and habits formed around money outlive the conditions that created them. Some couriers here even offer an open-and-inspect option before the buyer pays. That is how deep the trust gap runs.

The part that costs you money is refusal psychology. A COD buyer makes the purchase decision twice. Once at checkout, where it is easy, and once at the door, days later, with real banknotes. Between those two moments the impulse cools, the salary date shifts, a partner asks what arrived, a competitor's parcel shows up first. Checkout is a promise. The doorstep is the payment.

You can resent this or you can price it. We treat COD the way we treat VAT: a condition of the market, not a flaw in the plan. The rest of this article is the pricing.

The rejection problem: zero revenue, double shipping

A refused parcel is the worst line in your P&L. Not low margin. Zero revenue, plus shipping paid twice, because the courier hands nothing over, hauls the box back to your warehouse, and bills you for both legs of the trip. You restock the product, write off the packaging, and move on. The ad platform does not.

An accepted open parcel with coins beside a refused sealed parcel turned away, representing delivered versus refused cash on delivery orders

That last part deserves its own paragraph. Your purchase event fired the moment the order was placed, so Meta and Google reported the conversion value, your dashboard ROAS absorbed it, and the money never arrived. On a COD-heavy store, platform-reported performance and bank-account performance drift apart by exactly your rejection rate. We have watched accounts celebrate a strong month in Ads Manager while the warehouse quietly filled a shelf with returned boxes.

How many come back? In our accounts, an honest range is 3-10% of parcels. Where you land inside it is mostly earned. Fast delivery, confirmed orders, and clean addresses keep you near the bottom. Slow delivery is the single biggest aggravator, because every extra day in transit is another day for the doorstep decision to go against you. Impulse categories sit structurally higher: the same emotional spike that made checkout easy makes the refusal easy too. And an order with a mistyped phone number never had a chance.

There is also a quieter cost: cash reconciliation. The courier collects your revenue at thousands of doors and remits it on a contract cycle, so your money spends days riding around in vans before it becomes yours. Someone on your team reconciles collected cash against delivered orders every week. None of that shows up in a ROAS column.

The real math: pricing a 6% rejection rate

Take the same store we walked through in our breakeven ROAS teardown: €40 AOV at 20% VAT, €8 landed product cost, €5.50 pick-pack-ship, €0.60 of payment and COD collection fees, €0.50 packaging. Net of VAT, a delivered order carries €18.73 of margin.

Now let 6% of parcels come back, at €7 round-trip courier cost per refusal:


Expected margin = margin x delivery rate - rejection rate x round-trip shipping
€17.19          = €18.73 x 0.94         - 0.06 x €7.00

That is €1.54 of margin per placed order, gone. Not per refused order. Per order, across everything you ship, because the 6% is baked into all of them. On 1,000 placed orders a month it looks like this: 60 refusals, €420 of round-trip courier fees, about €1,124 of delivered margin that never materialized, roughly €1,544 of total monthly drag.

Breakeven moves with it:

Rejection rate Expected margin per order Breakeven ROAS
0% €18.73 2.14x
3% €17.96 2.23x
6% (our example) €17.19 2.33x
10% €16.16 2.48x

The per-refusal view is uglier. At a planned 3.0x ROAS, each order costs €13.33 in ads. A delivered order nets €5.40 after that ad cost. A refused one is €20.33 of real cash out: the €13.33 that bought the order plus €7 of courier fees, against zero revenue. One refusal burns the profit of nearly four deliveries. That asymmetry is why rejection rate belongs on your weekly scorecard, not in a footnote of the quarterly review.

The calculator below prices rejection rate directly: it sits as an input next to VAT and payment fees. Put in your own rate and round-trip cost, and watch what your real breakeven and your CPA ceiling do.

Free operator tool

Run your numbers as you read.

Your numbers

What the customer pays per order, after discounts, incl. any shipping you charge

Landed COGS, blended across bundles

Pick, pack + outbound shipping

Card processing or COD collection

Enter costs net of VAT (you reclaim input VAT). Mixed-rate basket? Use your revenue-weighted average rate.

+ Operator mode: COD, returns, fixed costs

Refused + returned parcels, % of orders

Courier both ways; add product cost if returns can't be resold

SMS fee, COD minimum, per-order charges

Packaging, inserts, shrinkage allowance

Tools, team, warehouse. Not your salary? Add it.

Save this scenario

Every change is encoded in the URL. Copy it to share exact numbers with a partner, or email yourself the full breakdown.

Your breakeven

Breakeven ROAS
2.33x
Below this, every order loses money
Breakeven CPA
€17.19
Max ad cost per order at zero profit

As your ads dashboard reports it (VAT-inclusive conversion value). On net revenue the same breakeven reads 1.94x. Contribution margin per order: €17.19 (€18.73 delivered, minus rejection drag).

Where one order goes

  • VAT€6.67
  • Product (COGS)€8
  • Fulfillment€5.5
  • Fees + other€1.1
  • Rejection drag€1.54
  • Your margin€17.19

Margin planner

target 15% net
ROAS for 15% net
3.57x
Run ads at or above this blended ROAS
Allowable CPA
€11.19
What you can pay per order and still hit target

Launch planner: monthly P&L

Revenue€30,000
Orders (€13.33 CPA)750
Contribution after product, shipping, fees€12,892
Ad spend- €10,000
Fixed costs- €1,500
Net profit (4.6% of revenue)€1,392

To bank €5,000/mo at 3.00x you need 1,686 orders (55.5/day), €22,476 ad spend and €67,427 revenue. Each order nets €3.86 after ads.

Everything below is about making that input smaller.

How we cut rejection rates

Five levers, ranked by what has actually moved the number in our accounts.

Confirm every order before it ships. A call or an SMS with a reply step catches mistyped phone numbers, duplicate orders, and second thoughts while the parcel is still on your shelf. A cancellation at this stage costs you one message. The same cancellation at the door costs €7 of round-trip shipping, restocking labor, and a week of transit time. Confirmation flows are boring, and they are the highest-return boring work in COD.

Ship fast. The doorstep decision happens days after the checkout decision, and every one of those days works against you. Cut a day of transit and you cut refusal risk with it. This is where domestic and cross-border COD become different sports: inside a national courier network a parcel typically arrives next day, while the same parcel dragged across two borders for a week will meet the top of the rejection range.

Validate the address and the phone at checkout. A required, format-checked phone field and a structured address form feel like conversion friction until you price the alternative. A parcel the courier cannot deliver because the phone rings nowhere is a refusal you paid full freight for. Impossible to confirm, impossible to deliver.

Offer office and locker pickup, not just door delivery. In Bulgaria the two national couriers, Econt and Speedy, run office and locker networks dense enough that pickup is a normal habit, not a compromise. A buyer who collects the parcel on their own schedule is a buyer who cannot be missed at the door, and office delivery usually costs less than address delivery as well. Where the buyer chooses pickup, refusal risk drops toward the floor.

Pick the courier contract like it is a margin decision, because it is. COD collection fees, return-leg pricing, and the cash remittance cycle vary by contract, and all three touch the math above. The remittance cycle decides how many days your revenue rides in a van before you can spend it. We reconcile collected cash against delivered orders weekly on every COD brand we run; the contract decides how painful that ritual is.

Migrating buyers to prepaid, without killing conversion

Every COD operator eventually stares at the same tempting idea: just switch it off. Prepaid orders carry no refusal risk, settle instantly, and skip the collection fee. The problem is the buyers. In a COD-default market, removing cash at the door does not convert those people to card. A large share of them simply leave, and you trade a 6% rejection problem for a checkout-abandonment problem you will like much less.

So migrate instead of amputate.

Price the incentive with the math you already have. In our example store, rejection costs €1.54 of expected margin per COD order, so any incentive under that ceiling which genuinely flips a buyer to prepaid is profit. A modest card discount works. So does free shipping on prepaid orders. Watch the leakage, though: incentives also reach buyers who would have prepaid anyway, so judge the experiment on blended contribution margin, not on COD share alone. Run your own ceiling through the breakeven calculator before you pick the number.

Partial prepayment is the middle path we like for higher-ticket products: a small amount by card at checkout, the balance in cash at the door. The deposit is a commitment device. Casual orders stop happening, and honest buyers keep the trust bridge they wanted.

And mind the sequencing. First orders are where COD earns its keep; repeat orders are where prepaid grows on its own. A buyer who has already received two parcels from you no longer needs the trust bridge, and a saved card plus a small nudge does the rest. Visible reviews, a recognizable brand, and a returns policy written by a human all pull the prepaid share up quietly in the background.

When to drop COD entirely

Sometimes the answer is not optimization. It is exit. We drop COD, per market or per product, when the math holds after honest effort on the levers above:

  • Rejection sits stubbornly above 10% despite confirmation flows, fast delivery, and pickup options. At that point the market is telling you something about the offer or the audience, and the couriers are charging you to hear it.
  • The AOV is high. The bigger the ticket, the bigger the margin swing per refusal, and high-ticket buyers who trust you enough to order will usually tolerate prepay.
  • The parcel crosses borders. International return legs are slower and cost multiples of a domestic one, and the extra transit days raise the very refusal risk they then have to pay for.
  • The product is a subscription or replenishment model. Recurring revenue and cash at the door do not mix; move those buyers to card from the first order.

One more observation from running these accounts: watch the residual cohort. As your prepaid share grows, the buyers still choosing COD skew toward exactly the ones most likely to refuse. When the trusting majority has moved to card, the remaining COD line often carries the worst rejection rate on the books, and that is usually the moment to retire it with a clean conscience.

But make it arithmetic, not frustration. In COD-default markets the day you switch it off, conversion drops, and the only question is whether the saved drag outruns the lost orders. Sometimes it does. At the rejection rates a well-run operation achieves, it often does not.

Price it, then run it

COD is not a problem to eliminate or a feature to defend. It is an input with a price, and the operators who write that price down scale calmly while everyone else argues with their dashboard. We pay these courier invoices every month across our own and client brands, and the math above is the exact math we run before spend goes up on any of them.

If you want that discipline applied to your whole P&L, rejection rate included, that is the first week of our full-funnel engagement: price every leak, then scale what is left. Or start smaller. Put your own numbers into the calculator above and find out what your doorstep is really charging you.

Common questions

Frequently asked questions

What is a typical COD rejection rate in Europe?
In our accounts a healthy COD operation runs somewhere between 3% and 10% of parcels refused, and where you sit in that range is mostly earned. Fast delivery, order confirmation, and clean addresses keep brands near the bottom. Slow delivery, impulse-driven products, and no confirmation step push brands toward the top, and sometimes past it.
Why do shoppers in Europe still choose cash on delivery?
Trust, mostly. The buyer pays only when the parcel is physically in their hands, which removes the fear of paying an unknown store and receiving nothing. In much of Central and Southeastern Europe that habit formed before card payments felt safe online, and it persists even among people who own cards. COD is a trust bridge, not a payment preference.
How much does one refused COD parcel actually cost?
More than the courier fee. In our worked example the refusal costs €7 in round-trip shipping, plus roughly €13.33 of ad spend that bought the order at a planned 3x ROAS: over €20 of real cash out against zero revenue. A delivered order in the same store nets about €5.40 after ads, so one refusal undoes the profit of nearly four deliveries.
How do I reduce COD rejection rates?
Four levers, in order of what has moved the number for us: confirm every order by call or SMS before shipping, deliver fast so the impulse that placed the order stays warm, validate addresses and phone numbers at checkout, and offer courier office or locker pickup so buyers collect on their own schedule. Together they usually decide which end of the 3 to 10 percent range you live at.
Should I offer a discount for prepaid orders?
A small one, priced against your own numbers. In our worked example, 6% rejection costs €1.54 of expected margin per COD order, so an incentive that costs less than that and actually flips buyers to prepaid is free money. Watch the leakage though: the discount also reaches people who would have prepaid anyway, so judge it on blended margin, not on COD share alone.
When should a store drop COD entirely?
When the math says so after you have genuinely worked the levers. If rejection stays above 10% despite confirmation calls, fast delivery, and office pickup; if your AOV is high enough that one refusal erases many orders of profit; or if you ship cross-border and returns have to cross a border twice, prepaid-only usually wins. Drop it deliberately, not out of frustration, because in COD-default markets you are also dropping revenue.
Does cash on delivery change my breakeven ROAS?
Yes, directly. Weight your per-order margin by delivery rate and subtract rejection rate times round-trip shipping, then divide AOV by the result. In our example store the honest breakeven moves from 2.14x with no rejections to 2.33x at 6% rejection, and to 2.48x at 10%. If you scale spend against the naive number, the gap arrives later as a courier invoice.

Liked this?

Work with the team behind the doctrine.

Operators since 2014
Multi-vertical DTC portfolio
Verified Platform Partnerships
  • Meta Business Partner
  • Google Partner
  • Klaviyo Partner
  • Shopify Select Partner
EcomLabs360 navigation