TLDR
- From June 19, 2026, any online store that offers distance contracts to consumers in Germany must provide an electronic withdrawal function, commonly called the "withdrawal button" or Widerrufsbutton.
- This requirement comes from EU Directive 2023/2673 and is implemented in Germany through a revised Section 356a of the German Civil Code (BGB).
- The button must be permanently visible throughout the entire cooling-off period, follow a two-step submission flow, and trigger an automatic confirmation email to the consumer.
- Non-compliance can result in fines of up to €2 million or 4% of annual EU turnover, plus cease-and-desist action.
What Is the Withdrawal Button?
A withdrawal button is an electronic feature on a website or app that allows consumers to withdraw from distance selling contracts entered into online. There is no single rigid legal definition - the relevant regulations refer more broadly to a "withdrawal function." Because this function is typically triggered by a clearly marked button, the term "withdrawal button" (or in German: Widerrufsbutton) has become standard shorthand.
The underlying logic is straightforward: if consumers can enter into a contract online in a few clicks, they should be able to exit that contract with equal ease. The withdrawal button provides an additional, direct channel for contract withdrawal, through the online store itself, without replacing existing options such as withdrawal by email, post, or a downloadable withdrawal form.
This requirement sits alongside two other existing "button obligations" in German law: the order button (Bestellbutton), which makes the payment obligation explicit at checkout, and the cancellation button (Kündigungsbutton), which applies to subscription contracts. Businesses must clearly differentiate all three in their labeling and user flows.

Legal Basis: EU Directive 2023/2673 and Section 356a BGB
The obligation originates from Directive (EU) 2023/2673, which amends the existing Consumer Rights Directive (2011/83/EU) and introduces a new Article 11a. This article requires traders to ensure that consumers can withdraw from contracts using a dedicated withdrawal function on the online interface.
EU member states were required to pass the necessary national legislation by December 19, 2025. The rules take effect on June 19, 2026. Importantly, the obligation applies to any business whose online B2C contracts are governed by German law, including businesses established outside Germany.
Scope: Which Online Stores Are Affected?
The requirement applies where a B2C distance contract (a) carries a statutory withdrawal right under Sections 355 et seq. BGB, and (b) is concluded through an online interface. Distance contracts concluded by telephone, email, or post fall outside the scope.
No withdrawal button is required for:
- Bespoke or custom-made goods
- Perishable goods
- Sealed hygiene products once opened
- Certain financial services and digital content where the consumer has explicitly consented to immediate delivery
However, a mixed-portfolio online store that sells both withdrawable and non-withdrawable products still needs to provide the withdrawal function because at least some offerings carry the statutory right.
What Requirements Must the Withdrawal Button Meet?
General Visual Requirements
- The button must be clearly labeled with "Withdraw from contract" (Vertrag widerrufen) or suitable equivalent.
- It must be permanently available throughout the entire withdrawal period (the cooling-off period, typically 14 days).
- It must be prominently displayed and easily accessible - visually distinguished from standard navigation links, reachable from every page of the store.
- Requiring consumers to register / login before accessing the withdrawal function is not permitted. Hidden or hard-to-access implementations - not permitted
A clearly labeled link also satisfies the requirement - not just a standard button, ex. footer link.

Functional Requirements
- The withdrawal function must enable direct confirmation message of a notice/message of withdrawal.
- It must allow users to provide or confirm their name, the information needed to identify the contract, and a method of communication for confirmation (for example, an email address).
- If a consumer has multiple simultaneous contracts / orders, they must be able to clearly identify which contract the withdrawal relates to. An order overview with a selection option meets this need (dropdown).
The Two-Step Withdrawal Process Explained
The law mandates a two-step flow - not a single click.
Step 1: Enter or Confirm Relevant Data
The consumer provides their name, the contract details, and a contact address for the confirmation (typically an email address). Where multiple contracts exist, the consumer selects the relevant one.
Step 2: Confirm and Submit
A second, clearly labeled confirmation function - "Confirm withdrawal" (Widerruf bestätigen) or an unambiguous equivalent must be presented. This is the step that submits the declaration. A withdrawal is deemed timely if the consumer submits it via this function before the withdrawal period expires.
Confirmation of Receipt
Once the consumer activates the confirmation function, the trader must send an acknowledgement of receipt without undue delay, on a durable medium (for example, by email). This confirmation must include:
- The content of the withdrawal declaration
- The date and time of receipt

