---
id: saas/trial-e-ativacao
industry: SaaS and technology
usage: common
effort: medium
grain: Account x trial start (cohort) and account x product
---

# Trial and activation

Who started a trial, who reached first value and who became a paying customer, by cohort, with each product's activation milestone anchored on the real payment.

## Executive summary

**For:** SaaS companies with a trial, free plan or onboarding project that need to know who reaches first value.

**What it solves**

- Trial conversion is measured where the trial actually exists, and per customer.
- Activation has one definition per product, which does not change when billing rewrites dates.
- New accounts with a high-potential signal reach the team the next day.

**Why it matters:** Trial and activation are the first signals of revenue and of churn: whoever does not activate in the first weeks rarely stays. Without a closed rule, each team measures conversion its own way, and churn gets inflated by trials that never paid.

**Business questions it answers**

- How many trials started in September and how many became paying customers?
- What is the activation rate of August's paying customers, by product?
- On average, how long does it take from payment to first value?
- Which new accounts show a high-potential signal and do not have a rep yet?
- Which channel brings the trials that activate the most?

**What you need**

- Product database or events connected, with the trial start date
- Billing connected, with charges
- The list of activation milestones per product, agreed with product and CS

**What you get**

- A table of trials by cohort, with activation and conversion
- Activation rate and time to first value by product
- A high-potential alert in Slack or in the CRM
- An AI agent that answers with the right activation rule

## Detailed

### The problem

In many SaaS companies the trial does not exist in billing, only in the product database. Whoever measures conversion by Stripe's trialing status finds almost no trials, and whoever measures by cancellation counts unconverted trials as churn. When activation is anchored on the billing cycle date, a card recovery pushes the date forward and undoes activations already earned.

### Business rules

