← Blog
shopifyhow-tocompliance

How to Add an EU-Compliant Withdrawal Button to Your Shopify Store

Sebastian Stoll · · 3 min read

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:

  1. A visible, self-service button that opens an online withdrawal flow.
  2. Item-level selection so the customer can withdraw all or part of an order.
  3. 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:

  1. Open the UndoPortal listing and click Start free.
  2. Approve the Shopify install — standard OAuth, no theme code to touch.
  3. 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.

Add a compliant withdrawal button to Shopify — start free →