The EU Withdrawal Button Is Live: What WooCommerce Stores Must Do Now

Illustration of the EU withdrawal button flow: a store page with a withdrawal button, an arrow to a confirmation screen with a checkmark, an email acknowledgement envelope, and a 14-day badge.

If your store sells to anyone in the European Union, there is a button you are now legally required to put on your website. Most WooCommerce and Shopify stores still do not have it.

Since 19 June 2026, EU law has required online traders to give consumers a dedicated withdrawal function: a clearly labelled button, continuously available throughout the withdrawal period, leading to a two-step confirmation flow and an automatic acknowledgement by email. It is not a returns policy page. It is not a contact form. It is a specific, prescribed piece of interface.

WooCommerce shipped its own answer on 1 September 2026 in version 11.1, a core feature called Order Withdrawal. It helps. It does not, by itself, make you compliant — and the gap between what the feature does and what the law asks for is where most stores will get caught. This guide covers what the rule actually says, how to switch the WooCommerce feature on, precisely where it stops short, and what Shopify merchants should do instead.

Quick Answer

  • What changed: a new Article 11a in the EU Consumer Rights Directive (2011/83/EU) requires a withdrawal function on online interfaces. It applies from 19 June 2026.
  • Who it binds: any trader offering distance contracts to EU consumers, regardless of where the business is established. A US or Indian store that ships to Germany is in scope.
  • What you need: a prominent button labelled “withdraw from contract here” or an unambiguous equivalent; a form capturing the consumer’s name, contract details and contact address; a separate “confirm withdrawal” button; and an acknowledgement on a durable medium with the date and time of submission.
  • On WooCommerce: update to 11.1 or later, then enable WooCommerce → Settings → Advanced → Features → Order Withdrawal. It is off by default.
  • On Shopify: there is no dedicated built-in withdrawal button. Shopify points merchants at self-serve returns and cancellation rules, plus a link you add yourself.
  • Biggest gotcha: enabling the WooCommerce feature does not add the prominent link the law requires, and the built-in 14-day warning counts from the order date rather than the delivery date.

What Actually Changed on 19 June 2026

The requirement comes from Directive (EU) 2023/2673, which inserted a new Article 11a into the Consumer Rights Directive. Member States had to transpose it by 19 December 2025 and apply it from 19 June 2026.

There is a reason so many general retailers missed it. Directive 2023/2673 is, on its face, about the distance marketing of consumer financial services. But the withdrawal-function article it created was placed in the general Consumer Rights Directive, which governs ordinary online sales of goods, services and digital content. So a rule that looks like banking regulation lands squarely on anyone selling t-shirts into Belgium.

Article 11a sets out a sequence rather than a single control:

Five-step infographic of the EU Article 11a withdrawal function: the labelled button, continuous availability, the withdrawal statement, a separate confirm step, and a timestamped receipt on a durable medium.
The five things Article 11a asks for, in the order a customer meets them.
RequirementWhat Article 11a saysWhat that means on your site
The buttonTraders offering distance contracts through an online interface must provide a withdrawal function, labelled “withdraw from contract here” or an unambiguous corresponding formulation, in an easily legible wayA visually distinct button — not a plain text link buried among footer links
AvailabilityContinuously available throughout the withdrawal period and prominently displayed on the online interface, easily accessible to the consumerA footer link generally works, because it appears on every page. No login wall
The statementThe consumer must be able to supply their name, details identifying the contract, and electronic contact details for the confirmationName, order number, email address — the minimum data set
The confirmation stepA separate confirmation function, labelled “confirm withdrawal” or equivalent, to submit the statementA review screen plus a second, explicit button. One click is not enough
The receiptThe trader must acknowledge receipt on a durable medium without undue delay, including the content of the statement and the date and time of submissionAn automatic email that echoes what was submitted and timestamps it

Note the timestamp obligation. A generic “we got your message” auto-responder does not satisfy it. The acknowledgement has to reflect the content of the withdrawal statement and when it was sent, because that timestamp is what fixes whether the consumer withdrew inside the period.

Does This Apply to Your Store?

The obligation does not depend on where your business is registered. What matters is whether you direct your commercial activity at consumers in the EU. Law firm K&L Gates notes that the rule reaches non-EU sellers that “actively market to, ship to, or otherwise on purpose contract with consumers located in the European Union.”

