Skip to content
Hynek Kraus
Update6 min read

The EU withdrawal button on Shopify: what the rule requires and how to build it

A new EU rule requires online stores to offer a clearly labelled withdrawal function, available for the whole withdrawal period. Shopify has no native feature for it. What Article 11a actually asks for, and how to build it properly on Shopify.

Hynek Kraus, Shopify developer and consultant
Hynek KrausShopify developer and consultant
Contents

EU consumers now have a new way to exercise the right of withdrawal: a clearly labelled withdrawal function inside the store itself. Withdrawing has to be a straightforward online action – not an email to support, a hunt through the FAQ or a form hidden in an account. The rule applies from 19 June 2026.

The catch for Shopify stores: there is no native feature for it. Shopify can cancel and refund orders, but those are tools the merchant uses in the admin. A withdrawal function that a customer can use on their own – including someone who checked out as a guest – has to be built. This article goes through what the rule asks for and how to build it properly on Shopify.

This is not legal advice

This article summarises the requirements as published and deals with the technical side – how to build the function on Shopify. National implementing laws can add detail, so confirm the requirements for the markets you sell into with a lawyer.

What does the rule actually require?

The requirement comes from Directive (EU) 2023/2673, which added a new Article 11a to the Consumer Rights Directive. It covers consumer contracts concluded at a distance through an online interface – a website or an app – where a right of withdrawal exists. For most online stores selling goods or services to consumers, that means their store.

The core requirements:

  • A clearly labelled entry point. The function is labelled with the words "withdraw from contract here" or an equally unambiguous formulation, and it has to be easy to find.
  • A two-step process. The consumer first fills in a short withdrawal statement, then submits it through a separate confirmation function, labelled "confirm withdrawal" or something equally clear.
  • Limited information. The consumer provides or confirms their name, details identifying the contract, and the electronic means by which they want to receive the confirmation.
  • An acknowledgement on a durable medium. The trader sends an acknowledgement of receipt – in practice an email – including the content of the withdrawal and the date and time it was submitted, without undue delay.
  • Available the whole time. The function must be continuously available throughout the withdrawal period, not just right after the purchase.
Which date applies to you

Member states had to transpose the directive by 19 December 2025 and apply it from 19 June 2026. Not all of them were on time, and the obligation reaches a store through the implementing law of each country it sells to. If you sell into several markets, check the status in each rather than assuming a single European date.

The rule is tied to selling to EU consumers, not to where the business is registered. A store based outside the EU that targets EU customers is in scope as well.

Why Shopify cannot do it out of the box

Shopify has tools for returns, cancellations and refunds, but they are built for the merchant working in the admin, or for customers who are logged into an account. What is missing is exactly what the rule asks for: a public, clearly labelled path to withdraw that works without logging in, with a confirmation step and an automatic acknowledgement.

"Without logging in" is the heart of it. Many stores never ask shoppers to create an account. If the withdrawal function lived only inside the customer account, guest customers would have nowhere to click – and withdrawal would be anything but as easy as ordering. So the solution has to sit outside the login.

How to build it on Shopify (three entry points)

In practice there are three places to offer it, and they work best combined:

  1. A public page with a form – the foundation. A page such as /pages/withdraw linked from the footer, the order confirmation email and the order status page. The customer identifies the order (order number and email) and submits the withdrawal. It works for guests.
  2. On the order status page. A "withdraw from contract here" link straight on the page customers reach from their confirmation email. Since August 2026 that page is customised through extensions rather than scripts – the background is in the article on the end of Additional Scripts.
  3. In the customer account – as an extra, not the only route. Customers with accounts appreciate it; on its own it fails every guest.

The safest combination is a public page with a form, linked from the footer and the confirmation email, with an optional entry point in the account.

The two steps and the acknowledgement email

A good flow follows the rule's structure exactly:

  • Step 1 – the statement: the customer opens the page through the "withdraw from contract here" link and fills in their name, order number and email.
  • Step 2 – confirmation: a separate "confirm withdrawal" button submits it. Nothing is final before that click.
  • Acknowledgement: the system immediately sends an email that restates what was submitted and when – date and time included – and records the request internally, so it does not get lost.

On Shopify the acknowledgement email and the internal record can be handled with Shopify Flow or a small custom app behind the form: the submission creates an event, the confirmation goes out, and the order gets tagged for your team. How I build automations like this is on the automation and AI page.

The button adds to your obligations, it does not replace them

Your existing withdrawal information – the withdrawal period, how to withdraw and the model withdrawal form – stays. The new function is an additional route, not a substitute for the information you already have to give.

What to watch out for

  • Do not hide it. The link belongs where people see it: the footer, the confirmation email, the order status page. A route of account → orders → help → contact does not meet the requirement.
  • Keep it available for the whole period. Customers can withdraw throughout the statutory withdrawal period, and the function has to work for all of it.
  • Handle the exceptions in content, not by hiding the button. Some purchases carry no right of withdrawal – made-to-measure goods, perishables, sealed hygiene items once opened. Explain that in your terms and on the page, rather than removing the route.
  • Make the acknowledgement durable. An on-screen message alone is not enough; send the email with the date and time.

What to do now

The rule already applies, and the build is small: a public page, a two-step form and an automated acknowledgement can typically be in place within days. Doing it properly also tidies up how you handle returns in general, which pays off on its own.

If you want it built on your store, this is exactly the kind of custom work I do under custom development.

Common questions

What else people ask

Since when does the withdrawal button apply?

The directive required member states to transpose the rules by 19 December 2025 and to apply them from 19 June 2026. Not every country implemented it on time, so the date that actually binds your store in a given market is set by that country’s implementing law. Check the markets you sell into rather than assuming one European date.

Does Shopify offer this natively?

No. Shopify’s built-in cancellation and refund tools are used by the merchant from the admin. There is no ready-made withdrawal function that a customer can use on their own, including without an account. It is built as a custom page and form with an automated acknowledgement.

Does it have to work without logging in?

In practice, yes. The rule is about making withdrawal as easy as the purchase was, and many stores let people buy without an account. A function that only exists inside the customer account would leave guest customers without a way to use it. A public page with a form, where the order is identified by number and email, is the safer design.

Does it apply to stores outside the EU?

It is tied to selling to consumers in the EU, not to where the business is based. A trader outside the EU that directs its offer at EU consumers falls under the same Consumer Rights Directive rules.

Is this article legal advice?

No. It summarises the requirements as published and focuses on the technical side – how to build the function on Shopify. National implementing laws can add detail, so confirm the requirements for your markets with a lawyer.

Working on your store?

Let us talk it through

Tell me what you are dealing with. You get a specific take within 24 hours, not a template.

Would rather not fill anything in? Write straight to ahoj@hynekkraus.cz

  1. 01You fill in a short form. It takes two minutes.
  2. 02Within 24 hours I reply with a first written read on it. Free.
  3. 03What happens next is your call. I will not chase you.