Founder Playbook · Sub Club by RevenueCat
9 tactics from Bahasarian
Roast my paywall — quick wins to boost conversions | App Growth Annual 2025
Watch the full episode“Don't say 'unlock well AI plus' or whatever — it's kind of very vague. It's better when your call to action is very specific: 'Start your 7-day free trial' or 'Get started with your free trial'.”
Replace vague "Unlock Plus" CTAs with specific free-trial language
Generic CTAs like "Unlock Premium" give users no reason to act now. Specific free-trial CTAs remove the ambiguity about what happens next and signal zero risk. Bahasarian consistently flagged vague CTA copy as one of the most common quick-win paywall mistakes across every app reviewed.
“You could animate this button and just making it more liveable and in a way that it attracts more attention than just having it static here.”
Animate the CTA button — a static button loses to a pulsing one every time
A motionless CTA button competes equally with every other element on the paywall. Adding a subtle pulse or breathing animation draws the eye to the single most important tap target. This is one of the lowest-effort paywall changes with some of the highest return — most apps ship a static button and leave easy conversions on the table.
“Your CTA should be the most visible thing on your paywall and here all your highlighting and bolding is all in purple — it takes the attention from your main CTA button.”
Never bold pricing text in the same color as your CTA button
When highlighted prices share a color with the CTA button, user attention gets split across multiple elements and the main action becomes harder to find. The fix: use the accent color only for the primary button, and switch price highlights to a neutral or secondary shade. Every extra visual competing with the CTA costs conversion.
“The minimum thing you can do is just do price anchoring — make this not $29.99 per year but get the monthly price of it and show it as broken down to monthly.”
Show the annual price broken down to per-month — not the raw annual figure
Users anchor to monthly numbers because that is how they budget. Showing $29.99/year as '$2.50/month, billed annually' shifts comparison from a big number vs a small number to value-per-month vs convenience. Flow's paywall was cited as the gold-standard presentation: monthly equivalent visible first, full annual total shown below.
“When the trial is on, don't call your product yearly — call it a free trial. You need to communicate enough with the user that this is free: just mentioning it once is not enough.”
When the trial toggle is on, label the plan "Try for free" — not "Yearly access"
One of the most common free-trial mistakes is saying 'Start for free' once in the button while labeling the selected plan 'Yearly access.' The plan label is what users read to understand what they are signing up for. Switching it to 'Try for free' when the trial toggle is active dramatically reinforces the zero-risk message at exactly the moment of decision.
“If they just swap these images with a short video that shows how the app works it's going to perform way better — and always have a title: even if you're using a video, having a title performs better.”
Swap static screenshots for a short demo video — always add a title over it
Static screenshots require users to interpret the app by reading UI elements. A 10-20 second demo video showing the core workflow removes that cognitive load. The key constraint: never run a video without an explanatory title above it — the title both orients users who cannot watch with sound and pulls them toward the CTA below.
“There are a lot of texts — usually this is not good. Don't ever put this amount of text on your paywall, specifically if it's just a one-page static paywall. It just makes everything too crowded.”
Too much text on a static paywall kills conversion — replace with visual carousels
Feature descriptions written out in full sentences compete with the pricing card and CTA for attention. Replacing text blocks with swipeable image or video carousels keeps the paywall scannable and moves users toward the purchase decision faster. For apps with multiple features, a 3-step paywall structure — visuals, then reviews, then pricing — outperforms a single-screen wall of copy.
“I don't know why you want the X button to be this big and this highlighted — you can be much smarter with this X button and still keep it visible but with a different presentation, without the background color.”
Don't make the dismiss X button the first thing a user sees
A large, high-contrast dismiss button primes users to close before they have read anything. The goal is not a dark pattern but a de-emphasized one: remove the background fill, reduce size, or position it where it is findable but not the focal point. Users who want to leave will find it; users on the fence should not be directed toward it.
“I don't know why you want the referral code thing here — it just gets all of the attention. Put it somewhere under 'cancel anytime' or somewhere that doesn't get that much attention.”
Move promo/referral code fields off the main paywall — they steal attention from the CTA
A referral or promo code input on the main paywall creates a cognitive detour: users who have no code wonder if they are missing a discount, and users who do focus on entering it instead of tapping the CTA. Move it below the fold, under the CTA, or into a secondary flow. The same applies to overly visible 'have a promo code?' links.