You want to increase your conversion rate without losing trust. Dark patterns lure customers with short-term clicks, but they damage your brand, repeat purchases, and legal compliance. This article shows you clear rules, concrete alternatives, and an implementation checklist.
What are dark patterns?
Dark patterns are design patterns that pressure users into taking actions they wouldn't otherwise choose. They involve interface, text, and workflow. The goal is often to obtain consent, sell add-ons, start subscriptions, or make it difficult to exit.
Typical goals
- More consent for cookies or Marketing
- Higher shopping cart value through hidden options
- Longer commitment due to more difficult termination
- Faster sales through artificial pressure
Why this is delicate
- Legal risks regarding consent and information obligations
- Loss of trust, declining repurchase rate
- Higher returns, more support cases
- Poorer brand perception
Legal framework in the EU and Germany
Several sets of regulations apply within the EU. Platforms are prohibited from using manipulative design. Shops are subject to rules regarding unfair business practices, consumer rights, and data protection. Pre-ticked checkboxes for cookies are not permitted. Consent must be given freely, informed, and actively.
Two sources help to put this into perspective: The Federal Court of Justice ruling on cookie consent and the EDPB guidelines on misleading interface patterns.
Both demonstrate that design must not deceive, and consent requires genuine choice.
Examples of dark patterns in the shop
| pattern | Example in the shop | Risks | Better this way |
|---|---|---|---|
| Forced opt-in | Pre-checked checkbox for cookies or newsletter | Invalid consent, risk of legal action | Opt-in without pre-selection, clear selection, short texts |
| Artificial scarcity | Permanent countdown timers without any real substance | Misleading behavior, loss of trust | Show actual stock levels or time periods, otherwise omit. |
| Hidden Costs | Additional fees only become visible at the end | Dropout rate, legal risk | Price, shipping, and fees are displayed early and clearly. |
| Trick box | Subscriptions or insurance policies in fine print in the shopping cart | Cancellations, complaints | Options as an add-on with clear price information and default "off" |
| Roach Motel | Creating an account is easy, but deleting one is only possible via email. | Discontent, negative reviews | Cancel and delete your account in just a few clicks. |
| Confirmshaming | "No, I don't want any good deals" as button text | Unprofessional impression | Neutral wording, genuine choice |
| Hidden opt-out | The unsubscribe link in the newsletter is barely legible. | Spam complaints | Clearly visible unsubscribe link, effective immediately |
What you should do instead
1. Design consent clearly
- No default settings. Use clear opt-in buttons.
- Brief explanation, precise purposes, name of providers
- Offer "Reject all" and "Accept all" as equivalent options.
- Allowing later changes in the footer
2. Clearly structure the checkout process

- Show all costs early, including shipping and fees.
- Additional benefits are voluntary and transparent
- Offer guest checkout
- Clearly demonstrate progress, no surprises
3. Make subscriptions fair
- Allow cancellation directly in the account
- Clearly state the next debit date, send reminders
- No hurdles like phone calls or faxes
- Make upgrading and downgrading equally easy
4. Copy without printing
- Label buttons neutrally
- No shaming, no deception
- Clearly state the benefits, link to the conditions.
- Check readability, pay attention to contrast and size
Background information on the term and risks can be found at the consumer advice center . The EU guidelines on the UCP Directive also provide guidance on the legal assessment.
Here's how to implement it as a team
Governance
- Document UX guidelines and maintain examples of permissible patterns.
- Mandatory review before going live, four-eyes principle
- Risk matrix: What's okay, what's legally checked, what's taboo
- Incident plan for complaints and corrections
Technology
- Implement consent management with logging
- Use feature flags for experiments; they can be quickly reversed.
- Calculate price components centrally and display them identically everywhere.
- Termination flow as a separate route, without hidden steps
Data collection
- Measure dropout rates per step
- Return rate and check support tickets for changes
- NPS, complaints, Trustpilot trend tracking
- Compare consent rates with and without dark patterns; quality over quantity.
Audit checklist for your shop
- Homepage, category pages, PDP: No misleading timers or stock indicators.
- Shopping cart: No pre-selected add-ons, clear totals
- Checkout: Include fees, shipping, and taxes upfront; don't hide promo codes.
- Newsletter: Opt-in is voluntary, double opt-in, clear advantages
- Consent banner: Equivalent options, understandable purposes, can be changed later
- Account: Cancellation and deletion easily accessible, immediate confirmation of effectiveness
- Texts: No embarrassing rejection texts, no hidden conditions
- Tracking: Log consents, implement revocation technically
Practical example: Sample texts and microcopy
consent banner
Example text
We use cookies to provide features and collect statistics. You can accept or decline. See settings for details.
Accept all · Reject all · Settings
Upsell in shopping cart
Example text
Add device protection for 12 months. Price €29,90. Optional.
Add · Continue without protection
cancellation subscription
Example text
You can cancel your subscription here. The service will continue until the end of the paid period.
Cancel subscription · Back
Price information
Example text
Total €89,90. Incl. VAT. Plus €4,90 shipping. Delivery time 2 to 3 days.
Share your experience
Which patterns have you replaced in your shop, and what improvements have you made? Post your example. Ask your questions. Name a flow you want to revise. I'll give you specific feedback.






















{% endif %} {% if title and title != "" %}
{{ title }}
{% endif %} {% if excerpt and excerpt != "" %}