Dark Patterns to Avoid
Dark patterns are design techniques that manipulate users into doing things they didn't intend to do. They trade short-term business metrics for long-term trust destruction. They're increasingly illegal (EU, California, FTC enforcement), and they always backfire: users who feel tricked churn faster, leave negative reviews, and file complaints.
The term "dark patterns" was coined by Harry Brignull in 2010. The EU's Digital Services Act and GDPR specifically prohibit many of these patterns. The FTC has taken enforcement action against companies using them.
The Complete Catalog of Dark Patterns
1. Confirmshaming
Guilting users into opting in by making the opt-out option embarrassing or insulting.
| Dark Pattern | Ethical Alternative |
|---|---|
| "No thanks, I don't want to save money" | "No thanks" or "Dismiss" |
| "I prefer to pay full price" | "Skip" |
| "No, I don't care about my health" | "Not now" |
| "I'll stay uninformed" | "Close" |
Why it works: Social pressure and loss aversion. Why it's wrong: It's emotionally manipulative. Users feel resentful, not grateful. Why it backfires: Users who subscribe under guilt unsubscribe faster and have lower lifetime value.
2. Hidden Costs
Revealing additional fees, taxes, or charges only at the final step of checkout.
DARK PATTERN:
Step 1: Product: $29.99
Step 2: Shipping: $29.99 + $5.99 shipping
Step 3: Total: $29.99 + $5.99 + $3.99 service fee + $2.00 handling
ETHICAL ALTERNATIVE:
Step 1: Product: $29.99 | Estimated total: $41.97
(includes shipping + fees)
Step 2: Confirm: $41.97 total (breakdown visible)
Legal risk: The FTC's "Junk Fees" rule and EU Consumer Rights Directive require upfront price disclosure. Airlines and hotel booking sites have been fined millions.
3. Roach Motel
Easy to get into, extremely difficult to get out of. Signing up takes 2 clicks; cancelling requires a phone call, multiple retention screens, or a letter sent by post.
Examples:
- Sign up online → cancel only by calling during business hours
- One-click subscribe → 5-page cancellation flow with guilt-trip copy
- Create account instantly → delete account buried 4 levels deep in settings
- Join free trial with no friction → cancellation requires "speaking to a specialist"
Ethical alternative:
- Cancellation should be as easy as sign-up
- Offer a clear "Cancel subscription" button in account settings
- Allow account deletion with one confirmation step
- Don't force users to explain why they're leaving (offer optional feedback)
Legal risk: FTC's "Click-to-Cancel" rule explicitly requires cancellation to be as easy as sign-up. California's auto-renewal law has similar requirements.
4. Trick Questions
Using confusing wording, especially double negatives, to trick users into agreeing to something they didn't intend.
| Trick | What Users Think | What Actually Happens |
|---|---|---|
| "Uncheck this box to not receive emails" | "I should uncheck to opt out" | Confusion leads to accidental opt-in |
| "Do you not want to unsubscribe?" Yes/No | ??? | Even careful readers get confused |
| "Check here if you prefer not to receive offers from partners" | Ambiguous: does checking opt in or out? | Intentionally unclear |
Ethical alternative: Clear, positive-framed language:
- "Check this box to receive marketing emails" (unchecked by default)
- "Would you like to receive product updates? Yes / No"
5. Forced Continuity
Free trial automatically converts to a paid subscription without clear notice. Users don't realize they're being charged until they see the credit card statement.
Dark pattern signs:
- Requires credit card for a "free" trial
- No reminder email before trial ends
- First charge is the annual plan, not monthly
- Cancellation is difficult (see Roach Motel)
Ethical alternative:
- Offer genuinely free trials without requiring payment info
- If payment info is required, send a reminder email 3-5 days before charging
- Clearly state what happens after the trial and the exact date
- Make cancellation one click
6. Misdirection
Using visual design to draw attention toward a desired action and away from alternatives the user might prefer.
DARK PATTERN:
┌─────────────────────────────────────────────────────┐
│ Do you want to install the toolbar? │
│ │
│ ┌────────────────────────────────────────────┐ │
│ │ YES, INSTALL TOOLBAR │ │ ← Giant, colorful button
│ └────────────────────────────────────────────┘ │
│ │
│ no thanks │ ← Tiny, gray, easy to miss
└─────────────────────────────────────────────────────┘
ETHICAL ALTERNATIVE:
┌─────────────────────────────────────────────────────┐
│ Do you want to install the toolbar? │
│ │
│ [No Thanks] [Yes, Install] │ ← Equal visual weight
└─────────────────────────────────────────────────────┘
Key principle: Give all options equal visual prominence. The "No" option should be just as visible and easy to click as the "Yes" option.
7. Privacy Zuckering
Confusing privacy settings that default to maximum data sharing, with intentionally complex opt-out processes.
Examples:
- Defaulting all sharing to "public"
- Privacy settings spread across 15+ different pages
- "Personalize your experience" toggles that are really data collection consents
- Requiring users to opt out of each data use individually (100+ toggles)
Ethical alternative:
- Default to the most private settings
- Provide a single, clear privacy dashboard
- Use plain language: "We share your data with advertisers" not "We partner with select companies to deliver relevant experiences"
- Provide a "reject all" option that's as prominent as "accept all" for cookie consent
8. Sneak into Basket
Adding items to the user's shopping cart without explicit consent.
Examples:
- Pre-checked "add insurance" checkbox
- "Recommended" add-ons already in cart
- Subscription added during one-time purchase
- Donation pre-selected during checkout
Ethical alternative:
- Nothing goes in the cart without the user explicitly adding it
- Default all add-ons to unchecked
- Present add-ons as suggestions, not defaults
9. Bait and Switch
Promising one thing but delivering another.
Examples:
- "Free" software that's actually a 7-day trial
- "Download" button that actually starts an installer with bundled software
- "Close" button that opens an ad instead of closing
- Windows 10 upgrade: clicking the X to close the dialog actually scheduled the upgrade
Ethical alternative: Every button does exactly what its label says. No exceptions.
10. Friend Spam
Requesting access to contacts under the guise of finding friends, then spamming those contacts.
Ethical alternative:
- Never send messages to imported contacts without explicit per-message consent
- Let users select which contacts to invite (don't auto-select all)
- Clearly show what message will be sent before sending
11. Disguised Ads
Ads designed to look like content, navigation, or system notifications.
Examples:
- "Download" buttons that are actually ads on software sites
- "Recommended articles" that are paid placements
- Fake system warnings: "Your computer is infected! Click here"
- Native ads without clear "Ad" or "Sponsored" labels
Ethical alternative:
- Clearly label all advertising with "Ad" or "Sponsored"
- Visually distinguish ads from content (border, background, label)
- Don't design ads to look like system dialogs or error messages
12. Urgency and Scarcity (When False)
Creating artificial urgency or scarcity to pressure immediate action.
| Dark Pattern | Reality |
|---|---|
| "Only 2 left in stock!" | Inventory is actually plentiful |
| "5 other people are looking at this right now" | Number is fabricated |
| "Sale ends in 00:42:17" | Timer resets on page reload |
| "Limited time offer!" | The offer is always available |
When it's legitimate: When scarcity is real (limited event tickets, seasonal products). When it's dark: When the urgency is manufactured to pressure quick decisions.
Ethical alternative: Show real inventory data. If there's a sale, give an actual end date. Don't lie.
13. Nagging
Persistent, repeated requests that disrupt the user experience.
Examples:
- App rating popups that appear every 3 sessions
- "Turn on notifications?" asked repeatedly after dismissal
- "Download our app" banners on every page of the mobile site
- Newsletter popups that reappear on every visit
Ethical alternative:
- Ask once. If declined, don't ask again for at least 30 days.
- Provide a "Don't ask again" option that's respected.
- Never block content with persistent popups.
The Legal Landscape
| Regulation | What It Covers | Penalty |
|---|---|---|
| EU GDPR | Cookie consent dark patterns, privacy zuckering | Up to 4% of global revenue |
| EU Digital Services Act | All dark patterns in online platforms | Up to 6% of global revenue |
| FTC (US) | Deceptive practices, hidden fees, forced continuity | Case-by-case fines (millions) |
| California CCPA/CPRA | Opt-out dark patterns, privacy | $7,500 per intentional violation |
| FTC Click-to-Cancel Rule | Roach motel subscriptions | Fines + mandatory remediation |
The Ethics Test
Before implementing any pattern, ask these five questions:
| Question | If "No", It's a Dark Pattern |
|---|---|
| Would the user choose this if they fully understood what's happening? | Deception |
| Is the opt-out as easy and visible as the opt-in? | Asymmetric friction |
| Would I be comfortable showing this interaction to a journalist? | Reputation risk |
| Would I want my grandmother subjected to this pattern? | Exploitation |
| Does this benefit the user at all, or only the business? | Misaligned incentives |
Dark Pattern Detection Checklist
When reviewing a design, check for:
| Check | Question |
|---|---|
| Pre-selected options | Are any checkboxes pre-checked that add cost or share data? |
| Asymmetric design | Is the business-preferred option visually larger/brighter? |
| Hidden information | Are costs, terms, or consequences hidden until later in the flow? |
| Difficulty of exit | Is cancellation/unsubscription harder than sign-up? |
| Misleading language | Are there double negatives, guilt-trip copy, or confusing wording? |
| Fake urgency | Are there countdown timers that reset, or false scarcity claims? |
| Nagging frequency | Are dismissed requests re-appearing too soon? |
| Default settings | Do defaults favor the business over the user's privacy/interests? |
Ethical Design Principles
| Principle | Implementation |
|---|---|
| Transparency | Show all costs upfront. Explain what data you collect and why. |
| Equal choices | Give the "no" option equal visual weight to the "yes" option. |
| Respect decisions | When users say no, don't ask again for a long time. |
| Easy exit | Cancellation and account deletion should be self-service and simple. |
| Honest defaults | Default to the option that benefits the user, not the business. |
| Clear language | Use plain, positive language. No double negatives or jargon. |
| Genuine urgency only | Only show urgency signals when they reflect reality. |
| Privacy by default | Default to minimum data collection. Let users opt in to more. |
Business Case Against Dark Patterns
Dark patterns may boost short-term metrics but destroy long-term value:
| Short-Term "Win" | Long-Term Cost |
|---|---|
| Higher signup rate | Higher churn rate, lower retention |
| More email subscribers | Higher unsubscribe rate, spam complaints, deliverability damage |
| More add-on sales | Higher return rates, lower customer satisfaction |
| More app installs | 1-star reviews, higher uninstall rate |
| More data collected | Regulatory fines, data breach liability |
| Higher trial conversion | Chargebacks, support tickets, refund requests |
The math: Users acquired through dark patterns have 2-3× higher churn, 4× more support tickets, and significantly lower lifetime value. You spend more acquiring users you'll lose anyway.
Common Mistakes (Even Well-Intentioned Teams)
| Pattern | How It Happens | Fix |
|---|---|---|
| Cookie consent with tiny "Reject" button | "Legal said we need consent, design made Accept prominent" | Make Accept and Reject equal size and prominence |
| Newsletter popup on first visit | "Marketing needs email signups" | Wait until user has read 2+ articles or spent 30+ seconds |
| Pre-checked marketing consent | "Opt-in rates are too low otherwise" | Uncheck by default. Improve your value proposition instead. |
| Cancellation retention flow | "We need to reduce churn" | Offer one page of alternatives, then let them go. Max 2 clicks. |
| Hiding free tier | "We want users on paid plans" | Show all tiers including free. Let the product sell itself. |
Key Takeaways
- Dark patterns trade trust for metrics. The metrics always reverse. Trust doesn't come back.
- If you wouldn't show it to a journalist or explain it to your grandmother, don't ship it.
- Cancellation should be as easy as sign-up. One page, one confirmation, done.
- Default to the user's interest, not the business's interest. Especially for privacy settings.
- Give all choices equal visual weight. "Accept" and "Decline" should look the same.
- False urgency, fake scarcity, and hidden costs are increasingly illegal. The fines are real and large.
- When in doubt, be transparent. Users who feel respected become loyal customers. Users who feel tricked become vocal detractors.