If you have been getting compliance alerts about the new EU withdrawal button and you are not sure whether it applies to your store, what a compliant one looks like, or how to get one built, you are not the only one.
As of 19 June 2026, online stores selling to consumers in the EU must provide shoppers with a simple way to cancel an eligible order online, and many stores still do not have a working version. Let’s walk through who the EU withdrawal button applies to, what a compliant one must do, the penalties for getting it wrong, and how to add one to your store on any platform.
What is the EU withdrawal button?
The EU withdrawal button is an online function that online stores must give consumers so they can cancel an eligible distance purchase within the 14-day cooling-off period. It was introduced by Directive (EU) 2023/2673, which added Article 11a to the Consumer Rights Directive, and it applies across the EU from 19 June 2026. The button has to be clearly labeled, easy to find, and available throughout the withdrawal period.
In plain terms, the right of withdrawal is not new. EU shoppers have long had 14 days to change their mind about most online purchases. What changed is how they exercise it. Until now, a customer could withdraw by sending any clear statement, often a form or an email. The new rule says that if a store lets people buy through an online interface, it also has to let them withdraw through one, with no extra friction.
🚀 Quick takeaway
The right of withdrawal already existed. The button is about the mechanics of using it online, which is exactly the part stores now have to build.
Who has to add one, and the “financial services only” myth
Here is the point most merchants get wrong. Directive (EU) 2023/2673 is best known for overhauling the rules on distance marketing of financial services, so a common assumption is that the withdrawal button is a banking and insurance problem. It is not. The same directive added Article 11a to the general Consumer Rights Directive, and that article reaches almost every online store.
The requirement covers B2C distance contracts for goods, services, digital content, and financial services concluded through an online interface. A fashion retailer, a furniture brand, a SaaS subscription, and a lender are all in scope. If shoppers in the EU can buy from you online, and the purchase carries a right of withdrawal, you need a compliant withdrawal button. This corner of EU consumer law has been moving quickly, and the same period brought new transparency duties under the EU AI Act for online stores.
🚀 Quick takeaway
If you read “financial services directive” and assumed you were exempt, re-check. Article 11a applies to ordinary online stores selling ordinary products.
Do non-EU stores selling into the EU need one?
Yes. The requirement follows the consumer, not the trader’s location. A store outside the EU that sells to EU consumers through an online interface has to provide a compliant withdrawal button for contracts that include a right of withdrawal, just like an EU-based store. A US or UK brand shipping into Germany or France cannot opt out by pointing at its headquarters.
What a compliant withdrawal button must do
A compliant withdrawal button has to do five things: be clearly labeled (for example, “withdraw from contract here”), stay visible and reachable throughout the withdrawal period, let the consumer give their name and identify the contract, take a separate confirmation step before submitting, and trigger an acknowledgment of receipt on a durable medium that records the content and the date and time. Withdrawing must be no harder than buying.
Each of those carries a detail that decides whether your setup passes or fails. The sections below break down the three that stores most often get wrong.
Where the button has to appear
The withdrawal function must be prominent, clearly labeled, and continuously available throughout the withdrawal period. It can’t be buried in a confirmation email or shown once after checkout. In practice, that means a persistent entry point a customer can reach at any time during the 14 days. The customer account area is the natural home for it, and many stores also expose it from the footer or a dedicated page so a logged-out customer can find it too.
The label matters as much as the placement. It has to be unambiguous, along the lines of “withdraw from contract here.” One useful detail from the German implementation: the law does not strictly require an HTML button. A clearly labeled link can satisfy the requirement, which gives you some design freedom as long as the wording and visibility are right.

The two-step withdrawal flow
The flow is deliberately two-step:
- In the first step, the consumer enters or confirms their name, identifies the contract they want to withdraw from, and gives an electronic contact address for the confirmation.
- In the second step, a separate action, labeled something like “confirm withdrawal,” actually submits the request. The split protects both sides: it prevents accidental withdrawals, and it gives the store a clear record of intent.
What you cannot do is add friction that the law does not allow. You cannot force the customer to state a reason, log in through an obstacle course, or call a hotline first. The guiding principle behind Article 11a is that withdrawing has to be no more burdensome than buying. If it takes a couple of clicks to place the order, it should take roughly the same number of clicks to undo it.

