AddThisFeature

Free Trial Lifecycle

Give temporary access and make the end of the trial predictable.

involved Monetization

What it adds

The full trial state machine: starting, entitlement, expiry, conversion, cancellation, and what happens to the data afterwards.

What your agent is told to do

5
  1. 1

    Model the trial as explicit states — active, expiring, expired, converted, cancelled, payment failed — and record every transition with a timestamp. Trials inferred from a date field alone become unanswerable support tickets.

  2. 2

    Decide and document whether a card is required to start. Card-up-front converts higher and reduces abuse; card-free trials fill the funnel. Both are valid; ambiguity is not.

  3. 3

    Grant entitlements through the app's existing plan and permission model, so the trial account behaves exactly like a paid one.

  4. 4

    On expiry, downgrade entitlements without destroying anything the user created during the trial. Make the data read-only or locked behind an upgrade, and say so.

  5. 5

    Do NOT implement admin-granted date changes here — that is owned by Trial Extension. Do NOT implement retry schedules or recovery emails for failed payments; that is owned by Failed Payment Recovery.

Edge cases it handles

7
  • Expiry and failed payment are different states with different copy. Telling a paying customer their trial ended because their card was declined loses the customer.
  • Repeat trials via a fresh email are trivially easy. Limit by payment fingerprint or account domain, and make sure a legitimate second team at the same company can still start one.
  • A trial that expires while the user is mid-session must degrade at the next action, not blank the current screen without explanation.
  • Over-limit usage after downgrade needs a rule: block new work but keep existing work visible. Deleting the eleventh project because the free plan allows ten is unacceptable.
  • Converting mid-trial must not charge for the remaining trial days twice, and must not silently forfeit them either. State which.
  • Trial end must be computed in a stated time zone. A trial ending 'on the 30th' ends at different moments for different users otherwise.
  • If the billing provider and the app disagree about trial state, the provider wins for money and the app wins for access. Reconcile on webhook, do not guess.

Definition of done

9
  • Trial state is explicit and every transition is recorded with a timestamp.
  • Whether a card is required is a documented, enforced decision.
  • Expiry, conversion, cancellation, and failed payment are distinct states with distinct messaging.
  • Downgrade removes entitlements without deleting trial-created data.
  • Repeat-trial abuse is limited without blocking legitimate second accounts.
  • Trial end times are computed in a stated time zone.
  • App and billing-provider state are reconciled from webhooks, not inferred.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.