Decision flowchart: do you sell to consumers at a distance, do you target EU consumers, and does anything you sell carry a withdrawal right — any No takes the store out of scope.
Three questions settle it for most stores. The detail is in the table below.
In scopeOut of scope
B2C stores selling goods, services or digital content at a distance to EU consumersPure B2B trade, where no statutory consumer withdrawal right exists
Non-EU merchants with EU-language storefronts, euro pricing, EU shipping options or EU-targeted adsBrochure sites and catalogues where no contract can be concluded online
Mobile apps and any other online interface used to conclude the contractContracts concluded entirely offline, in a physical shop
Marketplaces and subscription businesses selling in their own nameCategories excluded from the withdrawal right altogether (see below)

The UK is not covered — it left the EU before this directive — but UK sellers shipping into the EU are. If you are weighing platforms while you sort this out, our comparison of Shopify vs WooCommerce covers how each handles compliance tooling more broadly.

How to Enable Order Withdrawal in WooCommerce 11.1

WooCommerce 11.1 was released on 1 September 2026 with 561 pull requests from 77 contributors, according to the official release notes. Order Withdrawal is one of the headline additions, and it is disabled by default.

  1. Update to WooCommerce 11.1 or later. The feature does not exist in earlier versions. Take a backup and test on staging first — 11.1 runs a database update to version 11.1.0-1.
  2. Go to WooCommerce → Settings → Advanced → Features and switch on Order Withdrawal, then save.
  3. Check the endpoint. The customer-facing form lives at /my-account/withdraw-order. You can rename the endpoint under WooCommerce → Settings → Advanced → Page setup. If you rename it, flush permalinks by resaving Settings → Permalinks.
  4. Open the page in a private window while logged out. This is important: the page is designed to work whether or not the customer is signed in, so a guest checkout shopper can still reach it. Confirm it renders without an account prompt.
  5. Add a prominent, correctly labelled link. WooCommerce does not do this for you. Put a visually distinct button in your site footer — a Buttons block inside your footer template part works — with text along the lines of “Withdraw from contract here.”
  6. Submit a test request. Use a real order number and its billing email. Check that an order note appears on the order, that you receive the merchant email, and that a WooCommerce Inbox note is created.
  7. Read the acknowledgement email your customer receives. Confirm it contains the submitted details and a timestamp. If you need to adjust wording or branding, see our guide to customizing WooCommerce email templates.
  8. Write the internal process down. Decide who checks these requests, within what window, and how a valid withdrawal becomes a refund.

The form itself asks for first and last name, email address (entered twice), order number, a full-or-partial withdrawal choice, and an optional free-text field for describing specific items. Customers see a review step before final submission. Where the order number and billing email match an existing order, the request is attached to that order as a note; where they do not match, the request is still acknowledged but flagged for manual review.

Where the Built-In Feature Stops

WooCommerce is candid about this. Its engineering post on the feature states plainly that it does not guarantee compliance and that store owners should take their own legal advice. Here is the honest gap analysis.

Two-column comparison of what WooCommerce 11.1 Order Withdrawal handles automatically against the prominent button, market wording, delivery-date eligibility, refund process and fraud controls merchants must add themselves.
WooCommerce 11.1 gives you the form. The flow around it is still your job.
Article 11a requirementWooCommerce 11.1 out of the boxWhat you still have to do
Prominent, continuously available buttonCreates an account endpoint; adds no site-wide linkAdd the footer button yourself and keep it on every page
Statutory labelThe link text follows your menu or endpoint titleSet the visible label to “Withdraw from contract here” or your market’s required wording
Name, contract details, contact addressCollectedNothing
Separate confirmation functionReview step before final submissionVerify your theme renders the second step clearly
Acknowledgement on a durable medium with timestampCustomer acknowledgement email is sentRead the actual email and confirm the timestamp is present and legible
Effect of a valid withdrawalNo status change, no cancellation, no refundBuild the human process: verify, refund, restock
Correct withdrawal windowWarns when an order is older than 14 days, counted from order placementJudge eligibility from the delivery date, not the order date

The 14-Day Clock Problem