The confirmation on a durable medium
The moment a customer submits a withdrawal, your system has to send an acknowledgment of receipt without undue delay, on a durable medium, which in practice means email. That acknowledgment is not a courtesy. It has to reproduce the content of the withdrawal declaration and record the date and time it was received.
This is the requirement that trips up bolt-on tools. A widget that shows a “thanks, we got it” screen but never issues a timestamped record on a durable medium is not compliant. The confirmation is your evidence trail and the customer’s proof, so it has to be automatic and accurate every time.
🚀 Quick takeaway
If your withdrawal flow ends on a thank-you page instead of a timestamped email, it is not finished. The durable-medium confirmation is part of the legal requirement.
What the withdrawal button does not change
Adding the button does not change the 14-day withdrawal period, and omitting the button does not by itself extend every return window to 12 months. The up-to-12-month extension is a separate, older rule that applies when a trader fails to give consumers the required information about their right of withdrawal. The button is about how consumers exercise that right online.
The “miss the button, owe everyone 12 months of returns” line is repeated a lot, and it is not accurate. A missing button is its own problem, with its own penalties, which we get to below. But the headline risk people cite actually comes from failing to inform customers about the right of withdrawal in the first place, which is a duty stores have had for years.
Which products and contracts are exempt
Some contracts carry no statutory right of withdrawal, so they do not need the button. Typical exemptions include custom-made or bespoke goods, perishable goods, sealed hygiene or health products once unsealed, and sealed audio, video, or software once opened. Services that have been fully performed with the customer’s prior consent, and certain financial services, also fall outside the standard right.
The catch is that most stores do not sell only exempt items. A catalog that mixes returnable products with a few exempt lines still needs per-product logic, so the right of withdrawal and the button are offered wherever they apply and withheld only where they genuinely do not.
🚀 Quick takeaway
Exemptions are decided per product, not per store. “Some of my range is exempt” does not mean your store is exempt.
Penalties for getting it wrong
Non-compliance carries real exposure. Under the EU cross-border enforcement regime, fines can reach 4% of annual turnover in the affected markets, or up to €2 million where turnover cannot be estimated. Germany adds fines up to €50,000 under unfair-competition law, plus cease-and-desist letters, injunctions, and claims from competitors who can treat your non-compliance as an unfair advantage.
National maximums differ across the 27 markets, so a store selling EU-wide is exposed to the strictest of them rather than the most lenient. Germany is the market to watch first, because its cease-and-desist culture, where competitors and consumer associations actively send warning letters, tends to surface non-compliance fast.
Beyond the fines, there is the operational cost of getting it wrong quietly. Cease-and-desist letters take legal time to answer, an injunction can force an urgent fix on someone else’s timeline, and a public compliance stumble is not the look any brand wants in front of its customers.
🚀 Quick takeaway
Selling EU-wide means you inherit the strictest national rule, not the most forgiving one. Germany, with its active cease-and-desist culture, is the market that will surface a missing button first.
How to implement the withdrawal button on your store
Implementing the withdrawal button means more than dropping a link on a page. You need:
- Labeled entry point available throughout the withdrawal period
- Two-step form that captures the consumer and the contract
- Automatic confirmation sent on a durable medium with a timestamp
- Connection into order management and returns so the request is actioned.
How you build each piece depends on your platform.
On Shopify
On Shopify, a compliant setup usually means either a vetted app or a custom Shopify development build, wired into the customer account area and your transactional emails. Apps get you live quickly, but check that the one you pick actually issues the timestamped durable-medium confirmation and handles your exemptions, rather than just rendering a form. The store remains responsible for compliance.
On Magento (Adobe Commerce)
On Magento (Adobe Commerce), the button is typically a custom module tied into the account area, the returns or RMA flow, and a transactional email that carries the timestamped acknowledgment. Magento’s flexibility is an advantage here, because you can model the withdrawal as a first-class event that updates order state and triggers downstream processes. This is work our Magento support team handles directly.
On headless and custom builds
On a headless or custom stack, the withdrawal function is a frontend component plus an API endpoint and a service that issues the durable-medium confirmation. The main decision is where the withdrawal state is and how it propagates, so the request reliably reaches your commerce backend and your returns process. Done well, this is the cleanest setup of the three, because you control every step.
Connecting it to order management and returns
This is the part button-only tools tend to skip. A withdrawal is not finished when the form is submitted. The request has to flow into order management → pause or reverse fulfillment where possible → open the corresponding return → and start the refund clock, since the law expects refunds without undue delay.
If the button does not connect to the systems that actually process the cancellation, you have automated the customer’s half of the job and left your team to do the rest by hand.
🚀 Quick takeaway
The button is the visible 10%. The compliant, durable confirmation and the link into order management and returns are the 90% that decides whether the flow actually works.
Build in-house, use an app, or bring in an agency
Choose an app if you run Shopify, your catalog has few exemptions to handle, your returns flow is standard, and you need something live quickly at a low up-front cost.
Choose an in-house build if you have developers who can own the flow and the durable-medium confirmation, you want the withdrawal data in your own systems, and you maintain unusual product lines or custom checkout features already.
Choose an agency build if you run Magento, headless, or a custom stack, you sell across multiple EU markets with different national nuances, and the withdrawal has to flow into order management and returns without manual work.
Frequently asked questions about the EU withdrawal button
What is the EU withdrawal button?
The EU withdrawal button is an online function that lets consumers cancel an eligible distance purchase within the 14-day cooling-off period. It comes from Directive (EU) 2023/2673, which added Article 11a to the Consumer Rights Directive, and it applies across the EU from 19 June 2026. The button must be clearly labeled, easy to find, and available throughout the withdrawal period.
When did the EU withdrawal button become mandatory?
It applies from 19 June 2026. EU member states had to write Directive (EU) 2023/2673 into national law by 19 December 2025, and the withdrawal-button obligation took effect for online stores on 19 June 2026. Stores selling to EU consumers were expected to have a compliant button in place by that date.
Does the EU withdrawal button apply to all online shops or only financial services?
It applies to almost all online shops, well beyond financial services. The rule covers business-to-consumer distance contracts for goods, services, digital content, and financial services concluded online. The financial-services-only belief is a common misreading of the directive. If you sell online to EU consumers and the purchase carries a right of withdrawal, the requirement applies to you.
Where does the withdrawal button need to appear?
It must be prominent, clearly labeled, and continuously available throughout the withdrawal period, not hidden after checkout. In practice that means a persistent, easy-to-find entry point, for example in the customer account area and reachable from relevant pages, so a consumer can start a withdrawal at any point during the 14 days.
Does a missing withdrawal button extend the return period to 12 months?
Not by itself. The standard 14-day withdrawal period still applies. The up-to-12-month extension is a separate, older rule that applies when a trader fails to give consumers the required information about their right of withdrawal. The button governs how consumers exercise that right online, not how long it lasts, though a missing button still carries fines and other penalties.
Which products are exempt from the withdrawal button requirement?
Contracts with no statutory right of withdrawal do not need the button. Typical exemptions include custom-made or bespoke goods, perishable goods, sealed hygiene or health products once unsealed, and sealed audio, video, or software once opened. If a store sells both returnable and exempt lines, it still needs per-product logic so the right of withdrawal is offered where it applies.
Getting your store compliant
The EU withdrawal button is now part of selling to European consumers, and the law itself is the simple part. What you need is a labeled entry point that stays available for the full 14 days, a clean two-step flow, a timestamped confirmation on a durable medium, exemption logic that is right per product, and a connection into the order and returns systems that actually process the cancellation. Get those wrong, and it brings fines and manual cleanup.
The law is the simple part. Getting a button that is genuinely compliant, connected to your order flow, and right for your platform is the work, and it is the part our team does every day. Let’s connect!

Share on: