Security update: The recent PHP vulnerabilities don’t affect us. None of our products or infrastructure use PHP. We’ve also reviewed our app after the recent Shopify checkout phishing attack and ran Shopify’s new security check. No issues were found.

EU Withdrawal Button Guide

EU withdrawal button checklist for Shopify agencies

Scope each client, check placement, labels, form, confirmation and the acknowledgement email, test it as a guest on a phone, and hand over the proof. One checklist for every client store.

Updated
Reading time
7 min

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.

  1. 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.
  2. 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.
  3. Which storefront languages and markets are live? Each language needs its own labels and its own test.
  4. 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.
  5. 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:

Withdrawal button and confirmation button labels in seven official EU language versions of Directive (EU) 2023/2673.
LanguageWithdrawal buttonConfirmation button
Englishwithdraw from contract hereconfirm withdrawal
GermanVertrag widerrufenWiderruf bestätigen
Frenchrenoncer au contrat iciconfirmer la rétractation
Italianrecedere dal contratto quiconferma recesso
Spanishdesistir del contrato aquĂ­confirmar desistimiento
Dutchhier de overeenkomst herroepenherroeping bevestigen
PolishodstÄ…p od umowy tutajpotwierdĹş 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:

  1. Place a test order as a guest.
  2. Find the button from the home page, the order status page and the confirmation email.
  3. Check both labels against the table above.
  4. Fill in name, order number and email, select an item if the form allows it, and confirm.
  5. Check the acknowledgement: it arrives within minutes, quotes what was sent and shows the date, time and time zone.
  6. Check that the client's team sees the request and knows the refund deadline.
  7. Cancel or close the test request in the client's admin so it is not refunded by mistake.

Example: one agency, three client stores

An agency looks after a German fashion store, a Dutch home goods store selling in Dutch and English, and a US brand that ships to the EU. The scoping row gives four tests: German, Dutch, English for the Dutch store, and English for the US store. The US store had the button only in the customer account, so the agency adds a footer link for guests. The Dutch store's English storefront still showed a “Start a return” label, so the agency changes the label to “withdraw from contract here”. Each store gets a one-page handover with the test screenshots and the acknowledgement email.

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?

Every store that sells online to consumers in the EU where those consumers have a right of withdrawal. That includes stores based outside the EU. Pure B2B stores are out of scope, and so are contracts with no right of withdrawal under Article 16, such as made-to-measure goods.

Since when does the withdrawal button apply?

Article 11a of the Consumer Rights Directive applies from 19 June 2026. Austria applies its version, § 13a FAGG, to contracts concluded after 30 September 2026.

Can the button sit only inside the customer account?

That is risky. Article 11a asks for a function that is prominently displayed, easily accessible and available for the whole withdrawal period. Guest buyers who never created an account would have to go through an extra step to reach it, so give them a route without signing in as well.

Does the withdrawal button replace the model withdrawal form?

No. The button is an additional channel. Customers can still withdraw with the model form in Annex I(B) of Directive 2011/83/EU or with any other clear statement, for example an email.

Is this checklist legal advice?

No. It summarises Directive 2011/83/EU as amended by Directive (EU) 2023/2673. National laws transposing it can add details, so check the rules of each country a client sells to.

Sources

Your withdrawal button, live today.
Install Complimus, add the withdrawal form to a page or your footer, and every request is confirmed by email. No code.
Install from Shopify