This one deserves its own heading, because it is the most likely way a well-intentioned store gets the law wrong.

Two timelines comparing WooCommerce counting 14 days from the order date against Article 9(2) counting 14 days from delivery, showing an eleven-day window where the store wrongly says the right has expired.
An order placed 1 Sep and delivered 12 Sep is still withdrawable until 26 Sep. WooCommerce warns from 15 Sep.

WooCommerce shows an informational warning when a submitted order is more than 14 days old, and the official documentation confirms that it counts from the date the order was placed. Article 9(2) of the Consumer Rights Directive says something different: for sales contracts, the 14-day period starts on the day the consumer — or a third party other than the carrier — acquires physical possession of the goods. For multi-item or multi-lot orders, it runs from the last item received. Only for service contracts and for digital content not supplied on a tangible medium does the clock start at conclusion of the contract.

So an order placed on the 1st and delivered on the 12th still has until the 26th. WooCommerce’s warning would fire on the 15th. Telling a consumer they are out of time when they are not is a worse failure than having no button at all, so treat that message as a prompt to check, never as a verdict. If your fulfilment is slow or you ship internationally, consider rewording or removing it.

What Happens If You Do Nothing

Two consequences are worth planning around. First, national consumer protection authorities can order you to stop the infringement and impose administrative fines; Crowell & Moring notes that levels vary by Member State but may be substantial, and that cross-border cases can be pursued jointly.

Second, and more expensive in practice: the withdrawal period may not start running at all. Under Article 10(1) of the Consumer Rights Directive, if a trader fails to give the consumer the required information about the right of withdrawal, the period is extended by twelve months from the end of the original one. Several firms advising on Article 11a expect a missing or non-compliant withdrawal function to be treated the same way. That turns a 14-day exposure into a year of open cancellation rights across every EU order you took — a real balance-sheet risk, not a paperwork one.

In Germany, the rule was transposed as section 356a BGB, in force from the same date, with the button label “Vertrag widerrufen” and the confirmation labelled “Widerruf bestätigen.” German practice around warning letters means non-compliant shops there are likely to hear about it quickly. Belgium, by contrast, had not adopted national measures by the application date. Assume your obligations vary by market and check each one you actively sell into.

What Shopify Merchants Should Do

Shopify has not shipped an equivalent one-switch feature. Its help centre guidance on EU right of withdrawal directs merchants to the platform’s existing return and cancellation rules — self-serve returns, return windows, cancellation rules and market-specific policies for the EU — and is explicit that the merchant is responsible for providing the mechanism itself: a clearly labelled button or link that customers can easily find, a two-step confirmation that captures name and order details, and an automatic email confirmation on a durable medium.

Practically, that means one of three routes: a dedicated app from the Shopify App Store built for this requirement, a custom page plus form linked from your footer, or extending your existing self-serve returns flow so it meets the labelling and confirmation rules. Whichever you choose, the acceptance test is the same list in the table above. Adobe Commerce, BigCommerce and Wix merchants are in the same position: check your platform’s current guidance rather than assuming a core feature exists.

Common Mistakes to Avoid

  • Treating the returns page as the button. A returns policy explains rights. Article 11a requires a function that exercises them. They are different things and you need both.
  • Using the words “cancel” or “return” on the button. The law asks for “withdraw from contract here” or an unambiguous equivalent. In Germany, deviations such as “return” or “cancellation” are specifically flagged as non-compliant.
  • Hiding it behind a login. Guest checkout customers have the same rights. WooCommerce got this right by keeping the page open; do not undo it with a members-only footer.
  • Making the reason field mandatory. Article 9(1) gives consumers the right to withdraw without giving any reason. Ask if you like, but never require it.
  • Auto-cancelling on submission. A withdrawal statement is a declaration, not a verified instruction. Anyone can type an order number. Verify the billing email match before you refund.
  • Forgetting the acknowledgement timestamp. The date and time of submission is the whole evidentiary point of the receipt.

Advanced Considerations

Not Every Product Carries a Withdrawal Right

