What is the withdrawal button?
The withdrawal button is a permanently available digital function on your website that lets customers withdraw from their contract in a few clicks. It is the counterpart to the „Buy“ button: whoever can order online should be able to withdraw online just as easily, no letter, no phone call, no hurdles.
An important distinction: the withdrawal button (§ 356a German Civil Code) concerns the 14-day right of withdrawal in distance selling. It is NOT to be confused with the cancellation button (§ 312k, in force since 2022), which ends ongoing continuing obligations such as subscriptions. Both may be required side by side. They trigger different processes.
Legal basis: § 356a German Civil Code and EU Directive 2023/2673
§356a BGB implements the electronic withdrawal function in Directive (EU) 2023/2673. Consumers must be able to declare withdrawal through the online interface used to conclude covered distance contracts.
The rule has applied since 19 June 2026. For existing stores, check the published function and withdrawal information. Merely planning the feature or leaving an app embed disabled is insufficient.
Who does the obligation apply to?
It applies to all traders who conclude distance contracts with consumers (B2C) via an online interface (website, shop or app) where a statutory right of withdrawal exists. That covers nearly every classic B2C online shop.
Important: there is no exception for micro-enterprises or low-revenue shops. Start-ups, side-business shops and small traders must provide the function too. It applies on marketplaces as well. For mixed business models (B2B and B2C), the withdrawal button must at least be available for the consumer area.
When the withdrawal button is NOT required
The obligation only applies where a statutory right of withdrawal exists at all. Excluded in particular are:
- Pure B2B contracts (exclusively business-to-business)
- Contracts concluded by phone, fax or order card (not via an online interface)
- Goods made to the customer's specifications or clearly personalised
- Sealed goods that, for health or hygiene reasons, were unsealed after delivery
- Digital content where withdrawal rights have expired under the statutory conditions; for paid content, starting performance alone is insufficient and requires, among other things, express consent, acknowledgement and contract confirmation
- Perishable goods
The requirements in detail
To make your implementation legally sound, the function must meet several criteria, which are clearly regulated:
- Unambiguous label: the button carries the words „Vertrag widerrufen“ (withdraw from contract) or an equally clear formulation. Ambiguous terms like „Cancel“, „Service request“ or „Return“ are not permitted.
- Clearly visible and immediately reachable: prominently placed, visually highlighted, without unnecessary intermediate steps, and without login. Guest buyers must be able to use it too.
- It doesn't have to be a technical button: a clearly recognisable, highlighted hyperlink is also permitted. What matters is findability, an unambiguous label and the correct process.
- Two-step process: the first button leads to a withdrawal form page; there, a second button labelled „Widerruf bestätigen“ (confirm withdrawal) completes the process.
- Permanent availability: the function must be reachable throughout the entire withdrawal period.
Which data you may request, and which you may not
§356a(2) identifies the consumer’s name, information identifying the contract or part of it, and an electronic channel for the acknowledgement. An order number is one possible identifier, not the only permitted option. Limit the form to required information and do not demand a withdrawal reason.
- Name of the consumer
- Order or contract number for unambiguous allocation
- an electronic means of contact (usually the email address) for the acknowledgement of receipt
The acknowledgement of receipt: the often-overlooked requirement
As soon as the consumer has submitted the withdrawal, the trader must promptly confirm receipt on a durable medium, in practice by email. This confirmation must contain two things: the content of the withdrawal declaration as well as the date and exact time of receipt.
This is exactly the part most often forgotten in DIY solutions. A mere „Thanks, we received your request“ on the website isn't enough. You need the provable, time-stamped record sent to the customer.
Assess legal consequences precisely
An absent or inadequate withdrawal function can lead to legal challenges and competition-law claims. Further sanctions depend on the actual breach and legal basis. A universal fine amount is therefore not a reliable description for every store.
The start and expiry of the withdrawal period are regulated separately in §356 BGB. Deficient withdrawal information can extend the period under its stated conditions, with a twelve-month-and-fourteen-day maximum for certain cases. A missing button alone cannot automatically be equated with that extension. Check the function and the information together.
Implementation in Shopify and other stores
For Shopify, use our EU withdrawal button app. Install it from the Shopify App Store, activate its theme app embed and configure acknowledgement and optional returns matching. This route does not require the universal snippet.
For WooCommerce, Shopware or a custom website, the universal withdrawal button remains available. Registration and email verification provide an embed snippet. This service has a separate setup and data-processing workflow.
In either case, test the published store as a guest and on mobile. Installation supports the technical implementation; accessibility, withdrawal information and legal scope must still match your store.
- Keep the button visible and accessible throughout the withdrawal period
- Test contract identification and the confirmation function
- Check the customer acknowledgement and merchant notification
- Align withdrawal information and data processing with the chosen implementation
Checklist: is your withdrawal button compliant?
Check your implementation against these points:
- The „Vertrag widerrufen“ button is easy to find on every page and reachable without login
- Two-step flow with a „Widerruf bestätigen“ confirmation button
- The form collects name, contract identification and acknowledgement channel; a reason is not mandatory
- The customer promptly receives an email acknowledgement with content, date and time
- The function is available throughout the entire withdrawal period
- The withdrawal policy points to the function and its placement