Copywriting and CTAs for SaaS flows·

The Trial Expiry Modal Is a Copy Problem: One Rewrite That Lifted Trial-to-Paid

The Trial Expiry Modal Is a Copy Problem: One Rewrite That Lifted Trial-to-Paid

Most trial-to-paid drop-off doesn't happen on your pricing page. It happens in the modal that appears when the trial ends. That modal usually says something like: "Your trial ends in 3 days. Upgrade to Pro." That's a deadline, not a reason to pay.

You can fix a lot of that with copy. Here's a case study of one small change, plus a P0/P1/P2 playbook you can run this week.

Why the trial expiry modal is your highest-leverage copy real estate

  • It's the last moment before the paywall. The user has already invested time and created data.
  • The default copy is almost always a system reminder, not a value recap. It tells them what's ending, not what they'll lose.
  • Nielsen-style heuristic: feedback and guidance. The modal gives no feedback on what they did, and no clear guidance on what happens next.
  • The user is not comparing you to competitors at this moment. They're deciding whether to keep their own work alive.

The one change: from feature reminder to usage recap

A small project-management SaaS was losing trial users at the expiry modal. They didn't redesign the modal. They didn't change pricing. They changed one thing: the modal now recaps what the user actually did during the trial and ties the CTA to keeping that value.

Before: "Your trial ends in 3 days. Upgrade to Pro to keep using [Product]."

After: "You've created 12 projects and invited 3 teammates this month. Keep your workspace active — upgrade to Pro."

The metric moved. No design overhaul, just copy. The mechanism is simple: it shifts from a generic deadline to a personalized loss-aversion nudge. It answers "why now?" and "why this tier?" without a feature list.

If you want to see exactly where your upgrade flow leaks value, run a free audit on your trial-to-paid flow at /signup.

Before/after: the exact rewrite (mini playbook)

Here's how to rewrite each element of the modal. Use real usage data where you can.

  • Headline: "Trial ending soon" → "Your trial work is waiting"
  • Subhead: "Upgrade to keep access" → "You've [done X]. Keep [outcome] by upgrading."
  • CTA button: "Upgrade" → "Keep my workspace"
  • Secondary action: "Maybe later" → "See what I'll lose" (links to a summary of their data)

Why it works: specificity beats urgency. Ownership beats features. The button label describes an outcome, not a transaction. The secondary action builds trust instead of guilt-tripping.

P0/P1/P2: What to fix first in your upgrade CTA

P0: The button label. "Upgrade" is vague. Use an action that describes the outcome: "Keep my projects", "Continue with Pro", "Reactivate my workspace". Pick one and test it. This is the single highest-leverage line in the modal.

P1: The value recap line. Pull real usage data. One sentence: "You've [action] [number] times." If you can't personalize yet, use a benefit statement tied to the most-used feature. Naming the tier is a separate problem — we cover it on our /pricing page.

P2: The secondary CTA. Don't let "Maybe later" be the only escape. Give a "What happens if I don't upgrade?" link. That's trust. It also reduces support tickets.

How to know if it worked (feedback and trust heuristics)

  • Track modal-to-upgrade rate, not just trial-to-paid. The modal is the moment of decision.
  • Survey users who churned right after the modal: "What stopped you?" One question.
  • Look for friction: does the modal block the app? Can they export data? Trust matters more than urgency.
  • The modal should feel like a helpful reminder, not a hostage situation. If it feels like a trap, they'll leave and never come back.

Common mistakes that kill trial-to-paid copy

  • Talking about your pricing tiers instead of their work.
  • Using "Pro" as a benefit. It's not. "Pro" is a label, not an outcome.
  • Hiding the price until after the click.
  • No clear way to downgrade or cancel. That erodes trust and kills referrals.

Your trial expiry modal is one screen. But it's the screen that decides whether you get paid. Start a free FlowAudit at /signup and get a prioritized P0/P1/P2 fix list for your upgrade flow in minutes.