DanDan·19 June 2026·5 min read

From 2% to 30%: What I Learned Rebuilding App Paywalls

I spent a long session rebuilding the premium experience on two of my mobile apps, Starting Lineup (football) and its sibling Netball Lineup. The goal was simple to say and hard to do: get more coaches onto Premium. By the end, the conversion on the free to paid step had gone from roughly 2% to roughly 30%.

I did the build with Claude as the engineer in the loop, so this is also another entry in my "building with AI" diary. As always, the useful part is not "look how clever the robot is." It is the bit where it got things wrong and I had to drag it back.

The job: more coaches on Premium

Both apps are freemium. You can build a lineup for free, and Premium unlocks the heavier coaching tools. The old paywall was the classic mistake: a tidy list of features behind a single generic "Upgrade to Premium" wall. It converted at about 2%, which is to say it did almost nothing.

The brief was to rebuild the whole premium funnel: the copy, the onboarding, the prompts, and the moments where we ask for money.

Lesson one: sell the problem, not the feature list

This is the big one. Nobody upgrades because your app has "rotation plans" and "saved kits." They upgrade because they have a problem at 8am on a Saturday and your Premium tier makes it disappear.

So every line of paywall copy got rewritten around the outcome, not the feature name. Take Netball Lineup. We built a feature called Equal Time that, in one tap, builds a fair set of rotations so every player gets equal court time in their best positions. The paywall does not lead with "rotation plans." It leads with the thing a coach actually loses sleep over: making sure every kid gets a fair go, without doing the maths on the sideline.

The feature is the answer. The copy sells the question.

Lesson two: a free tier that quietly shows the gap

You do need a genuine free offering. People will not trust an app that locks the front door. But free should leave a visible, slightly annoying gap exactly where Premium would help.

The trick is that the locked thing has to look locked, and it has to look good. On the squad screen, a free coach sees a clean "Unlock Rotation Plans" card with a crown on it, sitting right where the powerful tools would be. They can see the shape of what they are missing. Tapping it does not scold them, it opens a paywall that explains what they would get.

Lesson three: contextual paywalls beat one generic wall

The single biggest structural change was making the paywall context aware. If you tap a locked rotation feature, the paywall talks about rotations and fair game time. If you tap "new team," it talks about managing multiple squads. Same screen, different pitch, driven by where you came from.

One wall that tries to sell everything sells nothing. Five walls that each answer the question the user just asked convert far better. If you want a hand thinking through your own funnel, that is exactly the kind of thing we help with.

Where the AI led me astray (the honest bit)

Claude is genuinely fast at generating variant copy and wiring up the plumbing. It is also very happy to quietly make your product worse if you do not watch it.

Three corrections stand out.

First, it fell in love with one feature. When I asked it to put Equal Time into the paywall, it rewrote the entire premium story around Equal Time and buried Rotation Plans, the thing people are actually buying. The headline, the button, the bullets, all Equal Time. I had to stop and explain the hierarchy: Rotation Plans is the product, Equal Time is the hook inside it. Marketing wise that distinction is everything, and the AI will happily flatten it for a snappier sentence.

Second, it made a paid feature look free. To "show free users what they are missing," it rendered the full working Premium panel to non subscribers, with all the buttons live. Tapping them did route to the paywall, so technically it was gated. But it looked completely open, which is worse than useless: it trains people to expect the feature for nothing. I had to send it back to make the locked state actually look locked, consistent with every other tab.

Third, the small stuff bites. It slipped an em dash into a marketing string. I have a hard rule against those, and the only reason it got caught instantly is that we had written a test asserting the copy contains no em dashes and that the feature name is right. The test went red, we fixed it, done. Write tests for your copy, not just your code. It sounds daft until it saves you.

What I would tell anyone building a paywall

A few things I would now treat as non negotiable:

  • Map every premium touchpoint to the problem it solves, then write the copy as the outcome. Features are the footnote.
  • Keep a real free tier, but make the gap visible and make the locked state look unmistakably locked.
  • Use contextual paywalls. The pitch should match what the person just tapped.
  • Decide your feature hierarchy yourself. The AI will pick the shiniest noun and bury your actual product if you let it.
  • Test the copy. A tiny assertion caught a positioning error and a banned character in the same run.

None of this is clever. It is just the difference between a wall people bounce off and a wall people walk through. For us it was the difference between 2% and 30%, on the same app, with the same features, just described honestly around what coaches actually need.

If you are sitting on an app that converts like my old 2% wall did, that is usually a story problem before it is a pricing problem. Have a look at the kind of work we do, or get a rough quote and we can talk it through.

Not sure what you need yet? Start here.

No email requiredNo sales call neededGet a ballpark estimate in minutes
From 2% to 30%: What I Learned Rebuilding App Paywalls | All Trouser Digital