1. **The trial comes from where it actually exists.** Before measuring, find each product's trial source: start and length in the product database (for example, 14 days from signup), the account's test dates, or billing's trial_start and trial_end. In a real case, billing had a single trialing subscription in the whole base, because the trial lived in the product. A product with no trial source stays out of the metric, and that is declared. (Avoid: Counting trials by billing's trialing status.)
2. **One activation milestone per product.** Activation is the first event that delivers value, and it changes by product: first reply received in a prospecting tool, first message sent through a connected channel, a creator's first sale on a content platform. Write the list in a single place, with the exact event name. A product with no defined milestone is null, never activated by default. (Avoid: A generic login criterion for every product.)
3. **Anchor on the first confirmed payment.** For post-sale activation and time to first value, the anchor is the first paid charge, not the billing cycle date. Billing rewrites the cycle date forward when a subscription recovers from a failed charge. In a real case, this undid activations already earned and pushed old accounts into the wrong cohort. After the fix, the earlier series was no longer comparable and was flagged. (Avoid: Measuring activation from billing_cycle_started_at.)
4. **Only accounts that could activate count.** An account enters the denominator only if the activation event already existed when it started (the event's birth date in the instrumentation) and the observation window has closed. An account that started before the event existed is null. With no eligible account, the rate is null, not 0%. (Avoid: Counting as not activated an account that started before the event was instrumented.)
5. **Conversion belongs to the customer, not the subscription.** A converted trial is a customer with a paid charge after the trial start, on any subscription. A trial subscription canceled at the end of the period is not churn: it is an unconverted trial, and it stays out of the MRR movements table. The customer may convert on a new subscription, so measuring per subscription understates conversion. (Avoid: Counting the trial cancellation as churn and the subscription as the unit.)
6. **Cohort by trial start date.** Conversion and activation are read by trial start cohort (week or month), with a fixed window (for example, conversion up to 30 days after the trial ends, activation within 30 days). The cohort month is not the MRR month. A cohort with an open window shows as partial. (Avoid: Dividing the month's paying customers by the month's trials.)
7. **A reopened account is not a new signup.** The same person or company opens another account to get another trial. Link accounts by normalized phone or tax ID and treat the second as a reopening of the first, inheriting its history. Deduplicate repeated emails and usernames in the trial base before counting. (Avoid: Counting every account created as a new trial.)
8. **With onboarding, activating means hitting the milestone on time.** In B2B with an onboarding project, activation is the product milestone met within a deadline counted from the sale, for example by the Saturday of the fifth week after the closing week, or connection within 25 days and completion within 90 days of opening the onboarding case. The final stage of the onboarding pipeline and a logged meeting do not prove activation. (Avoid: Treating as activated whoever reached the 'onboarding finished' stage in the CRM.)
9. **High potential alerts once.** An early signal of a valuable account triggers a single alert per account. Real example: among signups in the last 45 days, a first sale within 72 hours of signup, or 10 or more buyers within 2 days of the first sale. Accounts that already have an SDR, closer, CS or CRM record stay in the table but are left out of the message. (Avoid: Alerting the same accounts every day, including those that already have a rep.)

### From new account to activated customer

Each stage with the source and date that define it.

- **Account created in the product** → Signup
- **Product or billing trial source** → Trial started (`trial start in the product or trial_start`)
- **Profile and setup completed** → Onboarding complete
- **First milestone event after the anchor** → Activated
- **Customer's first paid charge** → Paying (`charge.status = succeeded`)
- **Trial ended with no paid charge in the window** → Unconverted trial, not churn
- **Same phone or tax ID as an earlier account** → Reopening

### Definitions

| Metric | Definition |
|---|---|
| Trial started | account with a trial start in the product's declared source in the period, deduplicated by person or company |
| Trial conversion | cohort trials whose customer has a paid charge above zero up to N days after the trial ends / cohort trials with a closed window |
| Activation | first milestone event of the product dated on or after the anchor |
| Activation rate | eligible cohort accounts that hit the milestone within the window / eligible cohort accounts; null with no eligible accounts |
| Time to first value | days between the anchor (trial start or first confirmed payment) and the first milestone event |
| On-time activation | sales of the week with the milestone met by the end of the target week / sales of the week |
| Unconverted trial | trial ended with no paid charge from the customer within the window |

### Pitfalls

- **Billing had no trials.** The whole base had a single subscription in trialing, because the 14-day trial lived in the product database. How to avoid: Find each product's trial source before measuring.
- **Activations undone by the card.** The cycle date was rewritten when a failed charge recovered, and activated accounts went back to looking unactivated. How to avoid: Anchor on the first paid transaction and flag the old series as not comparable.
- **Every new customer was a trial.** A rule flagged every subscription under 30 days old as a trial, including customers who paid on day one. How to avoid: Use the source's trial dates, not the subscription's age.
- **Canceled trials became churn.** Trial subscriptions canceled at the end of the period went in as logo churn and nearly doubled the rate. How to avoid: Separate unconverted trials from paying-customer churn.
- **Onboarding done without usage.** The final stage of the onboarding pipeline was set after the meeting, even when the customer was not using the product. How to avoid: Activation comes from the product event, not the CRM stage.
- **Same creator, two accounts.** People already in a sales conversation opened a new account with the same phone and showed up as high potential for another rep. How to avoid: Link accounts by phone and tax ID and suppress those already with the team.

Validated on real data: In Nekt's own Stripe account, about half of canceled subscriptions were canceled by the end of the trial, without ever being charged. Counting those exits as churn would nearly double logo churn. And about 3 in 10 of those customers have a paid charge on another subscription, so measuring conversion per subscription would undercount it.

### Acceptance test

- [ ] Trials started by cohort match the count in the product's trial source, after deduplication.
- [ ] No unconverted trial shows up as churn in the MRR movements table.
- [ ] Every activated account has a milestone event dated on or after the anchor.
- [ ] Reprocessing does not change activation for cohorts with a closed window.
- [ ] Cohorts with an open window are flagged as partial, and rates with no eligible account are null.

### Context document

```text
Trial and activation
- Trial source per product: <product>: <table and fields>. Do not use billing's trialing status to count trials.
- Activation milestone per product: <product>: <event>. Product without a milestone: activation is null.
- Anchor: trial start (pre-sale) or first paid charge (post-sale). Never the billing cycle date.
- Trial conversion is per customer: a paid charge on any subscription up to <N> days after the trial ends.
- An unconverted trial is not churn and does not enter MRR movements.
- Read conversion and activation by trial start cohort. A cohort with an open window is partial.
- Accounts with the same phone or tax ID are the same person or company; the second is a reopening.
- Activation series before <anchor fix date> are not comparable with later ones.
Client exceptions:
- <client>: on-time activation = milestone by the Saturday of W+5 from the sale week; target <x>%.
- <client>: product <product> has no usage telemetry and stays out of the activation rate.
```

### Variations

- **Free plan instead of a trial:** The cohort is the signup date and conversion is the first paid charge, with no trial end date.
- **B2B onboarding:** On-time activation by sale week, with a target and a stretch target per person (for example, 60% and 80%).
- **App marketplace:** Cohort by install month, 30-day activation over eligible installs and a null rate with no eligible installs.
