How to Set Up the EU Withdrawal Button in Shopify
Setting up the Zentric EU Withdrawal Button in Shopify takes six steps: install the app from the Shopify App Store, approve the plan, complete onboarding and accept the data processing agreement, choose how confirmation emails are sent, configure your settings, and add the button to your storefront. Then you run one test withdrawal against a real order to confirm the whole chain works.
This guide walks through every step in order, including both ways to show the withdrawal option in your storefront: the theme app block and the app embed with a navigation link. No theme code required for either one.
If you are still deciding whether you need a withdrawal function at all, start with our breakdown of the compliance gap most Shopify merchants miss. Short version: since 19 June 2026, EU rules under Directive 2023/2673 expect online shops to offer consumers a withdrawal function directly in the store, and the deadline has already passed. This article is about the practical part: getting the button live in your shop today.
One caveat before we start: this is documentation for the app setup, not legal advice. Your deadlines, exclusions, and customer-facing wording should be reviewed with your legal adviser.
What you need before you start
The list is short:
- A Shopify store with access to Shopify Admin. You need permission to approve app charges and to edit the theme.
- A theme that supports app blocks and app embeds. Modern Online Store 2.0 themes do.
- Your company details for onboarding: legal name, address, and how long you keep withdrawal records.
- Optional: SMTP credentials from your email provider, but only if you want confirmation emails sent from your own domain. The default platform email works without any setup.
That is it. You do not need a developer, and you will not touch a line of theme code.
Step 1: Install the app and approve the plan
Install the app from the Shopify App Store listing: Zentric EU Withdrawal Button.
Click Install, review the permissions, and confirm. Shopify then shows you the plan approval screen.
Pricing is straightforward: $9 per month or $99 per year, which saves 8%. Both start with a 7-day free trial. Billing runs entirely through Shopify. There are no off-platform charges, no setup fees, and you can review the plan, trial, and invoices in your Shopify Admin billing area at any time.
Approve the plan and Shopify sends you into the app.
Step 2: Complete onboarding and accept the data processing agreement
The app opens with a one-time onboarding flow. You will be asked to:
- Enter your company details as the data controller: legal name, address, registration number.
- Confirm how long withdrawal records are kept.
- Choose how confirmation emails are sent (more on this in Step 3).
- Accept the data processing agreement between your company and Zentric Digital ApS.
The data processing agreement is a real GDPR document, not a checkbox formality. It covers what data the app processes on your behalf: order number, customer email, selected items, and timestamps. Have your legal adviser review it before accepting, the same way you would with any processor agreement.
Once onboarding is complete, you land in the app dashboard.
Step 3: Choose how confirmation emails are sent
Every completed withdrawal triggers two emails: a confirmation to the customer and a notification to you, both with a PDF receipt attached. You have two options for how these are sent:
- Platform email (default). No setup required. Confirmations are sent for you, and you can move on to Step 4.
- Your own SMTP sender. Choose this if you want the emails to come from your own domain. Enter the SMTP host, port, username, password, from email, and reply-to email from your provider. Compatible providers include Brevo, Postmark, SendGrid, Mailgun, and any standard SMTP service.
If you configure SMTP, send a test email before going live. A typo in the SMTP password is the most common reason confirmation emails silently fail, and you want to find that now, not during a customer's withdrawal.
Step 4: Configure your settings
Before the button goes live, walk through the settings once. Four areas matter:
- Branding. Button label, colors, and design, so the withdrawal form matches your store.
- Email sender details. Sender name and reply-to address on the confirmation emails.
- Deadlines. The app checks a 14-day withdrawal deadline automatically, counted from delivery, fulfillment, or order date as fallback. Confirm the basis matches your shop policy.
- Exclusions. Some goods can be excluded from withdrawal. You can set rules by product, tag, vendor, or category. Configure them precisely: excluding too broadly is its own compliance problem.
The deadline and exclusion settings are exactly the ones your legal adviser should sign off on. The app enforces whatever you configure. It cannot decide your legal position for you.
Step 5: Add the withdrawal option to your storefront
Now the visible part. There are two ways to give customers access to the withdrawal form, and both lead to the same verified flow. Pick one, or use both.
| Option A: Theme app block | Option B: App embed + navigation link | |
|---|---|---|
| What it is | A button placed in a theme section | A site-wide embed opened from a menu link |
| Where it appears | Wherever you place the block, typically the footer | Any navigation menu: footer menu, main menu, help menu |
| Setup location | Theme editor, Sections | Theme editor, App embeds + Navigation |
| Best for | A visible button on every page | Stores that want a text link in existing menus |
Option A: The theme app block
- In Shopify Admin, open Online Store, then Themes, then Customize.
- Add the EU withdrawal button block to a section such as your footer.
- Configure the button label and design in the block settings.
- Save the theme.
The button now appears wherever you placed the block. The footer is the common choice because it shows on every page, which is exactly where customers look for anything policy-related.
Option B: The app embed and a navigation link
- In the theme editor, turn on the EU withdrawal link app embed.
- In Online Store, then Navigation, add a menu item that links to
#withdrawal. - Save the menu and the theme.
The #withdrawal anchor is the important detail. The app embed listens for that anchor, so any menu item pointing at it opens the withdrawal form. This option is useful when you want the withdrawal option to live inside an existing menu, next to your terms and privacy links, instead of as a standalone button.
Step 6: Run a test withdrawal
Do not skip this. A setup that looks right in the theme editor is not the same as a working end-to-end flow.
- Open your storefront and open the withdrawal form using the button or the navigation link.
- Enter a real order number and the matching order email to verify the order.
- Select an item and complete the request.
- Confirm that the confirmation email and PDF arrive, and that the request appears in the app under withdrawal records with a timestamp.
If all four checks pass, you are live. The whole setup, from install to verified test, typically fits inside an hour.
One practical note: use a real order for the test, because the app verifies order number and email against your actual Shopify orders. A made-up order number will correctly fail verification. That failure is the app doing its job.
What your customers see from now on
The customer-facing flow is deliberately simple:
- The customer clicks the withdrawal button or link and a form opens. No login, no customer account needed, so guest checkouts are covered.
- They enter their order number and the email they ordered with. The app verifies both against the order.
- They select the items the withdrawal applies to, the full order or individual line items.
- They confirm, and receive an email confirmation with a PDF receipt showing the exact receipt timestamp.
On your side, the request lands in the dashboard as a timestamped record with the selected items, status, and deadline. You can filter records, update the status as you process the withdrawal, and export everything to CSV. The storefront form, emails, and PDFs run in six languages: English, German, Danish, Spanish, French, and Dutch.
If you want the full picture of why the record-keeping side matters as much as the button, we covered what a missing or undocumented withdrawal process actually costs.
Troubleshooting: the three most common setup issues
The button does not appear in the storefront. For Option A, check that the block was added to a visible section and the theme was saved. For Option B, check two things: the EU withdrawal link app embed is turned on, and the menu item points at exactly #withdrawal, nothing more.
Order verification fails during the test. The order number and email must match the same real order. Copy the order number from Shopify Admin and use the exact email on that order. Watch for typos and for testing with a staff account email that differs from the order email.
Confirmation emails do not arrive. With platform email, check spam first. With your own SMTP, re-run the test email from settings; SMTP credentials are the usual culprit. Email delivery problems never block the withdrawal itself: the request is still recorded with its timestamp in the dashboard.
Stuck on something else? Email support@zentric.digital with your store domain and a short description or screenshot. First response is targeted within one business day.
FAQ: setting up the EU Withdrawal Button in Shopify
Do I need to edit my theme code to add the withdrawal button?
No. The button ships as a theme app block and an app embed. Both are added in the Shopify theme editor with clicks, not code. If you can add any section to your theme, you can add this.
How long does the setup take?
Install to verified test withdrawal typically fits inside an hour. The app steps themselves take minutes; budget the rest for reading the data processing agreement and deciding your deadline and exclusion settings.
What does the EU Withdrawal Button cost?
$9 per month or $99 per year, with a 7-day free trial. Billing runs through Shopify, and the current price is always shown on the Shopify App Store listing.
Can customers use it without a customer account?
Yes. The form verifies the order with order number and email only. Guest checkout customers keep full access to the withdrawal flow.
Which languages does the withdrawal form support?
English, German, Danish, Spanish, French, and Dutch, across the storefront form, the confirmation emails, and the PDF receipts. The form follows your storefront language.
Is installing the app enough to make my store compliant?
The app gives you a clear withdrawal function, verified requests, deadline checks, and timestamped documentation with PDF confirmations. It is designed to support EU withdrawal workflows, but it does not replace legal advice. Your wording, deadline basis, and exclusions should be reviewed for your market.
Key takeaways
- Six steps: install, approve the plan, onboarding plus data processing agreement, email method, settings, storefront trigger. Then one test withdrawal.
- Two storefront options: the EU withdrawal button theme app block (a visible button, usually in the footer) or the EU withdrawal link app embed with a menu item pointing at
#withdrawal. - Always test against a real order. Verification checks order number and email against your actual Shopify data.
- Platform email works with zero setup; own-domain SMTP is optional and should be test-mailed before going live.
- Deadlines and exclusions are settings you configure, and they are the settings your legal adviser should review.
Get the button live today
The gap between "we should handle withdrawals properly" and "the button is live and tested" is about an hour of focused setup.
Install the Zentric EU Withdrawal Button from the Shopify App Store, follow the six steps above, and run your test withdrawal. If you want the overview of features and pricing first, the EU Withdrawal Button page has both.
Questions during setup? support@zentric.digital. We answer within one business day.
Ready to Scale Profitably?
Book your free discovery call and let us map out the next growth moves for your e-commerce brand.