Impact on Online Store Design
The withdrawal button extends legal obligations well beyond the moment of purchase. Businesses need to think about the full contract lifecycle, not just checkout.
Integration into User Areas
In practice, the withdrawal function fits most naturally inside customer accounts, order overviews, or individual order detail pages.
Confirmation pages and post-purchase emails can also direct consumers to the function. Contract withdrawal must be easy to access - not requiring additional registration.
User Navigation and Information Architecture
Consumers must be able to find their contract details and clearly match a withdrawal to a specific order. Order numbers or explicit contract references within order overviews are practical solutions (email confirmations).
Dark patterns - burying the function in menus, overlaying it with pop-ups, or pairing it with retention offers is perceived as unfair commercial practices law.
Coexistence with Order and Cancellation Buttons
Three button obligations now coexist in German e-commerce law: the order button, the cancellation button (for subscriptions), and the new withdrawal button. Each must carry its own name. Confusingly similar wording or placement that blurs the distinction between them creates compliance risk.
Fines and Legal Consequences for Non-Compliance
Failure to provide a compliant withdrawal function constitutes an infringement of consumer interests under Article 246e of the German Introductory Act to the Civil Code (EGBGB).
- Default fine: Up to €50,000
- For traders with EU turnover above €1.25 million: Up to 4% of turnover in the affected member states, or €2 million if turnover cannot be estimated
Enforcement is expected to begin after June 19, 2026. The combination of relatively low technical barriers to compliance and high potential fines makes early action the better path.
How Consentmo Handles This for Shopify Merchants
Consentmo now includes a built-in EU Withdrawal feature that covers every technical and legal requirement described in this article — without custom development.
Once enabled, it adds:
- A dedicated withdrawal page where customers can submit a request without logging in, using the legally required wording ("Withdraw contract" and "Confirm withdrawal")
- A footer link automatically added to your store so the withdrawal function is reachable from any page throughout the cooling-off period
- An Order Status page button so customers can initiate a withdrawal directly from the order they want to withdraw (available on Enterprise plans)
- The full two-step verification flow: customers enter their order number and email, verify their identity, select items, and confirm — no account login required
- Automatic confirmation emails to both the customer and the merchant, with a unique reference ID and timestamp
- A full request log with received timestamps, order numbers, selected items, and customer contact — exportable as CSV for audit purposes

EU Withdrawal is available on the Plus and Enterprise plans. To enable it, open your Consentmo dashboard, go to Privacy Center, and click the EU Withdrawal page tab. Setup takes a few minutes.
Practical Steps for Shopify Stores
- Check every place you sell online. Look at your Shopify store, any apps you use to take orders, and any third-party marketplaces where you sell. If a German consumer can buy from you through that channel, the withdrawal button applies to you there too.
- Identify which products need it. Most physical and digital products sold on Shopify carry a statutory withdrawal right. Exceptions include custom-made items, perishable goods, and sealed hygiene products once opened. If even one product in your store is withdrawable, you need the button.
- Check what you tell customers about their right to withdraw. Review your product pages, checkout flow, and order confirmation emails. If this information is missing or outdated, the 14-day withdrawal clock never starts — meaning customers could withdraw weeks or months later.
- Add the two-step withdrawal flow to your store. You need a clearly labeled "Withdraw from contract" button or link, visible throughout the cooling-off period, ideally in the customer account area or order detail pages. A second "Confirm withdrawal" button must follow before the withdrawal is submitted.
- Connect it to your backend. The withdrawal needs to flow through to your order management, fulfilment, and any billing systems. Your Shopify store must automatically send the customer a confirmation email the moment they complete the withdrawal — including what they withdrew from and the exact date and time.
- Get ready for more withdrawal requests. Once the button is visible at all times, expect more customers to use it — including some right at the edge of the deadline. Build in a clear check so that out-of-period requests are flagged rather than silently processed.
- Test it and keep a record. Before June 19, run the full withdrawal flow on desktop and mobile. Save a record of when you implemented it and what you tested — this documentation protects you if a complaint or fine is ever issued.
Common Compliance Mistakes to Avoid
Several failure patterns are already predictable based on how businesses have handled prior button obligations.
Unclear or Incorrect Labels
Vague wording - "Cancel," "Return," or "Undo order" - does not meet the requirement. Both the withdrawal button and the confirmation step require specific, unambiguous language.
Hard-to-Find Placement
A withdrawal function buried deep in a help section, requiring multiple navigation steps, or visible only after the consumer contacts support contradicts the statutory aim of easy access.
Missing or Incomplete Process Design
Businesses frequently overlook the structured two-step flow. A single "I withdraw" link without a data-entry step and a separate confirmation button does not comply.
Inadequate Backend Integration
Withdrawal notices that do not reach order management, billing, or CRM systems create operational failures and legal exposure. Confirmations must send automatically and reliably.
Insufficient Documentation and Traceability
Every withdrawal must be traceable - date, time, content, and the consumer who submitted it. GDPR-compliant timestamping and archiving of this data is not optional. A lack of traceability creates serious compliance risk.
Enable EU Withdrawal in Consentmo →
This article is for informational purposes only and does not constitute legal advice. Consult a qualified legal professional for guidance specific to your business.



