Withdrawal Button Compliance Checklist: A Practical Guide for Webshop Owners

2026-03-275 min readregrettable.eu

A step-by-step compliance checklist for implementing the EU withdrawal button on your webshop. Covers button requirements, confirmation flows, email obligations, record keeping, and platform-specific guidance for Shopify, WooCommerce, and custom stores.

Why You Need a Compliance Checklist

With the EU Directive 2023/2673 enforcement date of June 19, 2026 approaching, webshop owners need a clear, actionable plan for implementing the required withdrawal button. The directive's requirements are spread across multiple articles and recitals, and national transposition laws add further nuance. This checklist distills everything into concrete tasks you can work through systematically. Whether you handle compliance in-house, delegate it to your development team, or use a third-party solution, having a checklist ensures nothing falls through the cracks. A single missing element, such as failing to send a durable medium confirmation, can result in your withdrawal button being considered non-compliant, which triggers the same penalties as having no button at all.

Button Requirements

Start with the button itself. Your withdrawal button must use clear, unambiguous text that explicitly communicates its purpose. Acceptable labels include "Withdraw from this contract," "Exercise your right of withdrawal," or equivalent phrasing in the customer's language. Avoid generic terms like "Cancel order" or "Request return," as these may not meet the directive's specificity requirement. The button must be visually prominent. It should be styled as a recognizable interactive element, not a text link hidden among other content. Place it where consumers naturally look for order management options: the order confirmation page, the order history section, or a dedicated account area. The button must be accessible for the full 14-day withdrawal period starting from the day the consumer receives the goods or, for services, from the day the contract was concluded. Verify that the button is functional on desktop, tablet, and mobile devices. Test it with keyboard navigation and screen readers to ensure accessibility compliance. If your store operates in multiple languages, the button text must be localized for each language you support.

Confirmation Flow

The directive requires a two-step process to prevent accidental withdrawals. After the consumer clicks the withdrawal button, they must see a confirmation step before the withdrawal is processed. This confirmation should display the order details being withdrawn, including the order number, items, and date of purchase, so the consumer can verify they are withdrawing from the correct contract. The confirmation must require an explicit second action, such as clicking a "Confirm withdrawal" button. Do not auto-confirm after a timer, and do not use pre-checked boxes. The language on the confirmation step must be neutral. Avoid discouraging language like "Are you sure you want to lose these benefits?" or similar dark patterns. A straightforward "Please confirm your withdrawal" with order details and a confirm button is the standard to aim for. Test the full flow end-to-end: click the withdrawal button, see the confirmation, confirm, and verify that the withdrawal is recorded in your system.

Durable Medium Email Confirmation

Immediately after the consumer confirms their withdrawal, you must send a confirmation on a durable medium. Email is the most practical and widely accepted option. Your confirmation email must include: the date and time the withdrawal was received, the order or contract identifier, a list of the items or services being withdrawn, and a clear statement confirming that the withdrawal request has been received and will be processed. The email should also include information about next steps, such as when the consumer can expect their refund and any instructions for returning physical goods. Send this email programmatically and immediately upon confirmation. Do not batch these emails or send them at the end of the day. Regulators interpret "without undue delay" strictly, and a delay of several hours could be considered non-compliant. Keep a copy of every confirmation email sent. Your email service provider's delivery logs can serve as evidence that the confirmation was dispatched, but storing the email content alongside the withdrawal record in your own system provides stronger protection.

Record Keeping

While the directive does not mandate a specific retention period for withdrawal records, legal experts across EU member states consistently recommend retaining records for at least 10 years. This aligns with general commercial record-keeping obligations in countries like Germany, France, and Denmark. For each withdrawal, store the following: the consumer's identification details, the order or contract reference, the date and time the withdrawal button was clicked, the date and time the withdrawal was confirmed, a copy or record of the durable medium confirmation sent, and the status of the withdrawal including refund processing. Use timestamped, tamper-evident storage. An append-only database log or an audit trail that records every state change is ideal. If you ever face a regulatory audit or consumer dispute, having a complete, verifiable history of the withdrawal process will be your strongest defense. Regularly back up your withdrawal records and ensure they are included in your disaster recovery plan.

Platform-Specific Guidance

For Shopify stores, the withdrawal button can be implemented through a theme app extension that injects the button into the appropriate pages of your storefront. Shopify's native order management does not include a withdrawal-specific feature, so you will need either a custom app or a service like regrettable.eu that provides a ready-made Shopify integration. For WooCommerce stores, a dedicated WordPress plugin is the most straightforward path. The plugin should add the withdrawal button to the customer's order view pages and handle the confirmation flow and email dispatch. regrettable.eu offers a WooCommerce plugin that handles this out of the box. For custom-built platforms, you have full control but also full responsibility. Implement the button as part of your order management interface, build the two-step confirmation flow, integrate with your email sending infrastructure for durable medium confirmations, and set up proper audit logging. Alternatively, a lightweight JavaScript widget can be embedded on any platform to handle the consumer-facing elements while connecting to a backend service for processing and record keeping.

Common Mistakes to Avoid

Several compliance pitfalls catch webshop owners off guard. First, hiding the withdrawal button behind a login wall when the original purchase did not require an account. If a consumer bought as a guest, they must be able to withdraw as a guest. Second, using a contact form or email address instead of a dedicated button. The directive specifically requires a button, not a general contact mechanism. Third, implementing the button only on the order confirmation page. The button must remain accessible for the full 14-day withdrawal period, which means it needs to be available from the order history or through a link sent in the order confirmation email. Fourth, forgetting to localize the button text for all markets you serve. A Danish webshop selling to German consumers must provide the button in German for those consumers. Fifth, neglecting mobile optimization. A button that works on desktop but is invisible or non-functional on mobile devices is not compliant. Sixth, sending the durable medium confirmation as a website notification instead of email. Website notifications do not qualify as durable medium because they are not permanently accessible to the consumer.

Final Verification Steps

Before considering your implementation complete, run through this final verification. Place a test order and verify the withdrawal button appears correctly. Click it and confirm the two-step flow works as expected. Check that the confirmation email arrives immediately with all required information. Verify the withdrawal is recorded in your admin system with a complete audit trail. Repeat the process on a mobile device. Test in every language your store supports. Have someone unfamiliar with your site attempt the process to identify any usability issues. Check that the button remains accessible and functional on day 1 and day 14 of the withdrawal period. If you sell across multiple EU countries, verify that the button text and email content comply with each relevant national transposition law. Document your compliance process and keep evidence of your testing. If your setup checks all these boxes, you are in a strong position for the June 2026 enforcement date.

Направете своя уеб магазин съвместим още днес

Започнете безплатната си пробна версия и бъдете готови преди крайния срок.