SaaS growth
10 cards on this board
Metrics on this board
Signups · Trial conversion · Subscriptions · New MRR · Trials started · Active feature users
The SaaS template treats the account as the subject. Members’ clicks roll up to the company, real use of the core feature is the value moment, and subscription revenue from your billing system closes the loop with MRR.
Signups
1,842
▲ 11.2%
Trial conversion
18%
▲ 2.4 pts
Subscriptions
212
▲ 9.6%
New MRR
$12,400
▲ 14.1%
Signups and subscriptions
SignupsSubscriptionsProduct, growth and finance each hold one piece. The template puts them on one board.
Onboarding completion is unknown because nobody sends the last step. The funnel ends at signup.
Watch: Onboarding completion
Usage by feature is a database query someone runs quarterly. feature_used makes it a daily chart per account.
Watch: Active feature users
Cancellations arrive from billing after the fact. Account-level retention shows the quiet weeks before.
Watch: Subscription churn rate
Signup, activation, adoption, trial, subscription, expansion and churn. Names match the console after install.
| Metric | Definition | Format | Dashboards |
|---|---|---|---|
| Signups | UNIQUES(signed_up) | Number | SaaS growth |
| Logged-in users | UNIQUES(logged_in) | Number | Adoption and retention |
| Onboarding completion | UNIQUES(onboarding_complete) / UNIQUES(signed_up) * 100 | Percent | Adoption and retention |
| Feature uses | TOTALS(feature_used) | Number | SaaS growth Adoption and retention |
| Active feature users | UNIQUES(feature_used) | Number | SaaS growth Adoption and retention |
| Uses per user | TOTALS(feature_used) / UNIQUES(feature_used) | Number | — |
| Trials started | TOTALS(trial_started) | Number | SaaS growth |
| Signup-to-trial rate | UNIQUES(trial_started) / UNIQUES(signed_up) * 100 | Percent | — |
| Subscriptions | TOTALS(subscription_started) | Number | SaaS growth |
| Trial conversion | TOTALS(subscription_started) / TOTALS(trial_started) * 100 | Percent | SaaS growth |
| New MRR | PROPSUM(subscription_started.mrr) | Currency | SaaS growth |
| Expansion MRR | PROPSUM(subscription_upgraded.mrr_delta) | Currency | — |
| Payments collected | PROPSUM(payment_succeeded.amount) | Currency | SaaS growth Adoption and retention |
| Invites sent | TOTALS(invite_sent) | Number | — |
| Invite acceptance | TOTALS(invite_accepted) / TOTALS(invite_sent) * 100 | Percent | Adoption and retention |
| Cancelled subscriptions | TOTALS(subscription_cancelled) | Number | — |
| Churned MRR | PROPSUM(subscription_cancelled.mrr) | Currency | Adoption and retention |
| Subscription churn rate | TOTALS(subscription_cancelled) / TOTALS(subscription_started) * 100 | Percent | Adoption and retention |
| Support tickets | TOTALS(support_ticket) | Number | Adoption and retention |
Metric names and formulas come from the industry pack. TOTALS counts events, UNIQUES counts people, PROPSUM adds up a property. Every figure on this page is sample data.
Each dashboard is a set of cards: KPIs, funnels, trends, retention, distributions and breakdown tables. Edit, duplicate or share them after install.
10 cards on this board
Metrics on this board
Signups · Trial conversion · Subscriptions · New MRR · Trials started · Active feature users
10 cards on this board
Metrics on this board
Active feature users · Onboarding completion · Invite acceptance · Subscription churn rate · Feature uses · Payments collected
The activation funnel has a 7-day window. The −46% badge marks the step between onboarding and the first real use.
Signup-to-activation funnel
7-day windowSigned up
2,400
Onboarding complete
1,248
Feature used
674
Break down by plan
plan is a property on signed_up. Compare activation for self-serve and sales-assisted plans in one chart.
Count accounts, not people
Switch the funnel to the account group. Three members from one tenant become one account that did or did not activate.
Thirty days for trial to paid
The trial-to-paid funnel uses a 30-day window, so a trial that converts on day 28 still counts.
Also in the pack
Activation, adoption per account, expansion and the churn warning.
onboarding_step and onboarding_complete give the funnel its middle. feature_used with a stable feature key is the value moment the whole template is built around.
Signup-to-activation funnel
7-day windowSigned up
2,400
Onboarding complete
1,248
Feature used
674
Every member’s feature_used rolls up to group=account. The account ranking shows which tenants are deep in the product and which ones logged in once.
Example scenario: Orbit Media paid for 22 seats and used the product 58 times in a month. Customer success called before the renewal, not after.
Account ranking
Last 30 days| Account | Plan | Active users | Feature uses | Payments |
|---|---|---|---|---|
| Northwind Labs | Team | 14 | 1,860 | $1,190 |
| Acme Robotics | Business | 31 | 1,420 | $2,940 |
| Blue Harbor | Team | 6 | 640 | $590 |
| Kestrel Health | Trial | 3 | 92 | — |
| Orbit Media | Business | 22 | 58 | $1,980 |
subscription_started, subscription_upgraded and subscription_cancelled each carry an MRR figure. New, expansion and churned MRR sit on one trend, next to payments collected.
Payments collected vs churned MRR
Weekly retention after signup, counted per account, drops two weeks before the cancellation arrives from billing. An alert on the segment gives success a head start.
Account retention after signup (weeks)
| Signup cohort | Accounts | W1 | W2 | W3 | W4 | |
|---|---|---|---|---|---|---|
| Sep 1 week | 212 | 100% | 64% | 51% | 46% | 44% |
| Sep 8 week | 236 | 100% | 66% | 53% | 48% | |
| Sep 15 week | 198 | 100% | 61% | 50% | ||
| Sep 22 week | 241 | 100% | 69% |
A trial account on day 9 has not used the core feature. The context card shows the plan, seats, last login and the onboarding step they stopped at. The invite offers help with that exact step.
Example scenario: Trials that received a day-9 invite converted at 27% versus 16% for trials that did not. Same plan, same source mix.
Account context
Sam · Customer success
Hi! Looks like the data-source step is giving you trouble. Want me to connect it with you now? Takes about four minutes.
Browser events for onboarding and feature use; billing events from your server with the invoice number as insert_id.
| Event | Name | When to send | Required properties | Source |
|---|---|---|---|---|
signed_upRequired | Signed up | When an account is created; from your server with login_id so earlier anonymous behaviour merges. | — | Server Web |
logged_in | Logged in | On each login, any platform. | — | Server Web App |
onboarding_step | Onboarding step | Each step of the setup flow, with a step name and index. | step | Web App |
onboarding_complete | Onboarding complete | Once, when the last setup step is done. | — | Web App Server |
feature_usedRequired | Feature used | One event per use of a core feature; feature is a stable English key. | feature | Web App |
invite_sent | Invite sent | When a member invites colleagues; count if several at once. | — | Web App Server |
invite_accepted | Invite accepted | From your server when the invitee joins. | — | Server |
trial_started | Trial started | From your server with plan and trial_days. | plan | Server |
subscription_startedRequired | Subscription started | From billing on first paid subscription; mrr normalised to monthly. | planmrr | Server |
subscription_upgraded | Upgraded or seats added | From billing with from_plan, to_plan and mrr_delta. | — | Server |
payment_succeeded | Payment succeeded | Each paid invoice; insert_id = invoice_id. | invoice_idamount | Server |
subscription_cancelled | Subscription cancelled | From billing with mrr and a reason code. | — | Server |
support_ticket | Support ticket | When a ticket is opened, with category and priority. | — | Web App Server |
Event names, required properties and sources come from the pack. Events marked Server must be sent from your backend; use insert_id to de-duplicate orders and invoices.
Illustrative scenarios, not reviews.
We never wrote a tracking plan. Autocapture collected the clicks, AI named them, I confirmed six events in the inbox. The activation funnel worked the same afternoon.
J. L.
Product manager · B2B SaaS
Trial conversion by plan was 31% for Team and 9% for Business. Business trials never reached the integration step. We moved it to day one.
P. R.
Growth · developer tools
Illustrative scenarios written from the user’s point of view. Not real reviews.
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
Thirteen events, nineteen metrics including onboarding completion, trial conversion, new and churned MRR, three funnels and two dashboards: SaaS growth and Adoption and retention.
Call group(‘account’, tenantId) after login. Members’ events attach to the account, so funnels, retention and rankings can be read per company. A member can belong to several accounts.
subscription_started, subscription_upgraded, payment_succeeded, subscription_cancelled, trial_started and invite_accepted. They are marked Server in the event table and should be sent from your billing webhook.
feature_used with the feature key you consider the core action. The activation funnel and the product health score are both built on it.
Autocapture records the clicks; the inbox suggests names. Confirm onboarding_step and onboarding_complete there, or send them explicitly from your app.
Yes. Seats can be limited to the SaaS growth dashboard. Payments collected and churned MRR come straight from billing events.
Create a project, add the snippet to your app, call group() after login and send billing events from your server. The growth board fills in as the first trial converts.
Free plan included. Server SDKs for Node, Python, PHP and Go.