Withdrawal button in your online shop: how to implement it properly
If you sell to consumers through an online shop or an app, since 19 June 2026 you must offer an electronic function for withdrawing from the contract, often called the withdrawal button. With it, the customer sends a withdrawal statement in two steps, and you send them, without undue delay, an acknowledgement of receipt with the content of the statement and its date and time. The function must be clearly labelled, prominently displayed and available throughout the withdrawal period.
Below you will find what exactly the rules require, an illustrative example, an eight-step procedure, a comparison of implementation options, common mistakes and a checklist. This is a technical and process guide, not legal advice: have a lawyer review the wording of your withdrawal instructions and button labels.
What the withdrawal function must do
Directive (EU) 2023/2673 added a new Article 11a to the Consumer Rights Directive 2011/83/EU. According to the European Commission, the directive has applied since 19 June 2026. It covers distance contracts concluded through an online interface, such as a website or an app, for which the consumer has a right of withdrawal. The directive’s recital states a clear goal: withdrawing should be just as easy as concluding the contract.
- Label: in the English version of the directive, “withdraw from contract here” or another unambiguous corresponding formulation, easily legible.
- Availability: the function is continuously available throughout the withdrawal period, prominently displayed and easily accessible.
- Statement: in it, the consumer easily provides or confirms their name, details identifying the contract and the electronic contact to which the confirmation will be sent.
- Confirmation step: the consumer submits the statement using a separate function labelled only “confirm withdrawal” or an unambiguous corresponding formulation.
- Acknowledgement of receipt: the trader sends it without undue delay on a durable medium, including the content of the statement and the date and time of its submission.
- Timeliness: the withdrawal counts as in time if the consumer submitted the statement before the period expired.
The function is an additional way to withdraw, not the only one: the directive says the consumer can “also” withdraw by using it. Pre-contractual information must now state the existence and placement of the function, and the model withdrawal instructions contain a sentence saying that when it is used, the customer receives an acknowledgement of receipt on a durable medium, for example by email.
Withdrawal period and exceptions
According to the Commission’s page on buying online, the button is used to exercise the right within 14 days of delivery of goods or of the conclusion of a service contract. The Your Europe portal adds that if the period ends on a non-working day, it is extended to the next working day. It also lists exceptions, for example perishable goods, goods made to order, sealed audio, video or software that has been unsealed, or online digital content where the customer expressly agreed to lose the right of withdrawal once performance starts.
Wording in individual countries
Member States transpose the directive into their own laws. The Commission points out that they may not diverge from it with more or less stringent rules unless the directive expressly allows it. The button wording, however, differs by language: the German § 356a BGB uses “Vertrag widerrufen” and “Widerruf bestätigen” and expressly provides for withdrawal from part of a contract. Check the wording in the local legislation of every market you sell to.
Example: a clothing shop selling to several countries
An illustrative example, not a real client: a small WooCommerce clothing shop sells in several EU countries to registered customers and to guest shoppers. Until now, it had a PDF form and an email address in its terms and conditions. After the change, the flow looks like this:
- A link appears in the footer of every page, in the customer account next to the order and in the shipping email, in English for example “Withdraw from contract here”.
- A logged-in customer sees the orders for which the period may still be running and selects an order or specific items. A guest customer enters the order number and email.
- The summary shows the name, the order, the selected items and the email for the confirmation. The reason is optional. The button reads “Confirm withdrawal”.
- The server stores a record with the time of receipt, sends an email with the content of the statement and its date and time, changes the order status and creates a task for the warehouse with instructions for returning the goods.
What the flow leaves out is just as important: mandatory login, a mandatory reason and exchange or discount offers that must be clicked away before confirming. Your Europe points out that withdrawal requires no justification.
Eight implementation steps
- Map contracts and exceptions. Find every place where a customer concludes a contract online, for example on the website, in the app or in the customer account, and identify the products with no right of withdrawal. In a mixed order, distinguish the items the right applies to from items covered by an exception.
- Decide on placement. Plan for a global link in the footer or navigation, a link next to the order in the account and one in transactional emails. A mention hidden only in the terms and conditions will hardly pass as prominent display.
- Design a short form. Make only the data the directive requires mandatory: name, contract identification and contact for the confirmation. Prefill them for logged-in customers so they only need to confirm.
- Separate the confirmation step. Use a second screen or a clearly separated summary with an unambiguous button. It protects the customer from mistakes and gives you the exact moment of submission.
- Automate the acknowledgement of receipt. The email with the content of the statement and the date and time, including the time zone, should go out right after confirmation, regardless of when the warehouse processes the return.
- Keep evidence. Create an immutable record: server time of receipt, content of the statement, order number and items, version of the form texts and email delivery status.
- Connect the return process. The order status change, the warehouse task, return instructions and refund preparation should follow in one flow, with transfer to ERP or accounting where needed.
- Update texts and test. Add the placement of the function and the acknowledgement of receipt to your withdrawal instructions. Test guest and account purchases, partial withdrawal, mobile, keyboard navigation and a failure of email sending.
Which solution to choose
You can build the function in three ways. The deciding factor is mainly how complex your returns handling is today and how many systems it involves.
| Solution | When it makes sense | What to watch out for |
|---|---|---|
| Extension (plugin) for your shop platform | A standard shop without custom order statuses or integrations | Check guest purchases, item selection, content and time in the acknowledgement, record export and behaviour after updates. |
| Custom development directly in the shop | Custom order statuses, connection to a warehouse or ERP, several countries and languages | More initial work and the need for testing with every larger change to the shop. |
| External returns portal | High return volumes or several sales channels | The function must be prominently displayed in the shop, easily accessible and keep the two-step flow; another supplier processes personal data. |
Trade-offs you need to decide
Guest purchases and protection against misuse
The order number and email are usually enough for identification. If the details do not match, do not reject the statement automatically: accept it, acknowledge it and let a person review it. Additional verification steps before submission may run against the requirement of easy accessibility.
Whole order or individual items
Item selection complicates refunds and shipping, but it matches how customers actually return goods. The German wording expressly provides for withdrawal from part of a contract.
When to hide the option for an order
For goods, the period runs from delivery, not from ordering. If you do not have a reliable delivery date from the carrier, do not hide the function based on the order date. It is safer to keep it available longer and assess timeliness during processing.
What to automate and what to leave to people
Always automate the acknowledgement of receipt, because it must go out without undue delay. The refund decision can stay with a person, for example after the returned goods have been checked.
Common mistakes
- The link is only in the terms and conditions or a PDF, not in the shop interface.
- The button is called “Complaint” or “Contact”, so the customer does not recognise it as withdrawal from the contract.
- Submitting requires a login, a reason or clicking away an exchange offer.
- The acknowledgement arrives without the content of the statement, without the date and time, or only after the goods are back in the warehouse.
- The option disappears based on the order date, although the goods arrived later.
- After a theme or plugin update, nobody checks whether the flow works and the emails go out.
Pre-launch checklist
- A clearly labelled link is visible on every page and next to every order for which the period may still be running.
- The form works without an account, with an account and on mobile.
- Only the name, contract identification and contact for the confirmation are mandatory.
- The confirmation button has unambiguous wording and is separated from the first step.
- The acknowledgement of receipt contains the full statement, the date and time and is sent automatically.
- The record with the time of receipt can be found and exported.
- The withdrawal instructions state the placement of the function and the acknowledgement on a durable medium.
- A responsible person knows how to handle a statement with mismatched details or one submitted after the deadline.
Frequently asked questions
Does the obligation also apply to a small online shop?
Article 11a does not distinguish traders by size. What matters is whether you conclude distance contracts with consumers through a website or an app and whether a right of withdrawal exists for them.
Isn’t a contact form or an email address enough?
Existing ways of withdrawing, such as the model form, remain. A general contact form or email address, however, usually has no prescribed label, no confirmation step and no automatic acknowledgement with content, date and time, so it will not replace the function.
Can a customer withdraw from only part of an order?
The directive speaks of details identifying the contract; the German wording expressly mentions part of it as well. For orders with several items, it is therefore practical to allow item selection and to repeat exactly the selected items in the acknowledgement.
What if the customer submits the statement on the last day of the period?
The withdrawal is in time if the statement was submitted before the period expired, even if you process it later. Store the server time of receipt and, when calculating the period, allow for the extension to the next working day.
How we can help
We can add the withdrawal function to an existing online shop or build it into a new solution as part of our custom online shop development. If you want the statement to create a warehouse task, change the order status and prepare the refund automatically, process automation can build on it. You will find more practical guides on our blog.
Leave the legal wording to a lawyer; we will design the technical solution with you. Contact us and we will go through what your shop is missing.
Sources
- Directive (EU) 2023/2673 of the European Parliament and of the Council of 22 November 2023 – Publications Office of the European Union
- Consumer rights directive – European Commission
- Protecting you when buying online – European Commission
- Returns and the right of withdrawal – Your Europe
- § 356a BGB – Elektronische Widerrufsfunktion bei Fernabsatzverträgen – Gesetze im Internet