Dark Patterns in Copy: Persuasion vs Manipulation
Facebook spent years never saying the word "tracking."
The pixels were there. The cross-site collection was there. On the page it was "ad preferences", sometimes "personalisation", and not one word of it was false.
Then Apple made the word compulsory. Allow Tracking, or Ask App Not to Track.
Facebook took out full-page newspaper ads to fight it. Meta later put billions in lost revenue down to the change.
That's what a word is worth.
Nobody lied. The difference between the version people accepted and the version they refused was a single noun, and somebody sat down and chose it.
Which is what a dark pattern in copy is. You've written one. Probably this year.
Here's what you'll learn in this blog:
What a dark pattern in copy is, and the mechanisms behind them
What each one looks like – fake urgency, confirmshaming, drip pricing, euphemism and the rest
Which ones are illegal, and where
What the research says about whether they actually work
Six tests for telling persuasion from manipulation
How to audit your own site in an hour
What is a dark pattern in copy?
A dark pattern in copy is wording that steers someone towards a choice they wouldn't otherwise make: by lying, shaming, confusing, hiding information, or obstructing them, rather than by giving them a reason.
The term was coined in 2010 by Harry Brignull, a UX designer with a doctorate in cognitive science. He named and catalogued the patterns at deceptive.design.
Are dark patterns and deceptive patterns the same thing?
Mostly. Deceptive patterns is the newer term, and Brignull moved to it himself.
But there's a catch.
Not every dark pattern deceives. A cancellation flow with five "are you sure?" screens never lies to you once. It just makes leaving exhausting. Confirmshaming doesn't lie either, it makes you feel cheap for saying no. Both are honest, but they’re both dark patterns.
Deception is one mechanism. Coercion, obstruction and exploitation are the others. If you only police deception, you miss most of what's actually happening.
Why this is also a copy problem, not just design
Dark patterns get filed under design. Screenshots, grey buttons, a red circle drawn round a checkbox.
Design decides the font size. Copy decides whether there's anything worth shrinking.
Which means if you write copy, you're not the last line of defence against this stuff. You're quite often the person building it. The sentence came from somewhere.
It came from you.
The short version
If you read nothing else:
Check the claim is true. "Only 2 left" with 2 left is fine. With 500, it's a false statement of fact made to induce a transaction.
Check no is as easy as yes. Same clicks, same weight, same tone.
Check you'd say it out loud. Print the mechanism next to the copy. "This timer resets on refresh." Still comfortable?
Check they can undo it. If signup takes 30 seconds and cancelling takes a phone call, that should be clear.
Check what you've renamed. If the page avoids a word, ask which word, and why.
Check your pricing page. Specifically the /mo figure with billed annually underneath it in grey. Yes. That one.
Stop measuring the click. Dark patterns are what A/B testing converges on when the click is the only thing you score.
Types of dark patterns in copy (with examples)
Patterns that lie: fake urgency, fake scarcity and false social proof
The clean ones. Binary, no debate or grey zone.
Fake urgency. A countdown that resets on refresh. "Sale ends midnight" on a page that's said that since 2019.
Fake scarcity. "Only 2 left!" on unlimited digital inventory.
False social proof. "17 people are viewing this right now." Fabricated activity pop-ups. Bought reviews.
Bait and switch. The headline promises the thing. The page delivers a different thing.
Misrepresented trust signals. "SOC 2 compliant" when you mean "SOC 2 in progress."
⚠️ The Unfair Commercial Practices Directive has an annex listing practices banned outright, in all circumstances, with no case-by-case assessment, and falsely claiming something is available only for a very limited time is on it.
➡️ Is the sentence true? You don't need ethical sophistication to run it. You need thirty seconds and the willingness to ask.
Patterns that shame: confirmshaming
Confirmshaming is pure copy. There is no design component whatsoever.
"No thanks, I like paying full price."
"No, I don't want to grow my business."
"I'd rather stay stuck."
The mechanism: the decline option is written by someone who resents you for declining.
The question I'd ask before shipping one. Would you say that sentence out loud, to that person's face, in a shop?
Because you did. You just said it to eleven thousand people and didn't have to watch any of them read it. 😬
Patterns that confuse: trick wording and comparison prevention
1️⃣ Trick wording. Double negatives in consent.
👀 "Untick this box if you would prefer not to be excluded from receiving communications."
Parse it. Now parse it on a phone, at speed, when you want the thing on the next page and this is the fourth screen.
2️⃣ Ambiguous quantifiers. "Up to 90%." "As little as £9." "From £49." A number nobody achieves, positioned as the number.
3️⃣ Comparison prevention. Tier one priced per seat. Tier two per workspace. Tier three per "active user," defined somewhere else entirely. Not a single lie on the page. And the page cannot be read.
4️⃣ Passive voice that hides the actor.
❌ "Your card will be charged."
versus
✅ "We will charge your card."
Patterns that hide: drip pricing and hidden subscriptions
Drip pricing. Fees revealed at step four, once you've invested enough effort to feel silly leaving.
Hidden subscription. The auto-renewal disclosed in 11px grey, below the fold, in a sentence engineered to be skipped. The disclosure exists. Existing is its entire job. Being read was never the plan.
"Free trial" where free is doing something other than its dictionary work.
Unlimited* – where the asterisk goes to a fair use policy that defines the limit.
Patterns that obstruct: roach motel and sludge
1️⃣ Roach motel. Easy in, hard out.
"Are you sure? You'll lose access to your data."
"Before you go, can we offer you 40% off?"
"Tell us why you're leaving." (required field)
"Are you sure you're sure?"
2️⃣ Sludge. Cass Sunstein's term: administrative burden as a deliberate design choice, from his 2021 book of the same name. He proposes organisations run a sludge audit.
Patterns that rename: euphemism
Amazon's cancellation flow, catalogued by Graeme Fulton in 2021, managed to avoid the word "cancel" almost entirely. You didn't cancel your membership. You went somewhere to end benefits.
Nothing concealed. Nothing false. The page worked, the flow completed, every word on it accurate. It just wasn't called what it was.
People arrive at your site expecting it to behave like every other site. So nobody reads a cancellation page. They scan it for the word "cancel", because that's the word everywhere else uses,.
Take the word out and you haven't lied about anything. You've removed the signpost.
Medium, in the same 2021 catalogue, replaced "paywall" with Partner Program; and coined "meter my story" for putting a piece behind it.
Fine. Except now you need a word for taking it back out again. And since "meter" is the word you invented, the opposite has to be built from it.
Their help page read: deselect the checkbox to unmeter your post.
Read that as someone who has never heard "meter" used this way. You're being asked to deselect something in order to un- a verb that doesn't exist outside this product.
The euphemism manufactured a double negative, landing you in the confuse category as well, by accident, because you avoided a word.
So is all euphemism a dark pattern?
"Get started" instead of "Sign up" misleads nobody. Same action, friendlier door.
➡️ Does the rename help them understand, or help them not notice?
"Get started" describes the same event more warmly. "End benefits" describes a different event.
Is your SaaS pricing page a dark pattern?
$49/mo in 48px. billed annually in 11px grey underneath.
When the actual transaction is $588. Today, on one card.
Annual billing isn't a trick. It funds the year, it cuts churn, and the discount is genuine: the customer is actually better off taking it. Nobody has invented a fake benefit here. The offer is good.
But if the pricing is honest, and the discount is real, and the page still leaves someone with a false belief, then the problem was never the pricing. It's the copy.
Asymmetric? Yes. The two numbers are not given equal weight, and it isn't close.
Hides information? Yes. The real charge is the small one.
Deceptive? Arguably. It induces a false belief about what's about to happen to your bank account.
Why /mo does the lying for you
Jakob Nielsen's law of the web: people spend most of their time on other websites, so they arrive at yours expecting it to behave like everywhere else.
Every /mo that person has ever met is a monthly cadence. Their phone. Their Netflix. Their gym. Every one of them lets you leave.
So /mo doesn't have to claim you can cancel in February.
It sits there and lets the entire rest of the internet make the claim on its behalf.
It borrows a promise from every other site your reader has ever used, and then subtly doesn't honour it.
How to fix this
Instead of
❌ $49/mo + billed annually
❌ Two prices, one findable
❌ “Billed annually”
✅ $588/year + works out at $49/mo
✅ $588/year and $59/mo, equal weight
✅ "One payment of $588. Covers 12 months."
Do dark patterns work? What the evidence says
Yes. Uncomfortably well.
In Luguri and Strahilevitz, "Shining a Light on Dark Patterns" published in the Journal of Legal Analysis in 2021, mild dark patterns more than doubled acceptance. Aggressive ones nearly quadrupled it.
And there was one very interesting finding:
Less-educated participants were disproportionately susceptible to the aggressive patterns.
Yep, dark patterns aren't a tax on everyone equally. They're a tax on whoever had the least time, the worst screen, the most going on, and the least practice at spotting the trick.
Is any of this actually illegal?
There is no single legal definition of a dark pattern in EU law.
UCPD – Misleading and aggressive B2C practices. Doesn't use the words "dark patterns" at all.
DSA Art. 25 – Prohibits platform interfaces that distort or impair autonomous choice
DMA Art. 13 – Anti-circumvention. Stops gatekeepers designing their way around obligations
AI Act Art. 5 – Bans subliminal and purposefully manipulative techniques, and exploiting vulnerabilities based on age, disability or economic situation
CRD Art. 16(e) – Bans dark patterns in distance financial services contracts (2023 amendment)
Data Act, recital 38 – Interfaces mustn't make decisions unduly difficult
GDPR – Consent obtained by manipulation isn't consent
Persuasion vs manipulation: where's the line in copywriting?
The copywriter’s trade uses urgency. Scarcity. Social proof. Loss aversion. Anchoring. Reciprocity.
So "don't manipulate people" is useless advice, because persuasion is the job. The question is where the line falls.
These six tests can help you figure it out ⬇️
1. The truth test. Is the claim factually true?
2. The disclosure test. Would the user be surprised to learn how this works?
3. The symmetry test. Is no as easy as yes?
4. The regret test. Would they endorse this choice tomorrow?
5. The reversibility test. Can they undo it as easily as they did it?
6. The lights-on test. Would you run it if the user could see your intent and your test results?
How to run a dark pattern audit in your copy
A dark pattern audit checks your live copy against the five mechanisms: lying, shaming, confusing, hiding, and obstructing. You read each page as a stranger with a deadline, note what the words do rather than what you meant, and triage the findings by whether they're false, asymmetric, or merely arranged. It takes about an hour.
💡 Open the live site. Not Figma, not the doc, not the staging build. Copy behaves differently in a container it wasn't written in, the sentence you approved at 16px is now 11px grey, three scrolls down, next to a button that's been redesigned twice since.
Step 1: the lie check
Take every number and factual claim on the site. Ask if it's true today.
Countdown timers – does it reset on refresh?
Stock counts – connected to inventory, or typed in once?
"17 people are viewing this" – is that a query or a decoration?
Social proof numbers – when were they last updated?
Trust badges – has the audit actually happened?
Step 2: the shame check
Find every decline option on the site. Read each one out loud.
Opt-outs, "no thanks" links, exit-intent dismissals, downgrade paths, unsubscribe copy.
Out loud matters. Confirmshaming survives on screen because nobody has to hear it. Say "no thanks, I like paying full price" in a normal speaking voice and the sentence collapses on its own, you'll hear the sneer before you've finished it.
👀 The test: would you say it to their face, in a shop, without changing your tone?
If no, it doesn't ship. You already said it. You just said it to eleven thousand people and didn't have to watch.
Step 3: the confuse check
Take every choice on the site. Can a stranger parse it in one read?
Consent copy – any double negatives? Read them aloud too. If you have to reverse-engineer the sentence, it's engineered.
Pricing tiers – same unit across all of them? Per seat, then per workspace, then per "active user" isn't a lie. It's a page that can't be read.
Quantifiers – "up to 90%," "from £49." Does anyone get that number? How many?
Bundled actions – is accepting terms welded onto something unrelated?
The tell: you re-read your own sentence to check it says what you meant. If the author needs two passes, the stranger gets it wrong on one.
Step 4: the hide check
Follow every asterisk. Then look at your pricing page.
Asterisks first. Find the small print each one leads to, then ask one question: is the small print correcting the big print?
If it is, the big print is wrong. Fix the big print. Small print that qualifies is fine, small print that contradicts means the headline is a claim you already know you can't make.
Then the pricing page. What's the actual amount, and how big is it relative to the amount you'd prefer people saw? Is the commitment stated, or implied by a unit?
👀 The test: would the customer be surprised by the amount that leaves their account, or by the date they're allowed to leave?
Step 5: the rename check
List every word your site avoids.
Then ask what the plain version would be, and why it isn't there.
Do you cancel, or do you end benefits?
Is it a price rise, or a plan update?
Is it tracking, or personalisation?
Is it a paywall, or a programme?
🚩 The tell: the plain word exists, everyone in the building uses it in meetings, and it appears nowhere on the site.
Step 6: the copy sludge audit
Count every sentence between a user and cancelling. Each screen, each "are you sure," each required field, each retention offer.
Count every sentence between a user and signing up.
Compare.
The number itself doesn't matter. The ratio does; it's a direct measurement of how much you'd rather they didn't leave, expressed in obstruction, and nobody in the building has ever seen it written down.
If the audit finds something
I can help. Website and conversion copy for B2B SaaS, written to hit the number without the flinch.
Or just tell me what you found →
No pitch. I'll tell you if it's a real problem or if you're being hard on yourself.
No timer on this one. I'd have had to delete the post. 😅
FAQs
What is a dark pattern in copy?
A dark pattern in copy is wording that steers someone towards a choice they wouldn't otherwise make: by lying, shaming, confusing, hiding information, or obstructing them, rather than by giving them a reason. Confirmshaming, fake urgency, and trick wording are copy patterns. The design decides how prominent they are. The words are the pattern.
What's the difference between persuasion and manipulation?
Persuasion gives someone a reason and lets them decide. Manipulation exploits how they decide. The practical test: would they endorse the choice tomorrow, on reflection? Good persuasion helps someone do what they'd have wanted to do anyway. Manipulation gets them to do what you wanted.
Are dark patterns illegal?
Some are, and it depends where. In the EU, falsely claiming limited availability is on the Unfair Commercial Practices Directive's blacklist of always-prohibited practices. The Digital Services Act explicitly prohibits deceptive interface design on platforms. The UK's DMCC Act bans fake reviews and addresses drip pricing. Several US states void dark-patterned consent. Many other patterns are perfectly legal and simply grim.
Is fake urgency illegal?
In the EU, yes: falsely stating that a product is available only for a very limited time, in order to elicit an immediate decision, is on the UCPD's Annex I blacklist of practices banned in all circumstances. Real urgency is fine. A deadline you actually intend to honour is a fact, and stating facts is allowed. The illegality is in the word falsely.
Is confirmshaming a dark pattern?
Yes. Confirmshaming writes the decline option to make the user feel bad about declining: "no thanks, I like paying full price." It's pure copy with no design component. It fails the symmetry test: the options may be equal in clicks and visual weight, but they're not equal in tone, and tone is where the coercion is.
What's a copy sludge audit?
A copy sludge audit counts the sentences between a user and their intention. Open the live site, count the sentences required to cancel, count the sentences required to sign up, and compare. Adapted from Cass Sunstein's concept of sludge — administrative burden used as a deliberate design choice. It takes about twenty minutes and it always finds something.
Is my pricing page a dark pattern?
If there’s one thing to check: the size of the /mo figure versus the size of billed annually. If a customer would be surprised by the amount that leaves their account, the page is hiding information – regardless of whether every word on it is technically true. Annual billing isn't the problem. The type size is.