Article 16 of the Consumer Rights Directive removes the right of withdrawal for a defined list, including custom-made or personalised goods, perishables, sealed hygiene items once unsealed, sealed audio, video or software once unsealed, newspapers and magazines outside subscriptions, goods whose price depends on market fluctuations you do not control, accommodation, transport, car rental and catering tied to specific dates, and fully performed services or digital content supplied with the consumer’s prior express consent and acknowledgement that the right is lost.

If your entire catalogue falls inside those exceptions, the withdrawal function requirement does not bite. For most stores, the mix is partial — which is an argument for keeping the button visible and handling eligibility in the response, rather than trying to filter at the form.

Fraud, Spam and Data Protection

An unauthenticated form that accepts an order number and an email address is an obvious target for abuse. Add rate limiting or a privacy-respecting challenge, and make sure your process treats an unmatched request as a review item, not an instruction. You are also collecting personal data from people who may not be logged in, so the form belongs in your records of processing and your privacy notice. Our guide to WooCommerce GDPR compliance covers the retention and consent side of that.

Connecting It to Refunds

Because the feature deliberately stops short of touching order status, the operational work is yours. Map the path from a valid withdrawal to a processed refund before you switch the button on, not after the first request lands. Our walkthroughs on handling returns and refunds on your WooCommerce store and managing refunds in WooCommerce cover the mechanics, and reviewing how to view and manage WooCommerce order details will help whoever picks up these requests find the order note quickly.

If You Also Sell Energy-Related Products

Withdrawal is one of several EU obligations that bite at the product page and the checkout. If your catalogue includes appliances or electronics, our guide to the EU energy label in WooCommerce covers a requirement that often lands on the same stores.

Frequently Asked Questions

I only get a handful of EU orders a year. Do I still need this?

Yes. There is no small-business exemption and no order-volume threshold. If you accept orders from EU consumers, the obligation applies. The only genuine escape is not targeting EU consumers at all — and blocking EU shipping while running euro pricing and EU-language pages is unlikely to convince a regulator.

Where exactly should the button go?

The footer is the usual answer, because it renders on every page and therefore satisfies “continuously available.” Make it visually distinct from surrounding footer links — a button, a contrasting colour, or a larger weight. A plain text link lost among twenty others is the failure mode regulators have called out. Adding it to the My Account area as well is sensible, but the account area alone is not enough.

Side-by-side footer wireframes: a compliant distinct orange withdrawal button versus a non-compliant plain text link lost among other footer links.
Same footer, same words. Only the left one is a withdrawal function.

Does the withdrawal button replace my returns process?

No. Withdrawal is a statutory right to unwind the contract; returns are how the goods come back and how you handle goodwill cases outside the statutory period. Keep both. Most stores will find the withdrawal function feeds into the same refund queue.

Can I ask the customer to confirm they have not used the product?

Not as a condition of accepting the withdrawal. Consumers may handle goods as they would in a shop; excessive handling affects what you may deduct, not whether they can withdraw. Keep the form to the statutory data and deal with condition at the return stage.

What if a request does not match any order?

WooCommerce still acknowledges it and flags it for manual review. Check your records before rejecting — mismatches are commonly a typo in the order number or a purchase made under a different email. Reply either way, because the acknowledgement obligation attaches to the statement, not to your assessment of it.

Is WooCommerce’s Order Withdrawal feature enough on its own?

No, and WooCommerce does not claim it is. It gives you the form, the acknowledgement email and the merchant notifications. You still have to supply the prominent labelled entry point, the correct wording for your markets, and the process that turns a valid withdrawal into a refund.

The Next Thing to Do

Open your store in a private browsing window right now and look at the footer. If there is no clearly labelled withdrawal button there, you have the gap. On WooCommerce, closing it is roughly a thirty-minute job: update to 11.1, enable the feature, add the footer button, send one test request, and read the email your customer would get. The harder half — deciding who reviews requests and how fast a valid withdrawal turns into money back — is worth writing down on the same day.

If you run several EU markets, do the label check per market before you call it finished. That is where the version differences live.

Sources

Verification note: all legal dates, statutory wording and platform behaviour in this article were checked against the primary sources above on 11 September 2026. National transposition is still moving in some Member States, WooCommerce’s Order Withdrawal feature is new in 11.1 and may change in later releases, and Shopify’s guidance is updated periodically. Re-check before relying on any specific detail. This article is general information for store operators, not legal advice.