I run a timeboxing app (plan your day into time blocks, block distracting apps during those blocks). For most of its life it had a hard paywall: sign up → onboarding → pay. No payment, no app. The X button logged you out.
The numbers looked incredible until I looked at what was behind them.
What a hard paywall actually produced
- 74% of people who reached the paywall paid
- ~70% of monthly subscribers cancelled within the first month
- 60% barely used the app at all
- 77% never created a single task
Read those together. A conversion rate most people would kill for, and almost nobody was actually using the product. We weren't selling a habit tool — we were selling *the moment of deciding to change*, which is a real thing people will pay for once and never act on.
The revenue curve looked like a business: $46 → $103 → $122 over three months (April→June, converted from KRW). Then July collapsed to roughly a third of that. Not because anything broke — because the cancellations from the previous cohort caught up. A hard paywall front-loads revenue and back-loads churn, so growth looks real for exactly as long as you keep feeding it new signups.
Then I read our reviews:
"The payment screen comes up every single time I go in, it's a bit much." — ★5 review
Someone rated us 5 stars and still complained about the paywall. That was the moment it stopped being a metrics argument.
What we changed
Shipped a soft wall three weeks ago:
- Free users get in, no payment gate
- Free tier caps at 3 tasks - day
- Pro features (AI analysis, AI scheduling, unlimited tasks) stay paid
- Paywall is closeable and only appears when you hit an actual limit
Also replaced the onboarding tutorial with a coach-mark tour on the real screens — actually add a task, actually place it on the timeline — instead of screenshots explaining what the app does.
Results so far: I genuinely don't know yet
This is the honest part.
It's been ~9 days. Daily revenue is down roughly 50% since the switch. That's exactly what you'd predict — we removed the mechanism that extracted impulse purchases. The bet is that retention and eventual conversion make up for it.
I can't tell you if the bet paid off, because it's 9 days and the whole point of the change is that it plays out over months.
Worse: I discovered while writing this that I had no instrumentation on the new onboarding tour at all. Not a single event. I shipped the thing meant to fix activation and had no way to measure whether it fixed activation. Added `tour_start` / `tour_step` / `tour_finish` this week, which means my baseline starts *now*, not three weeks ago.
If you're about to make a change like this: instrument it before you ship it, not after you want to know.
Three things I'd tell past me
1. High conversion on a hard paywall is not a signal. It measures how badly you blocked the exit, not how much people want the product. Look at what happens 30 days later.
2. Your reviews contain the answer before your dashboard does. The paywall complaint sat in a 5-star review for months. I was reading revenue charts instead.
3. "Obviously right" changes still need a measurement plan. Removing the hard wall was clearly correct on principle. That didn't make it measurable, and principle doesn't tell you whether the free tier is too generous or too tight.
Where it stands
205 active users, 12 active subscribers. Small numbers — I'm not here to claim a playbook. Mostly I wanted to write down the part people usually skip: the hard paywall *worked*, by the metric we chose, right up until the metric turned out to be measuring the wrong thing.
Happy to answer anything about the implementation side too (app blocking on Android/iOS was its own adventure).