Since 19 June 2026, online stores that sell to EU consumers must offer a withdrawal function: a button labelled “withdraw from contract here”, a short form, a second button labelled “confirm withdrawal” and an acknowledgement on a durable medium such as email. The rule is Article 11a of the Consumer Rights Directive, added by Directive (EU) 2023/2673. For an agency that looks after several Shopify stores, the work is the same in every store, so it pays to run it as one checklist. This page is that checklist: what to check per client, how to test it, and what to hand over. For the rule itself in full, read our EU withdrawal button guide.
In short
- Scope: every client store selling online to EU consumers with a right of withdrawal, wherever the store is based.
- Date: 19 June 2026; Austria from contracts concluded after 30 September 2026.
- Per store: visible button, the right labels per language, three details in the form, a confirmation button, an automatic acknowledgement email, updated policy text.
- Proof: one test withdrawal per storefront language, with screenshots and the email kept in the client file.
1. Scope each client first
Start with a short scoping row per client. It tells you whether the store needs the function at all and how many language versions you will test.
- Does the store sell to consumers in the EU? A store based in the UK, the US or elsewhere is in scope when it targets EU consumers. B2B-only stores are out.
- Do those consumers have a right of withdrawal?Article 16 of the directive removes it for some contracts, for example goods made to the customer's specifications or goods that spoil quickly. A store that sells only such goods may not need the function; a store that mixes them with ordinary goods does.
- Which storefront languages and markets are live? Each language needs its own labels and its own test.
- Which storefronts? The online store, a headless storefront and a mobile app are all online interfaces. If customers can order there, the function must be reachable there too.
- Who reads withdrawals on the client side? Name the inbox and the person who handles refunds, because the refund clock starts when the withdrawal is received.
2. The per-store checklist
Placement and visibility
- The button is prominently displayed and easy to find, for example a footer link on every page and a link on the order status page and in the order confirmation email.
- It stays available for the whole withdrawal period, not only until the order ships.
- Guest buyers can reach it without creating an account. A button that exists only inside the customer account is a weak point.
- It works on mobile, where most orders are placed.
Labels
The law gives the wording “withdraw from contract here” or an unambiguous corresponding formulation, and “confirm withdrawal” or an unambiguous corresponding formulation. Check the live text on the storefront, not only the app settings or the theme translation file. These are the wordings of the official language versions:
| Language | Withdrawal button | Confirmation button |
|---|---|---|
| English | withdraw from contract here | confirm withdrawal |
| German | Vertrag widerrufen | Widerruf bestätigen |
| French | renoncer au contrat ici | confirmer la rétractation |
| Italian | recedere dal contratto qui | conferma recesso |
| Spanish | desistir del contrato aquĂ | confirmar desistimiento |
| Dutch | hier de overeenkomst herroepen | herroeping bevestigen |
| Polish | odstÄ…p od umowy tutaj | potwierdĹş odstÄ…pienie od umowy |
The form
- The customer can easily give or confirm three details (Article 11a(2)): their name, details that identify the contract (on Shopify, the order number) and the email address for the acknowledgement.
- No reason is asked as a condition. A withdrawal needs no reason (Article 9(1)); an optional question is fine if it can be left empty.
- For German customers, the customer can say which items they withdraw from, because § 356a BGB expects a partial withdrawal to identify the part concerned.
- The customer sends the statement with a second button, “confirm withdrawal” (Article 11a(3)).
The acknowledgement
- An acknowledgement goes out without undue delay, on a durable medium such as email (Article 11a(4)). Sending it automatically is the safest way to meet this, rather than after a support agent reviews the request.
- It contains the content of the withdrawal and the date and time it was submitted. State the time zone.
- It reaches the inbox: check the sender domain and that the message does not land in spam.
Policy and pre-sale information
- The refund or withdrawal policy says that the online function exists and where to find it. Article 6(1)(h) asks traders to tell consumers this before the contract, where it applies.
- The withdrawal instructions keep the 14-day period, the refund within 14 days and who pays for the return. The button changes none of that; see our guide to the refund deadline after a withdrawal.
- Other ways to withdraw still work: the model withdrawal form and a plain email remain valid.
3. Test it like a customer
Run this once per storefront language, on a phone, signed out:
- Place a test order as a guest.
- Find the button from the home page, the order status page and the confirmation email.
- Check both labels against the table above.
- Fill in name, order number and email, select an item if the form allows it, and confirm.
- Check the acknowledgement: it arrives within minutes, quotes what was sent and shows the date, time and time zone.
- Check that the client's team sees the request and knows the refund deadline.
- Cancel or close the test request in the client's admin so it is not refunded by mistake.
Example: one agency, three client stores
4. What to hand over to the client
- Where the button appears, with screenshots per language and device.
- A copy of a test acknowledgement email.
- The updated policy text and the date it went live.
- Who handles withdrawals and refunds, and the 14-day refund deadline.
- A note to re-test after theme changes, new languages or a new checkout, since a theme update can remove a footer link or a block.
5. Common mistakes in client stores
- The returns portal is relabelled, but still asks for a reason or only offers store credit.
- The button disappears once the order is shipped or fulfilled.
- The labels are translated loosely, for example “Cancel order”.
- The confirmation is shown on screen only, with no email.
- The email has no date and time of the withdrawal.
- The policy page still describes the old process and never mentions the online function.
Running a Black Friday review for clients at the same time? Our one-page Black Friday checklist for Shopify agencies covers the price rules for sale periods.
6. For agencies: the Complimus partner program
If you install Complimus in client stores, our partner program pays 25% of what Complimus receives from each client store, every month, for as long as the store pays.
Frequently asked questions
Which client stores need the EU withdrawal button?
Since when does the withdrawal button apply?
Can the button sit only inside the customer account?
Does the withdrawal button replace the model withdrawal form?
Is this checklist legal advice?
