Adding a withdrawal button in Shopify — step by step (2026)
Step by step: how to integrate a compliant withdrawal button into your Shopify store – three ways compared, common mistakes and a compliance checklist.
With over 4.6 million active shops worldwide, Shopify is one of the most popular e-commerce systems – and from 19 June 2026, Shopify merchants too are required to provide a compliant withdrawal button under the EU-wide rule (Art. 11a of Directive 2011/83/EU; in Germany § 356a BGB). This guide shows you in five minutes how to add the withdrawal button to your Shopify store – without coding skills and without an expensive agency.
Why Shopify merchants are particularly affected
Shopify is a SaaS platform with a closed theme system. Unlike WooCommerce or Shopware, you cannot simply install a plugin from a directory and hope for a ready-made solution. Instead, you either have to wait for an app from the Shopify App Store, adapt your theme, or embed an external widget via a script tag. Each of these options has its own pitfalls that you should be aware of before investing development time or money.
On top of that: many Shopify stores use a central theme without a classic footer navigation. But the withdrawal button must, under the law, be accessible „without scrolling“ and „throughout the entire withdrawal period“. That requires clean placement that works on product, category and checkout pages alike. The checkout page in particular is a special case in Shopify, because on non-Plus shops it cannot be freely edited and classic theme apps do not take effect there.
Another point: the official Shopify documentation on the right of withdrawal is still geared towards the US and Canada. For the European market there is no native solution in the admin area – you as the merchant must organise compliance yourself. Anyone waiting for an official Shopify feature risks missing the 19 June 2026 deadline.
Shopify operators with EU customers are subject to EU law – regardless of whether the shop is hosted by Shopify Inc. in Canada. The 19 June 2026 deadline applies to you too.
Three ways to implement it on Shopify
In principle, you have three options for integrating a withdrawal button into Shopify. Each has its own pros and cons.
Way 1: Native Theme App Extension (recommended)
Since Shopify 2.0, apps can provide so-called Theme App Extensions that fit seamlessly into the theme editor. The advantage: you can place the withdrawal button via drag-and-drop in the Shopify editor without touching a single line of Liquid code. Updates happen automatically through the app provider, and new versions land in your store within a few minutes.
This option is especially suited to merchants who do not want to take any risk with theme updates. If you update your theme or switch to a new version, the withdrawal function remains intact. Downside: you are tied to the app provider and can adjust the behaviour only within the configuration options offered. For most merchants, though, that is exactly the right amount of flexibility – no tinkering, but still full control over colour, position and text.
Way 2: App Store solutions compared
A look at the Shopify App Store shows: the market for withdrawal solutions is still young. Most available „withdrawal“ apps date from before the legal change and only cover the classic withdrawal via PDF form. When choosing, look for the following features:
- Two-step process: step 1 „Withdraw from contract“, step 2 „Confirm withdrawal“ – both labels must exactly match the statutory wording
- Automatic acknowledgement of receipt by email: mandatory under the law (in Germany § 356a(3) BGB)
- No customer account required: the withdrawal must not be hidden behind a login
- GDPR-compliant data processing: a data processing agreement (DPA) with the provider must be in place
- EU server location: particularly important after the Schrems II ruling
Way 3: Script tag for advanced users
If you want maximum flexibility, embed the withdrawal button via a script tag directly in the theme. This is the option that WiderrufButton primarily supports: a single script tag is inserted in the Shopify theme editor (Online Store → Themes → Edit code → theme.liquid) before the closing </body> tag. The button appears automatically in the footer – regardless of the theme used.
The big advantage of this approach: you are not dependent on the Shopify App Store and can use the withdrawal button just as well in a headless commerce setup with Hydrogen as in a classic Shopify 2.0 theme. The script loads asynchronously, does not block your page rendering and, at under 15 KB gzipped, is smaller than most marketing scripts that already run in a typical Shopify store. Even if you later switch themes, you only need to re-insert the script once.
Step by step with WiderrufButton
The following guide shows how to set up WiderrufButton in your Shopify store in under five minutes.
Step 1: Create a WiderrufButton account and add your shop
Register at widerrufbutton.net with your email address. After the magic-link login, click „Add shop“ in the dashboard and enter the name and domain of your Shopify store (e.g. my-shop.myshopify.com or your custom domain). You immediately receive a unique widget key.
Step 2: Insert the widget key into the Shopify theme editor
In your Shopify admin, open the Online Store → Themes section. On the active theme, click the three dots and choose Edit code. In the file list on the left, open layout/theme.liquid. Copy the script tag provided in the WiderrufButton dashboard and paste it directly before </body>. Save.
Step 3: Activate the footer position and adjust the styling
Back in the WiderrufButton dashboard, under „Widget configuration“ choose the position „Footer“ (recommended for Shopify) or alternatively „Fixed bottom right“. Using the colour picker, adjust the button to your brand colours – the live preview shows immediately how the button will look on your site.
Step 4: Run a test submission and check the acknowledgement of receipt
Open your shop in an incognito window and scroll to the footer. Click „Withdraw from contract“, fill in the form with test data and submit it. Within a few seconds you should receive two emails: an acknowledgement of receipt to the customer address entered in the form, and a notification to your shop email address.
Also check that the acknowledgement of receipt contains all mandatory information: the full content of the withdrawal declaration, the date and time of receipt, the order reference (if provided) and a note on how the customer can reach you for queries. Only then do you meet the legally required confirmation „on a durable medium“. Keep the screenshot of the test confirmation for your compliance documentation.
Common mistakes in the Shopify integration
- Wrong placement in the header without a footer fallback: not every Shopify theme shows the header in full on all pages – the footer is the safe choice
- Script tag only on the home page: if you insert the script in a section instead of
theme.liquid, you do not cover all pages - Forgetting to enter the custom domain: otherwise the CORS protection blocks requests from your main domain
- Missing translation in multilingual stores: for a given market the button must carry the correct local label
- Testing only in the theme editor preview: preview mode suppresses some scripts – always test on the live shop
Compliance checklist after installation
- Button reachable in the footer, visible without scrolling on mobile devices
- Step 1 label reads „Withdraw from contract“
- Step 2 label reads „Confirm withdrawal“
- No login required to submit the withdrawal
- Automatic email acknowledgement of receipt within a few seconds
- Test submission carried out on desktop, tablet and smartphone
- GDPR-compliant DPA concluded with the provider
You can find more legal background in our article § 356a BGB simply explained.
Conclusion
Adding a compliant withdrawal button to Shopify need not be expensive or complicated. With a clean script tag and the right configuration, you meet the legal requirements in under five minutes. The key is to act in good time before the 19 June 2026 deadline – enforcement associations will watch the market from day one. Anyone who installs the button only in June risks a warning letter within the first days after the rule takes effect.
For most Shopify merchants, the script-tag route is the most pragmatic solution: quick to install, theme-independent, automatically up to date, and with clear legal responsibility on the provider’s side. If you also need to operate the cancellation button (in Germany under § 312k BGB, e.g. for subscription models), we recommend keeping the two buttons clearly separate and not combining them in an all-purpose solution – the legal requirements are too different. A detailed comparison can be found in our article on the withdrawal button versus the cancellation button.
More articles
Adding a withdrawal button in Wix – step-by-step guide (2026)
How to add the legally required withdrawal button to your Wix shop – step by step, without code.
Withdrawal button checklist: compliant by 19 June 2026
Five steps to make your shop compliant by 19 June 2026 – compact as a checklist.