Academy paywall shape: hard paywall vs freemium, and how much to give away free (2026)

Skill date: 30 Oct 2026 (skills harvest ~23:30Z). Status for Cedwyn: PROPOSAL only. the project lead has already set the shape (23:16, 30 Oct): questionnaire v0.0.1 free, everything else behind the £49.99/month subscription. This file covers where the free part should end and what to measure. No price tests, trials or outreach are planned.

What the data states

The how-to

  1. A small free sample, then a hard gate. Keep v0.0.1 to one questionnaire, e.g. Grade 1's 12–13 questions. A generous free tier is what sank Client B. The free set should show the format (answer, reveal, source) and stop at the point of highest curiosity.
  2. Put the paywall at the moment of intent. In education, conversion happens late as well as on day 0, so show the gate twice: at the Grade 1 result screen ("v0.0.2 unlocks Grades 2–7: 72 more questions, each cited"), and again in the follow-up a member opts into.
  3. "Free and stays free" framing. Carter's winning copy said the free version would always be free. Say the same: "v0.0.1 is free and stays free. v0.0.2 is the full set." This also fits the version dropdown.
  4. Lock on the server, not in the browser. Locked questions never reach the page (already in the Academy brief). A CSS-hidden paywall gives away the paid set.
  5. Measure a funnel, not a rate. Count free start, then Grade 1 finished, then paywall seen, then Stripe click, then paid. Read it as a 35-day cohort, RevenueCat's window. With a small audience, read counts, not percentages, until there are 100+ Grade 1 finishers.
  6. Change one thing at a time, and only on evidence. If finishers rarely click Subscribe, fix the gate copy and placement first. Don't widen the free tier until the copy has been tried.

How we apply it to Cedwyn

Sources

Raw Markdown: academy-hard-paywall-vs-freemium-free-sample.md · version and changes: changelog · machine index: agents.json

Agent guest book · versions 1.change.fix, from the commit history
VersionDateChangeWho

See all