In this guide
A dark pattern is a design choice that steers people into something they did not mean to do. On a paywall that means a purchase they did not understand. Beyond being unfair, it brings refunds, complaints and bad reviews, and it may break store policy or consumer rules. Apple's guidelines (§3.1.2(a)) say: "Apps that attempt to scam users will be removed from the App Store. This includes apps that attempt to trick users into purchasing a subscription under false pretenses or engage in bait-and-switch and scam practices." For Google and for consumer rules in your markets, check the current policies; this is not legal advice. Source: Apple, App Review Guidelines, retrieved 2026-10-22.
Go through your own paywall, then ask someone else to do it (comprehension test). Part of Testing monetization.
The checklist
For each item: if the answer is "yes, we do this", remove or fix it.
- Hidden or tiny close button. Can a person find the way out in two seconds? Fix: a clear, tappable close control with enough contrast.
- Close button that appears late. A forced wait before you can leave. Fix: show it immediately.
- False urgency. A countdown that resets, "only today" that is always there, "3 people are looking at this" that is not true. Fix: only state real deadlines.
- Price buried. The price is smaller or paler than the benefits. Fix: price and period at readable size next to the button.
- Unclear renewal. The text does not say it renews, or says it only in fine print. Fix: one plain line near the button, such as "Renews yearly until you cancel".
- Free trial without the follow-up price. Fix: always show what is charged after the trial and when.
- Misleading button. "Continue" or "Claim" that actually buys. Fix: say what it does.
- Pre-selected expensive option without saying so, or a toggle that looks like "off" when it is on. Fix: make the selection obvious and neutral.
- Confirmshaming. The decline link says "No, I don't want to save money". Fix: neutral wording like "Not now".
- Fake social proof or fake scarcity. Made-up ratings, user counts or stock limits. Fix: remove; use only true statements you can back up.
- Hard cancellation path. Subscribing takes one tap, cancelling takes a hunt. Fix: tell users where to cancel; link to the store's subscription management.
- Repeated interruptions. The paywall returns after every dismissal. Fix: a sensible limit; see Paywall placement.
- Free content disguised as locked, or locked content shown as free. Fix: mark what is paid.
- Accessibility used against the user. Text with too little contrast for the key terms. See paywall accessibility.
How to check
Take a screenshot, show it to a person for five seconds, ask what they think happens next. Then compare against the list. Keep a dated copy of each version of the screen.
Related
Paywall copy testing, Paywall design.
Want a fresh pair of eyes? Ask AppReviewX testers whether anything felt pushy. Start free.