Home / Blog / License delivery
License delivery

What is the best way to structure trial keys so they convert to paid?

A trial key is a licensing decision as much as a marketing one. What you gate, how long you allow, and what happens on the last day all shape whether anyone buys.

An hourglass with sand running on a wooden desk beside a closed silver laptop and an open blank notebook, soft afternoon window light, shallow depth of field

Time-limited, feature-limited, or usage-limited: pick deliberately

Trials come in three shapes. A time-limited trial gives the full product for a fixed number of days and works when the value is obvious in the first session. A feature-limited trial is free forever with premium features locked, which suits products that can become a daily habit in reduced form. A usage-limited trial allows a fixed number of exports, projects, or runs and fits tools used sporadically. Each shape maps to a different license design: an expiry date, feature flags carried in the license, or a counter that must be tracked server side. Related: Why Digital Products Need Licensing

Whatever shape you choose, the trial should be a real license record, not a separate code path. Same key format, same validation call, with a type field and an expiry. That way an upgrade is a state change on the same record rather than a migration, and your reporting sees trial and paid in one table. The worst pattern is a hardcoded 'trial mode' baked into the binary with no key at all, because you cannot measure it, extend it, or revoke it.

Keep reading: Why Digital Products Need Licensing, Generating License Keys That Work, Validating Keys Without Frustrating Users. See how KeyDispense helps you digital product license key issuing and validation api.

Choosing a trial length that matches the job the product does

Short trials work when the moment of value arrives quickly. Longer trials fit tools tied to a monthly rhythm, such as invoicing or reporting, where a prospect needs to see a full cycle before the product proves itself. If you are unsure, start with the longer option and watch when trial users actually stop opening the app. That drop-off is your natural trial length. Industry averages are irrelevant here; your own usage curve is the only data that applies.

The license should carry the expiry explicitly and the app should show it honestly. A hidden countdown feels like a trap. A visible 'days left' indicator with a one-click path to enter a paid key tends to convert better than a surprise lockout, and it generates far fewer angry tickets. Make extension trivial for your team: support should extend a trial by editing the expiry on the existing record, not by issuing a fresh key that wipes the activation history. Related: Activation Limits and Casual Sharing

What should happen on the day the trial expires

Decide between read-only mode and a hard lock. Read-only keeps the customer's work visible but blocks saving or exporting, which is a friendly kind of hostage: they can still see the value, and buying restores everything instantly. A hard lock is reasonable when read-only is meaningless for the product. Never delete their data. Make the expiry check tolerant too: cache the last validation and allow a short grace window so a clock skew or a flaky connection does not lock someone out a day early. Related: Protecting Your Product Without Punishing Customers

On expiry, present the purchase path clearly, and after purchase the new key must be accepted immediately without a reinstall. Test this exact transition: trial key expired, paid key entered, app unlocks. It is the single most valuable flow in the product and often the least tested, because developers rarely let their own trials run out.

Preventing trial abuse without punishing honest evaluators

Some people will try to start a second trial with a new email. You can bind the trial to a machine identifier so a repeat request from the same device is declined or shortened, require email verification, or limit trials per company domain for business products. Stay proportionate. A few serial trial users cost you very little, while a strict check that blocks a legitimate evaluator after a laptop replacement costs you a sale and a reputation. Related: How do you activate a license when the customer's machine never touches the internet?

Log trial requests with the identifier and date so you can look for patterns instead of blocking preemptively. When someone does re-trial, one option is to offer a discount at that moment rather than a wall. Keep the honest path frictionless: no credit card, a key delivered within seconds, and a plain statement of what happens at the end.

Key takeaways
  • Make the trial a real license record with the same key format and validation call as paid, plus a type and an expiry.
  • Pick the trial length from when your own trial users stop opening the app, not from industry averages.
  • Show the countdown honestly, degrade to read-only rather than deleting work, and test the expired trial to paid key transition.
  • Bind trials to a machine identifier to slow repeat trials, but log and review rather than block aggressively.
Julien Jimenez
Written by

Julien Jimenez

Julien Jimenez is an independent software builder based in Paris. He designs, ships, and operates focused SaaS products for small businesses and independent professionals. Read the full author page.

Issue and validate license keys with one API

Digital product license key issuing and validation API. KeyDispense is built to help you put this into practice.

Get an API key

More from the KeyDispense blog

Get the KeyDispense playbook

Practical guides on license delivery, straight to your inbox as we publish them. No spam, unsubscribe any time.

By subscribing you agree to our privacy policy.