EU Right of Withdrawal (Cooling Period) Compliance
OVERVIEW
This article explains how to configure your Loop return policy to support the EU's right of withdrawal — commonly called the 14-day cooling period — and how to meet the new EU withdrawal button requirement that takes effect 19 June 2026. Under EU law, shoppers who buy online have the right to withdraw from their initial sales contract within 14 days of delivery without giving a reason, and must be offered a full refund. As of 19 June 2026, EU law also requires an easy-to-find withdrawal button that lets shoppers formally cancel online. This guide covers the Loop settings to review, how the withdrawal button requirement works (and why it sits outside Loop), how to handle outbound shipping costs, and how Checkout+ fits within this regulation.
Use the menu on the left to quickly navigate this article.
What it is
The EU right of withdrawal is a consumer protection law (Annex I(B) to Directive 2011/83/EU) that applies to any online or distance purchase made by a shopper located in the European Union or the EFTA markets (Norway, Iceland, and Liechtenstein). Under this directive, shoppers have an unconditional right to cancel their order and return eligible goods within 14 calendar days of delivery — with no justification required.
Going into effect 19 June 2026, a newer directive — Directive (EU) 2023/2673 — adds a further requirement: online stores must provide a prominent, easy-to-use withdrawal button (a "withdrawal function") so shoppers can exercise that 14-day right online, with no more friction than it took to place the order.
Merchants selling to EU or EFTA shoppers are legally required to:
Offer a return window of at least 14 days from the date of delivery
Make a full refund available as a resolution option, including the standard outbound delivery charge paid by the shopper
Provide shoppers with the model withdrawal form (Annex I(B) to Directive 2011/83/EU) and a way to submit it
Provide an online withdrawal button that is clearly labeled, stays available throughout the 14-day window, leads to a two-step confirmation, and triggers an automatic confirmation email (the new 2023/2673 requirement)
Bear the cost of return shipping for defective or faulty products; merchants can charge return shipping or handling fees to the shopper in any other case, as long as it’s clear in your return policy
If the 14-day deadline falls on a non-business day, it extends automatically to the next working day.
Important: This article is informational guidance to help you use Loop's settings to support compliance. It is not legal advice. The withdrawal button requirement in particular is new and the technical bar is strict — Loop strongly recommends confirming your specific obligations with a legal professional.
Why it matters
The EU right of withdrawal applies to any merchant selling to shoppers in EU or EFTA member states — regardless of where the merchant is based. The compliance deadline for the new withdrawal button is 19 June 2026. Merchants who do not meet the minimum requirements risk regulatory action, customer disputes, and reputational harm.
What Loop can and can't do here is worth stating plainly: Loop's return policy settings are flexible enough to support the return and refund side of the directive (the 14-day window, full refunds, and outbound shipping refunds). The withdrawal button itself is a separate, storefront-level requirement that Loop does not currently provide — it's handled outside Loop, and this guide explains how.
How it works
EU compliance is achieved through a combination of Loop configuration, a one-time update to your public-facing return policy page, and a storefront withdrawal button.
There are five areas to cover:
Return window — set to 14 days or more from delivery date in your Policy Zone
Refund as a resolution — enabled in your return policy so shoppers always have the option of a full refund
Outbound shipping refund — configured as a Workflow action so the original delivery cost is refunded
Model withdrawal form — added to your return policy page, with a contact email and a stable public link
Withdrawal button — a clearly labeled storefront control with two-step confirmation and an automatic confirmation email (required from 19 June 2026)
Loop does not have a dedicated EU right of withdrawal flow built into the platform, and the withdrawal button is not something Loop generates. The approach below satisfies the Loop-side requirements through configuration, and points you to the right options for the withdrawal button — all without replacing your existing returns portal. Shoppers who prefer using Loop's portal can continue to do so.
Note: The right of withdrawal applies specifically to the Refund resolution type. Exchanges and store credit are optional benefits you can offer in addition to the mandatory full refund — they are not a substitute for it.
Setup
Follow these steps to configure your Loop return policy for EU compliance.
Step 1: Set your return window to 14 days or more, measured from delivery
Navigate to Returns management > Policy settings > Return policies.
Find the return policy that applies to your EU/EFTA shoppers (for example, an International policy) and click Edit. If you don't have a dedicated EU policy, edit your default policy or create a new one.
In the policy editor, select Return outcomes in the left sidebar.
In the Shopper return window card, set the Start event dropdown to Delivery date (it defaults to Fulfillment date). This starts the 14-day clock when the package arrives, as the directive requires.
Optionally, enable Keep items unreturnable until marked delivered if you want to prevent shoppers from initiating a return before their package has been confirmed as delivered. If you enable this, set a Fallback days value (minimum 1) as a safety net in case delivery confirmation never arrives.
Set the return window for the Refund outcome to 14 or more days. Each outcome (Refund, Exchange, Store Credit) has its own window duration — make sure the Refund window is at minimum 14.
Click Save.
Important: If you have any items marked as Final Sale or otherwise ineligible for return, review those exclusions carefully. Blocking returns on standard eligible goods within the 14-day window may put you out of compliance. The cooling period does not apply to personalised goods, perishable items, sealed audio/video software that has been unsealed, or digital content already downloaded — Final Sale restrictions on those item types remain valid.
Tip: Shopify tracking must be enabled on your orders for Loop to receive delivery confirmation from carriers. Without tracking, Loop cannot determine the delivery date and will fall back to the fulfillment date as the window start.
Step 2: Enable Refund as a resolution type
Still on the Return outcomes tab, toggle Refund on as an available return outcome. (In a new or restricted policy it may show as Disabled — as in the International policy above.)
Ensure refunds process to the original payment method. Under EU law, refunds must be issued via the same payment method used at checkout unless the shopper explicitly agrees to an alternative.
Click Save.
Tip: You can still offer exchanges and store credit alongside refunds — even incentivise them with bonus credit. Just make sure the full refund option is never removed or hidden from EU shoppers within the 14-day window.
Step 3: Refund original outbound shipping costs
Under the directive, merchants must refund the standard outbound delivery charge paid by the shopper when a return falls within the 14-day window. In Loop, this is configured as a Workflow action.
Navigate to Returns management > Policy settings > Workflows.
Click Create workflow, select Returns & Exchanges, then Start from scratch.
Set your condition. To scope this to EU and EFTA orders, use the Order location condition and select the relevant countries.
Under “True”, add the action: Refund original shipping cost (this refunds the original outbound shipping cost).
Click Save and set the workflow to Active.
Note: You are only required to refund the standard delivery cost — not a premium or express shipping upgrade chosen by the shopper. If a shopper paid for next-day delivery, you are only obligated to refund the equivalent standard rate.
Important: For defective product returns, EU law shifts return shipping costs to the merchant. Loop recommends creating a separate Workflow that waives the handling fee when the return reason is a product defect. Be aware that a handling-fee waive Workflow applies to all shoppers matching that condition — not only those who purchased Checkout+. The Checkout+ coverage fee itself cannot be refunded automatically through Loop and must be refunded manually in Shopify for affected shoppers.
Step 4: Provide the model withdrawal form to your return policy page
This step has two parts, and both happen outside Loop, on your storefront and return policy page.
Part A — Publish the model withdrawal form (Directive 2011/83/EU). EU law requires you to make the standardized model withdrawal form (Annex I(B)) available so shoppers can formally exercise their right of withdrawal.
Add a dedicated section to your return policy page explaining the shopper's right of withdrawal and the 14-day window.
Include the EU model withdrawal form in full — the European Commission publishes the standard template; paste it in or link to it.
Provide a dedicated email address (e.g., returns@yourdomain.com) shoppers can use to submit the completed form, giving you an auditable record.
Part B — Provide a compliant withdrawal button (Directive 2023/2673, effective 19 June 2026). As of 19 June 2026, posting the form and an email address is no longer sufficient on its own. The law now requires an online withdrawal function that:
Is clearly labeled — wording such as "withdraw from the contract here" or a close equivalent
Remains accessible throughout the shopper's 14-day withdrawal period (e.g., a persistent storefront/footer link)
Leads to a structured two-step confirmation where the shopper enters their name and order reference, then confirms
Triggers an automatic confirmation email to the shopper without undue delay
Important: Per guidance on the new directive, a PDF form in your terms, or an instruction to email a returns address, will not by itself meet the 19 June 2026 withdrawal button requirement. You still publish the model form (Part A), but you must also provide the button-driven function in Part B.
How this works with Loop. The withdrawal button is about logging a shopper's request to withdraw — it is not the same as generating a return label, RMA, or refund. Loop does not provide this withdrawal function, so it must be built outside Loop. Common options:
A dedicated Shopify app that provides a compliant withdrawal button (examples merchants have used include Revoq and EU Withdrawal Button)
A custom storefront form (e.g., built using Shopify Flows) that collects the two-step confirmation and sends the automatic confirmation email
Once a withdrawal request is logged through that function, your team actions the actual return in Loop as a standard refund. The withdrawal button can run entirely independently of Loop; it does not need to feed into Loop, though a custom setup could route submissions to your team however you prefer.
Important: Withdrawal requests are processed manually by your team — initiate the return in Loop and process it as a standard refund. Your existing Loop returns portal stays in place alongside the withdrawal button; the two paths coexist. A shopper can always use whichever route they prefer.
Note: Shoppers are not required to use the model form specifically — any clear written statement of withdrawal suffices — but you must make both the form and the withdrawal button available to them.
Step 5: Adjust your policy after 14 days (optional)
The EU cooling period only governs the first 14 days after delivery. Once that window closes, you have full flexibility to apply your standard return policy — including different resolution types, fees, or more restrictive eligibility rules.
If you want to offer a longer return window (e.g., 30 or 60 days) with different terms after day 14, use a Workflow with a Days since return window start condition to create two branches.
Navigate to Returns management > Policy settings > Workflows and click Create workflow, select Returns & Exchanges, then Start from scratch.
Set a condition using Days since return window began with a value greater than 14.
Add the action(s) you want to apply after the 14-day window — for example, Exclude return outcomes > Refund (exchange or store credit only), or Set handling fee to introduce a return fee.
Click Save and Publish the workflow.
Important: If you need to extend or lock a specific return window duration with a workflow, use an Order Tag condition rather than a date-based condition. Loop's Return Window action only evaluates reliably with Order Tag conditions, because it runs before most order data is available. (Restricting outcomes after day 14, as described above, works as expected with the date-based condition.)
Important: The ≤14-day base policy must always allow a full refund. Your post-14-day workflow can apply different terms but must not retroactively remove the rights shoppers had within the statutory window.
Checkout+ and the EU cooling period
Checkout+ (CO+) is Loop's order protection product that allows shoppers to pay a small fee at checkout in exchange for a discounted return label. A common question from EU merchants is whether the Checkout+ fee conflicts with the shopper's right to a free return within the cooling period.
The short answer: Checkout+ is compliant as-is.
The EU directive states that shoppers are responsible for return postage costs within the cooling-off period, unless the seller has offered to cover them or failed to disclose this upfront. Checkout+ doesn't remove a shopper's right to return — it changes how much postage they pay depending on whether they pre-paid the fee at checkout. In both cases, the right to return within 14 days is fully preserved.
Note: One edge case to watch: for defective product returns, EU law shifts return shipping costs to the merchant. In those cases, any Checkout+ fee paid should also be refunded. The handling fee can be waived via a Workflow (see Step 3), but be aware this applies broadly to all shoppers matching the condition — not only CO+ purchasers. The Checkout+ coverage fee itself must be refunded manually in Shopify. Review your fee settings to confirm defective returns from EU shoppers are handled correctly.
Checkout+ settings are configured in Returns management > Policy settings > Checkout+.
FAQ
Does the EU cooling period apply to all products in my catalog? No. The right of withdrawal has exceptions. It does not apply to personalised or made-to-order goods, perishable items, sealed software or DVDs that have been unsealed, digital content the shopper has already downloaded (if they consented at purchase), or services already fully delivered. Standard apparel, footwear, accessories, and most physical goods are covered. If you're unsure about specific SKUs, consult a legal professional.
What if my return window is already longer than 14 days? That's fine — you're already compliant on the window length. Make sure you've also set the Start event to Delivery date in your return policy, confirmed Refund is enabled as a resolution type, set up the outbound shipping refund Workflow, added the model withdrawal form to your return policy page, and provided a compliant withdrawal button.
Do I need a separate Policy Zone for EU shoppers? Not necessarily. If your global policy already meets or exceeds the EU requirements (14+ day window from delivery, Refund enabled, outbound shipping refundable), you don't need a separate one. If your default policy is more restrictive, create a separate return policy for EU regions and use the Shipping country workflow condition to apply EU-specific rules.
Can I still charge a return fee on EU orders within the 14-day window? Within the 14-day cooling period, you generally cannot charge a fee against the refund itself — the shopper must receive their full product cost plus the standard outbound delivery charge back. You can require the shopper to pay return postage costs (unless you've offered to cover them or failed to disclose this upfront). After the 14-day window, standard return fees apply.
What about the UK? The new EU 2023/2673 withdrawal button requirement is an EU/EEA measure — confirm current UK-specific requirements with your legal advisor.
Does this apply to EFTA markets like Norway? Yes. The EU Consumer Rights Directive has been incorporated into the EEA Agreement, so the right of withdrawal requirements apply equally in Norway, Iceland, and Liechtenstein. The setup steps above cover those markets.
Does this apply to exchanges and store credit? The right of withdrawal requires that a full cash refund is available. You can offer exchanges and store credit as additional options, but you cannot make them the only options during the 14-day window.
A merchant wants to separate the 14-day statutory window from a longer satisfaction guarantee with different restrictions. Is that possible in Loop? Yes. Use Workflows with a Days since return window began condition to create two branches: one for ≤14 days that preserves unrestricted refund access, and one for >14 days that applies your extended policy terms. The statutory window must always remain unrestricted.
A shopper or partner is asking for our "withdraw link" — what do I provide? The withdraw link should point to your compliant withdrawal button (the storefront withdrawal function with two-step confirmation and automatic confirmation email), kept accessible throughout the 14-day window — for example, linked from your footer and order confirmation emails. Loop does not generate this link or the underlying function; you provide it via a withdrawal-button app or a custom form (see Step 4). A link to a static policy section with only a PDF form and an email address does not, on its own, satisfy the 19 June 2026 requirement.
A merchant told me the law requires a "one-click" free return label outside of the Loop portal — is that true? Not quite — it's two separate ideas. There is no requirement for an automated return label or a one-click refund. There is (from 19 June 2026) a requirement for an automated withdrawal function — the button, two-step confirmation, and confirmation email — which logs the shopper's intent to withdraw. That function does not generate a label or process the return; your team still actions the return in Loop. Your existing Loop returns portal can remain in place; the withdrawal button and the portal coexist.
Can I tell shoppers and partners that "Loop supports the EU Right of Withdrawal"? Loop's platform includes the configuration options needed to meet the return-and-refund requirements of the directive (14-day window, full refunds, outbound shipping refunds). It does not provide the storefront withdrawal button required from 19 June 2026 — that's handled outside Loop. EU compliance is ultimately the merchant's responsibility. Loop recommends reviewing your full obligations with a legal professional before making representations about your compliance status.
My return window override workflow isn't working — what should I check? Return Window actions in Workflows work most reliably when paired with Order Tag conditions. If you're using a date-based or product-based condition to extend or change a return window, it may not evaluate in time. Apply an Order Tag to the relevant orders (e.g., via Shopify Flow) and target that tag in your workflow instead.
Please reach out to support@loopreturns.com with any additional questions.
