Managed Markets Ends DDU on 24 August: Fixing Your Cross-Border Checkout
On 24 August, Shopify Managed Markets stops letting your international orders leave the country Delivered Duty Unpaid. Every merchant relying on Managed Markets for cross-border duties moves to Delivered Duty Paid instead — duty collected in the basket, not on the doorstep. I am writing this eleven days out because most of the merchants I have spoken to about it are treating this as a logistics update. It is not. It is a checkout price change, and it will move your international conversion rate.
Around the same window Shopify also added DHL Express labels into the admin for merchants in the UK, Germany, France, Italy and Spain, covering domestic and international orders. That part is genuinely good news and mostly operational — better label rates, one carrier relationship across five markets. It is the DDU cut-off that needs your attention this week, because unlike a carrier option, you cannot opt out of it and keep your current customer experience unchanged.
This post is not about tax mechanics. It is about what happens at the exact moment a customer looks at your basket total, and what you should change in pricing, copy, and reporting before that moment gets more expensive.
What actually changes at the moment of purchase
Under DDU, the number a customer sees at checkout was never the full cost of the order. It was the product, your shipping charge, and nothing else. The duty bill showed up later — a text from the courier, a card through the door, a hold at a depot — disconnected from the purchase decision by days. That gap was doing quiet work for your conversion rate. The basket looked cheap. The commitment felt smaller than it was.
Under DDP, that gap closes. The duty is calculated and added to the order total before the customer pays. Nothing about the underlying tax liability changes — the customer was always going to owe that amount, one way or another. What changes is when they see it and who collects it. That single shift in timing is the whole story of this post.
Two journeys for the same order
Same order, same duty owed — the only variable is where the customer finds out.
The DDU track is where the expensive failure lives, and it is worth naming precisely: refusal-and-return. The parcel arrives, the courier wants money the customer was not braced for, and a meaningful share of recipients simply say no. The parcel goes back. You have paid outbound freight, you now pay return freight or write off the stock, your customer service team fields the complaint, and the customer's last memory of your brand is a stranger asking them for cash on their own doorstep. That is a worse outcome than a cart abandonment, and it costs more, and until 24 August most Managed Markets merchants have been eating some rate of it without a line item to show for it.
The uncomfortable trade is this: your international conversion rate will very likely dip after the switch, because the number in the basket just got bigger and some browsers will not go through with the higher total. Your refusal-and-return rate will drop by more than that, in proportion. Only the conversion number shows up on the dashboard everyone watches at the Monday meeting. The refusal rate mostly lives in courier invoices and support tickets nobody rolls up into a single metric. If you do not go looking for it, you will only ever see the half of this trade that looks bad.
The same order, priced two ways
Nothing makes this concrete like putting the two receipts side by side. Below is a stylised example order — not a real merchant's numbers, just the shape of the change — showing what a customer saw before 24 August and what they will see after, if you make no other changes to how you price.
4 days later: courier invoice for £11.20 duty + £4.50 handling fee, due before the door opens.
4 days later: nothing. Parcel arrives, no further payment, no knock.
The handling fee on the DDU side is the courier's, not the merchant's — and it is usually the line that makes a customer refuse the parcel outright.
Look at that second receipt again. £79.70 against a headline product price of £62. That is a 17% jump in the number the customer commits to at the moment of payment, purely from duty becoming visible. Nobody's product got more expensive. The basket did. Every decision in the rest of this post is about how you absorb, present, or offset that jump so it does not land as pure conversion loss.
Three ways to price the duty in — and the honest downside of each
There is no option here that is free. Every one of the three approaches below trades a downside for an upside, and the right choice depends on your margin, your average order value in the affected markets, and how price-sensitive your international buyers actually are — not on which one sounds cleanest in a Slack message.
It also depends on what you are optimizing for in each market. A market you are trying to grow from a low base can usually justify a heavier absorption strategy for a quarter or two, because the goal there is proving out demand, not protecting margin. A mature market that already converts well can usually tolerate full transparency, because the customers buying from you there have already decided they trust the brand enough to want the full picture.
Bake duty into a market-specific product price
The basket total looks the same as before. Duty is quietly folded into the displayed price for that market, so nothing new appears at checkout.
Honest downside: you eat the margin, or your headline price becomes visibly higher than your domestic price with no line item to explain why — which invites its own complaints.
Duty appears as its own labelled row at checkout
Product price stays untouched. The customer sees exactly what duty they are paying and why, the same way they see shipping cost broken out.
Honest downside: the total is fully transparent, which is right — but it is also the version most likely to trigger a last-second abandonment, because the customer sees the increase named in real time.
Absorb part of the duty, pass the rest through
You raise the product price a little to cover, say, half the average duty, and let the checkout line show the remainder. The jump the customer sees is smaller.
Honest downside: it is the most operationally fiddly — you need per-market maths, it drifts out of date as rates or FX shift, and it is the hardest of the three to explain internally when someone asks why the price differs by country.
Across the cross-border accounts we work with, the split approach wins on conversion when the absorbed portion covers roughly the first third of the average duty bill — enough to soften the jump without hiding it entirely.
My default recommendation is the line-item option, for one reason: it is the only one of the three that keeps duty legible to the customer without you having to guess at absorption maths per SKU per market. Transparency costs you some conversion at the point of sale, but it is honest conversion loss — a customer who sees the true cost and declines was never going to complete the DDU journey cleanly either, they were going to refuse the parcel four days later instead. The split approach is worth the extra admin only once you have enough order volume in a market to justify maintaining it.
Whichever option you pick, apply it consistently within a market. The worst outcome I have seen is a store that absorbed duty on some SKUs and showed it as a line on others, with no visible logic to the split. Customers who buy more than one item in a basket then see an inconsistent story about where their money is going, and it reads as sloppiness rather than strategy — even when the underlying maths is sound.
Price by market, not by one global uplift
The temptation under time pressure is to apply one flat percentage uplift across every market Managed Markets touches and call the job done by the 24th. Resist it. Duty rates, courier handling fees, and de minimis thresholds vary by destination and by product category — a single global number will overcharge some markets and undercharge others, and undercharging is the one that hurts, because you have then told a customer their total is final when it is not.
Same product, different landed cost by destination
Illustrative only — your actual duty bands come from Shopify's landed-cost calculation for each destination and HS code, not from this chart.
Work market by market using whatever landed-cost figures Shopify's own duty calculation surfaces for your catalog, rather than a spreadsheet you built once and never revisit. Your highest-volume international markets deserve the most careful treatment — that is where a badly judged pricing strategy costs you the most orders, and where getting it right pays back fastest. Lower-volume markets can run on a simpler default line-item approach until they earn the same attention.
One more reason not to apply a flat uplift: your average order value is not constant across markets either. A duty rate that adds a trivial amount to a £150 basket can add a conversion-killing amount to a £35 one. If your catalog spans a wide price range, model the duty impact against your typical basket in each market, not against a single representative product.
There is also a threshold question worth checking market by market: some destinations exempt low-value orders from duty entirely below a certain declared value. If a meaningful share of your international orders sit close to that line in a given market, a small change to your bundling or minimum-order messaging in that market can keep more baskets on the cheaper side of it — without touching your pricing strategy anywhere else. Confirm the actual threshold for each destination in Shopify's own duty calculation rather than assuming last year's figure still holds; these limits are set by each country's customs authority, not by Shopify, and they move independently of this DDU cut-off.
What to rewrite in shipping and returns copy
Pricing is only half of this. The other half is that most stores' shipping and FAQ copy was written for the DDU world and now describes a checkout experience that no longer exists. Sentences that once reassured customers — "duties may be collected on delivery" — now read as a warning about a fee that is actually already included. Left unchanged, that copy creates confusion in the opposite direction: customers bracing for a doorstep charge that is never coming.
"Import duties and taxes are not included and may be collected by the courier on delivery."
"All duties and import taxes are calculated and included in your order total at checkout. No further payment is required on delivery."
Audit at least these four places before the 24th: the shipping policy page, the FAQ entry on international orders, the transactional order-confirmation email, and any pre-checkout messaging on product or cart pages that mentions duties, customs, or "additional charges may apply." That last phrase in particular has been doing defensive work for the DDU world and now just plants doubt where there should be none.
Returns copy needs a matching update. Under DDU, a refused or returned parcel often meant duty was never collected at all, so refund maths was relatively simple. Under DDP, the customer has paid duty as part of the order, and your returns policy needs to say plainly whether that duty is refundable on a full return — and if it is not, why, and how much of the total they will actually get back. Silence on this point is where the support tickets will come from in week one.
Reading the first fortnight without panicking
Expect your international conversion rate to dip in the two weeks after 24 August. That is the expected consequence of a checkout total getting bigger, not evidence that something has gone wrong with your implementation. The mistake I would guard against is reacting to that dip in isolation, because it is only one side of a trade you need to see in full.
I would also resist the urge to roll back your pricing decision the moment the first week's conversion numbers land on a shared dashboard. A week is not enough signal, and rolling back mid-fortnight means you never find out whether the copy changes needed a little longer to settle in visitors' expectations, or whether it was genuinely the pricing that was wrong. Pick your read date in advance — day fourteen, not day three — and hold to it.
Four numbers to pull together, not one in isolation
International checkout conversion rate, by market
The number everyone will look at first. Expect it down. Do not act on it alone.
Delivery refusal and return-to-sender rate on cross-border orders
Pull this from courier reporting, not Shopify. This is the number that should be falling, and it is the one that justifies the conversion dip.
Support tickets mentioning duty, customs, or "extra charge"
Should trend down within the fortnight as DDU-era surprise fees stop happening. A rise here usually points at unclear checkout copy, not the pricing itself.
Net landed revenue per completed order, by market
Fewer orders that actually arrive and stay delivered can still mean more revenue collected per order shipped. This is the metric that tells you whether the trade was worth it.
Across the cross-border accounts we work with, the conversion dip after a DDU-to-DDP switch has typically settled within two to three weeks as messaging catches up with pricing.
Give it the full fortnight before drawing conclusions. The first few days after a pricing change are noisy — some of the drop is genuine price sensitivity, some of it is customers who bookmarked a basket before the change and are confused by a total that moved, and some of it is simply lower traffic because you have not yet updated the ad copy and landing pages that quoted the old, cheaper-looking total. Separate those causes before you touch pricing again.
Segment the conversion number by whether the visitor arrived from a channel that already showed a duty-inclusive price — a Google Shopping feed you have updated, for instance — versus one still promising the old, lower total. A gap between those two cohorts tells you the drop is a messaging mismatch you can fix this week, not a structural rejection of the new pricing.
If refusal-and-return does not fall meaningfully once DDP is live, that is a real signal — it usually means your checkout copy did not communicate the change clearly enough, and customers are still expecting a doorstep charge that will never come, or worse, still getting one because a fallback flow somewhere in your stack has not been updated. Check that before you conclude DDP "did not work."
Be especially wary of comparing the fortnight after 24 August against the fortnight before it. That before-window still includes the last stretch of DDU behavior, refusals and all, which means it was never a clean baseline in the first place — it already had the failure mode baked in. A fairer comparison is against the same weeks last year, or against a domestic-market conversion trend over the same period, so you are not measuring the new pricing against a broken control.
Finally, put a number on what refusal-and-return has actually been costing you, even roughly, before you weigh it against the conversion dip. Add up outbound freight on refused parcels, return freight where the courier bills it back to you, restocking or write-off cost on returned stock, and the support hours spent on the resulting tickets. Once that figure exists next to the conversion number, the decision about whether DDP was worth it stops being a debate about feelings and becomes a straightforward comparison of two costs.
Before 24 August: the checklist
-
Confirm which of your markets are actually affected. Check your Markets settings for which are on Managed Markets duty collection versus a third-party or self-managed setup.
-
Pick your pricing posture per market — absorb, show as a line, or split — rather than defaulting to whatever Shopify applies out of the box everywhere.
-
Rewrite the shipping policy page and international FAQ entry to describe DDP, and remove any "may be collected on delivery" language.
-
Update the order-confirmation and shipping-confirmation email templates so the duty line is named and matches what appeared at checkout.
-
Decide and publish your returns policy on duty refunds before a customer forces the question through a support ticket.
-
Set up refusal-and-return tracking on your cross-border orders now, before the switch, so you have a clean before/after baseline rather than trying to reconstruct one later.
-
If you're in the UK, Germany, France, Italy or Spain, check the new DHL Express labels in admin against your current carrier rates while you are already touching the shipping settings.
-
Brief whoever owns the conversion dashboard that international conversion is expected to move, and give them the refusal-rate number as the counterweight before the first Monday meeting after the 24th.
The operations story is the easy part
Shopify's framing of this as a shipping and duties update is not wrong, exactly — it is genuinely a change to how Managed Markets calculates and collects tax at the border. But framing it that way lets it slip to whoever owns logistics, when the decision that actually matters — how you price the duty into the basket, and how you talk about it — belongs with whoever owns conversion and revenue. Eleven days is enough time to make that decision deliberately. It is not enough time to make it by accident and then spend September explaining a conversion dip nobody planned for.
If you are weighing this alongside a broader look at your international setup, our guide to setting up international selling on Shopify covers the domain, currency, and translation decisions that sit alongside duties. And if the wider checkout experience needs a look while you have the admin open, the checkout optimization checklist is a reasonable place to start — a lot of the trust-signal work in there matters even more once your total includes a duty line a customer has to trust you on.
We are already helping a handful of accounts get their pricing and copy sorted before the 24th. If you want a second pair of eyes on your market-by-market strategy before it goes live, get in touch — there is still time to do this properly rather than reactively.
And if pricing changes like this one are new territory for your team, it is worth reading how the same psychology plays out on the subscription side too — the pricing psychology guide covers a lot of the same ground on when to show a cost breakdown versus when to fold it into one number. The underlying question is always the same one: does naming the cost build trust, or does it just give the customer a reason to hesitate at the worst possible moment. For duty, on 24 August, Shopify has made that decision for you. Your job now is just to make sure the rest of the page agrees with it.