How to Track Trial-to-Paid Conversions
Wire trial start, activation, and payment into one journey per user. The funnel that explains why trials convert — or quietly expire.
Trial conversion rate is the metric everyone quotes and almost nobody can decompose. 'We convert 12% of trials' — fine: which 12%? From which channels? After doing what inside the product? Failing where, the other 88%? The decomposition requires exactly four events on one joined record, and once they exist, the trial funnel stops being a percentage and becomes a map.
The four events
// 1. Trial starts (plus the identity wiring)
track('trial_started', { plan: 'pro', source: 'pricing_page' });
identify(user.email);
// persist getVisitorId() to the user record — revenue needs it
// 2. Activation — the first real value moment
track('activated', { via: 'first_report' });
// 3. Paywall encounters during trial
track('limit_reached', { limit: 'events_quota' });
// 4. Conversion — server-side, from the billing webhook
// type:'event', event_name:'subscription_paid', visitor_id, revenue…Events 1, 2 and 4 are the spine (activation and webhook revenue have dedicated guides); event 3 is the underrated one — paywall encounters are purchase intent announcing itself.
The decomposition reads
- Activation gates everything. Split trial→paid by whether activation happened. Typical shape: activated trials convert 5–10× better. If so, your conversion problem is an engagement problem wearing a pricing costume — fix onboarding before discounting.
- Channel quality at the trial level. First-touch UTM means trial→paid rate per source is a filter: the channel sending many trials that never activate is buying you support load, not revenue (the paid-ads version of this read kills campaigns monthly).
- limit_reached → paid velocity. Users who hit limits convert fast or churn fast — the property tells you which limits sell and which merely annoy. A limit nobody hits during trials is invisible packaging.
- The expiry autopsy. For trials that lapsed, read ten journeys: the pattern is usually visible — logged in twice, never reached the value moment, or hit a broken form on day one. Ten timelines beat any churn survey.
Timing the nudge
With days_since_signup on the activation event, you learn your real conversion window — most trials decide in the first 72 hours regardless of trial length. That number should set your email cadence and your sales-touch timing; sending the 'trial ending soon' note on day 12 of a decision made on day 3 is theater.
Four events, one record, and the 12% becomes a story with chapters you can edit.