Skip to main content

Manipulation Defense / Card lesson

Subscriptions Hide the Total Cost

Monthly pricing can hide yearly cost, cancellation friction, and the attention needed to notice the bill.

Published by Rebuilt3 sources
Subscriptions Hide the Total Cost lesson art: blank calendar stack, bill envelope, hidden card, and recurring cord cue on a dark table

Monthly pricing makes the number behave

{{money:9|USD}} a month looks harmless.

Six forgotten {{money:9|USD}} subscriptions do not look harmless when the month keeps leaking.

A subscription has three costs

The price is only the obvious part.

A subscription also costs attention to notice, and friction to cancel. Good subscription design makes value obvious. Predatory design makes leaving annoying.

Free trials start a clock

A trial can be useful when you actually evaluate it.

It becomes a trap when the signup is easy, the reminder is absent, and cancellation waits behind several screens.

The 2024 ICPEN dark-patterns sweep flagged subscription traps, hard-to-cancel flows, and hidden recurring costs across thousands of sites.

Quick check

Knowledge Check

What is the most honest way to judge a subscription?

Try this

Convert it to the yearly number

Before signing up, multiply by 12.

{{money:19|USD}} a month becomes {{money:228|USD}} a year. Now decide from the real shape.

Try this

Set the cancellation reminder immediately

If you start a trial, put the reminder in your calendar before you leave the signup screen.

Do not trust future-you to remember a tiny billing trap while living an entire life.

Key idea

What to remember

A subscription is not cheap because the number is small. It is cheap only if you still want it when the full year is visible.

Sources

  1. International Consumer Protection and Enforcement Network. (2024). Dark Patterns Sweep Public Report.Link unavailable
  2. Federal Trade Commission. (2022). Bringing Dark Patterns to Light.Link unavailable
  3. Consumer Financial Protection Bureau. Budgeting and recurring bill guidance.Link unavailable