How to Add an EU-Compliant Withdrawal Button to Your Shopify Store
You know the withdrawal button becomes mandatory on 19 June 2026. This guide covers the practical part: how to actually add a compliant one to your Shopify store, what to test, and the mistakes that quietly leave you non-compliant.
What "compliant" actually means
Before installing anything, know what the button must do. A compliant Shopify withdrawal flow needs three things working together:
- A visible, self-service button that opens an online withdrawal flow.
- Item-level selection so the customer can withdraw all or part of an order.
- A durable confirmation — an email receipt and an audit record of the request.
If any one of these is missing, you are not compliant — even if you have "a
button." A button that just opens a mailto: link is the most common trap.
Option A: Install a purpose-built portal (recommended)
The fastest route is a dedicated app that handles all three requirements. With UndoPortal:
- Open the UndoPortal listing and click Start free.
- Approve the Shopify install — standard OAuth, no theme code to touch.
- The withdrawal button and self-service portal appear on your storefront, in your customer's language.
That's roughly 10 minutes, and the confirmation email + audit trail are included out of the box. There is a free plan, so you can verify compliance before paying anything.
Prefer not to touch settings at all? UndoPortal offers a done-for-you install — they set it up and you just approve.
Option B: Build it yourself
If you have engineering capacity, you can build it. Budget for:
- A storefront entry point (theme app extension or block).
- An authenticated flow that looks up the order and lists withdrawable items.
- Transactional email for the durable acknowledgement.
- A persisted, timestamped audit log of every withdrawal request.
- Localisation for each EU market you serve.
This is realistic, but it is weeks of work plus ongoing maintenance — and the deadline is fixed.
What to test before you call it done
Regardless of how you add the button, verify:
- The button is visible without logging in and reachable from order pages and the footer.
- A customer can select specific items from an order.
- Submitting triggers a confirmation email to the customer.
- The request is logged with a timestamp you can retrieve later.
- The flow works in every language your store sells in.
- The button stays available for the full 14-day window.
Common mistakes that leave you non-compliant
- A
mailto:"button". This is a form, not a function — it doesn't meet Article 11a. - No durable acknowledgement. A success toast that disappears is not a durable medium; you need an email or stored receipt.
- No audit trail. If you can't show when a request was made, you can't prove you honoured the 14-day window.
- English-only flow on a store that sells across the EU.
Get it live before 19 June 2026
The deadline doesn't move, but the work is now small. The simplest path is to install a portal that's compliant by design and be done in an afternoon.