Blog · Shopify

Withdrawal button deadline 19 June 2026. What Shopify shops need to know.

If you run a Shopify shop selling to EU consumers, 19 June 2026 is the day your theme gets a new button. Or you have a problem. Here is what the law wants and how you implement it in Shopify.

What this is about, in two sentences

EU Directive 2023/2673 (adding Article 11a to the Consumer Rights Directive 2011/83/EU) requires every B2C online shop in the Union to provide a withdrawal button. The obligation applies across the EU from 19 June 2026, with each member state transposing it into national law. No transition period, no grace window.

This hits Shopify merchants especially hard, because Shopify itself offers no native solution and most themes do not ship the button. You have to add it yourself.

The two-step process the law prescribes

Step 1 is a button in the navigation or footer. It reads “Withdraw from the contract”. The legislative explanatory memorandum names this exact wording as the reference. You may rephrase it, as long as the meaning stays unambiguous. Every creative deviation raises the warning-notice risk.

Step 2 is the form that opens when someone clicks step 1. Two mandatory fields: name and one means of contact (email or phone). Two optional fields: order reference and a free-text field. The completion button reads “Confirm withdrawal”.

The shop may not require a login. Forcing someone to log in first before exercising their statutory right of withdrawal breaches the Directive.

Confirmation of receipt on a durable medium

After the submit, a confirmation of receipt must follow. The law says “without undue delay”. In practice that means seconds, not hours. The confirmation must contain the full wording of the withdrawal declaration, plus the date and time of receipt.

The format must be a “durable medium”. An email satisfies this. A brief toast banner in the browser does not, because it is gone once the tab closes.

What happens if the button is missing

Two mechanisms kick in at the same time. First: competition associations and consumer-protection bodies scan shops for missing buttons. A formal warning notice typically costs between €500 and €2,000, more for repeated breaches.

Second: the withdrawal period extends automatically to twelve months and fourteen days. A customer who orders in July 2026 can withdraw until July 2027. Each of those returns is a real cost hit, and none of your financial planning has accounted for it.

Why Shopify shops have a special problem

Shopify is a closed platform. You cannot just edit a PHP file like in WooCommerce. You work with Liquid templates, theme sections and app embeds. That means two realistic paths.

Path A: you build the button directly into your theme. You edit theme.liquid, add a section or a snippet, register your own route for the form and write server-side handler logic in an app. That is feasible, but you are then responsible yourself for hosting, mail delivery, rate limiting and retention.

Path B: you use a widget loaded via a script tag. Shopify allows script tags through Theme App Embeds. You enable the embed once in the theme editor, and the button appears automatically in navigation or footer. This is the path we operate.

Installation in Shopify via Theme App Embed

A Theme App Embed is a special app extension that Shopify has supported since Online Store 2.0. It loads a script without you having to touch theme code. The merchant clicks “App embeds” in the customizer, flips the toggle, and is done.

With WiderrufButton it looks like this: you register your shop domain in the dashboard, get a widget key, done. The widget loads in the Shadow DOM, does not collide with your theme CSS, sets no cookies and stays under 15 KB gzipped.

The step-by-step variant with code is in our withdrawal-button guide. If you would rather read the product page: see Withdrawal button.

What must be done by 19 June

Button in navigation or footer, reachable without scrolling. Form with the two mandatory fields. Confirmation of receipt by email, with the full withdrawal content and a timestamp. An address in your legal notice through which queries are possible. And most importantly: the button must stay available throughout the entire withdrawal period, so at least fourteen days from receipt of the goods.

Anyone who today runs a shop where a customer can only withdraw via a contact form is not compliant. The old rule was “in text form”. The new rule says “button”. That is a difference, and the difference is the button.

Common misconceptions among Shopify merchants

“But I have Shopify’s withdrawal page in my legal texts.” That is a static text, not a button. The law requires an interaction that triggers a withdrawal declaration.

“My theme has a contact button.” A contact button is not a withdrawal button, because it is neither labelled as one nor does it generate a formalised withdrawal declaration.

“I’m small, this doesn’t apply to me.” The obligation applies to every B2C shop, regardless of revenue or headcount.

Five-minute install, ready by June

WiderrufButton activates in Shopify via Theme App Embed. No theme code, no CSS conflict, no extra infrastructure.

Start free now

14 days free • No credit card required