All posts

100 signups, 0 paying customers is a diagnostic, not a disaster. The instinct is to blame the pricing page - the wording, the tier structure, the button color. It's almost never the pricing page. Free-to-paid conversion lives upstream: in the offer people signed up for, the activation moment they did or didn't hit, and whether the product produced a real outcome before asking for money. Fix those, and a 2% free-to-paid rate becomes 10% without a single extra signup or one new ad dollar.

This post is the full playbook for solo founders: how to diagnose which of the three failure modes you're hitting, how to find the activation moment that correlates with conversion, what to change on the pricing page (and what not to), and the expansion trigger most founders ignore.

The three failure modes of free-to-paid

Zero paying customers from 100 signups looks like one problem, but it's usually one of three. The fix for each is different, and picking the wrong fix wastes weeks.

  1. Wrong-audience failure. The signups came from a channel that doesn't match your ICP - a Product Hunt launch, a viral post, a promo code drop. The signup count looks great, the conversion rate is zero, and you're debugging a funnel that was poisoned at the top.
  2. Activation failure. The audience is right, but most signups never hit the moment where your product proves itself. They bounced at onboarding, imported no data, never ran the first workflow. They never saw the thing that would make them pay.
  3. Offer failure. Users did activate, got value, and still didn't pay - because the paid tier doesn't actually remove a real constraint they hit. The free plan is too generous, or the paid plan is solving a problem they don't have yet.

Most founders assume they're in (3) and rewrite the pricing page. Most are actually in (1) or (2). The diagnostic below tells you which.

The 5-minute diagnostic: find your failure mode

For your last 100 signups, pull three numbers from your analytics:

  • Signup source: how many came from channels actually built for your ICP vs. "high-volume, low-intent" sources (Product Hunt, Hacker News launches, giveaways, TikTok virality with no targeting)?
  • Activation rate: % of signups who completed your product's core action within 7 days (ran a workflow, sent a first message, imported data, generated output).
  • Return rate: % of activated users who came back for a second session.

The math:

  • If >50% of signups are from low-intent sources: you're in failure mode (1). Fix the top of funnel before anything else.
  • If activation rate is <30%: you're in failure mode (2). The product isn't getting people to the point where it proves itself.
  • If activation is >30% and return rate is >40%, but conversion is still 0: you're in failure mode (3). The paid tier doesn't solve a problem the activated user has yet.

Fix #1: How to find the activation moment that matters

Every product has a specific action that, when completed, correlates strongly with becoming a paying user. Slack's was "sending 2,000 messages across a team." Facebook's was "7 friends in 10 days." Dropbox's was "1 file in 1 folder on 1 device." These aren't guesses - they're found by looking at the behavior of users who eventually paid.

As a solo founder, you can find yours in an afternoon:

  1. List every user who ever paid.
  2. Look at what they did in their first 7 days. Which actions did 80%+ of them complete?
  3. Compare that action to users who signed up and never paid. If paying users did it and non-paying users didn't, that's the activation moment.
  4. Rebuild onboarding so that every new signup is pushed toward that single action within their first session.

The real shift here is emotional, not technical. Stop building onboarding around "teach the user the product" - build it around "get the user to the one thing that makes them buy." Most onboarding walks users through 8 features. 6 of them don't matter. Cut them.

Fix #2: Engineering the aha-moment in onboarding

Once you know the activation moment, onboarding becomes mechanical. Three patterns that work:

  • Pre-fill instead of empty-state. Empty dashboards are where activation dies. Seed the account with a sample project, a demo workflow, or imported sample data so the user sees the outcome before they've done the work.
  • One CTA per screen. Remove every choice that isn't the next step toward activation. If a user has 4 options, 3 of them are friction.
  • Async check-in on day 2. Personal email from you (the founder) asking one specific question about whether they hit the activation moment yet. This recovers 15-30% of would-be churners and doubles as interview gold.

Fix #3: Pricing-page mistakes that cost conversion

The pricing page itself does matter - just less than founders think. Four mistakes that reliably cost conversion:

  • Three tiers when you only need two. Solo products rarely need a Free / Pro / Team split. Free + Pro is cleaner and removes decision paralysis. Add the third tier only when an enterprise-shaped customer asks for it.
  • Feature lists without outcomes. "Unlimited projects" is a feature. "Run 50 client projects without hitting a limit" is an outcome. Rewrite every bullet as the thing that gets unlocked, not the thing that gets included.
  • No annual option. Annual plans convert 20-30% higher in B2B SaaS when priced as a 2-month discount. Omitting annual is leaving cash on the table.
  • A pricing page that opens in a new tab. Keep pricing in-app for logged-in users. Asking them to leave the product to see the price is a friction point that kills upgrade intent.

The expansion trigger that beats discounting

Most founders reach for a discount when conversion stalls: a first-month promo, a lifetime deal, a limited-time offer. Discounts attract the worst customers - high-touch, low-retention, no referral behavior. The better lever is the expansion trigger: a specific moment inside the free tier where the user's actual usage hits a natural ceiling, and the paid tier is the obvious next step.

Examples of expansion triggers that work: "You're at 9 of 10 free projects" (project-based tools), "Your team is now 4 people" (collaboration tools), "You've generated 98 of 100 free credits this month" (consumption-priced AI tools). The upgrade message appears exactly when the user has already absorbed the product into their workflow and would feel a real loss if it capped.

The unlock is the right free-tier limit. Too generous (unlimited everything) and there's no expansion trigger. Too stingy (3 projects, 1 user) and activation never happens. The right ceiling is the one that lets a motivated user feel the product's value, then hit a wall that feels like their success, not your greed.

The 10 post-signup user interviews that unlock everything

Before you rewrite any onboarding flow or pricing page, do 10 calls. Five with signups who paid. Five with signups who didn't. Same three questions:

  1. "What did you think the product was going to do before you signed up?"
  2. "What was the moment - if there was one - where you thought 'oh, this is useful'?"
  3. "What would have to be true for you to pay (or, for paying users, what was true for you)?"

The delta between payer answers and non-payer answers is your roadmap. 9 times out of 10, the gap isn't the pricing page - it's whether the user hit the aha-moment, and whether your onboarding got them there.

The benchmarks: what "good" free-to-paid looks like

  • Freemium SaaS (consumer): 2-5% free-to-paid over 90 days is the market baseline. Top quartile hits 8-10%.
  • Freemium SaaS (B2B): 5-10% is typical. Product-led B2B tools that nail activation push 15%+.
  • Free trial (no free tier): 15-25% trial-to-paid is normal. If you're below 15%, the trial is too long or the activation moment isn't being hit.

These numbers change by price point and category, but they're close enough to calibrate expectations. A 0.5% free-to-paid rate isn't a pricing problem - it's a top-of-funnel or activation problem wearing a pricing-problem mask.

Bottom line

Free-to-paid conversion is a stack of four levers: signup source, activation rate, expansion trigger, pricing page. Most founders grab the last one first because it's visible and easy to edit, but it's usually the least broken. Pull the 100 latest signups. Find the failure mode. Fix it in that order: source, then activation, then offer. 2% to 10% is a real jump available to most solo founders - and it doesn't need a single extra signup or ad dollar. It needs you to stop editing the pricing page and start editing the thing that happens before it.