Most guides to activation start with an analytics tool: define an event, build a funnel, read the cohort chart. And it works!

This works when you have the tool and thousands of sign-ups 🙂

Many small B2B or B2C teams have neither. They have a few dozen trial accounts, a founder who checks every morning who has logged in, and no time to set up tracking before they know what to track. And …?

And you can still measure activation in that situation. This is the measurement plan I wrote in a recent onboarding audit for a founder-led B2B SaaS with no product analytics (but of course I have removed everything specific to that product). Well I will show a skeleton without its flash.

Colorful cartoon illustration of a friendly skeleton wearing a blue-and-white striped shirt, brown boots, and a green neckerchief. The skeleton holds a purple flower, waves, and walks along a stone path in a cheerful forest with a smiling sun and a mushroom house in the background.

1. Start with three questions

The first view should answer only three questions:

  1. Which accounts received access but never came in?
  2. Which accounts logged in but never added real data?
  3. For everyone else: which setup condition is still missing?

Most of this can be answered from data you already store. For instance:

QuestionWhat to look for in your own database
Who started a trial and never logged in?Accounts created in the last 30 days with zero logins
Who logged in and then stopped?Accounts with at least one login and no data added
Who has gone quiet?Accounts with no meaningful action for N days
Who got going without our help?Accounts that reached the ready state with no support contact

Your developer can turn these into one daily email with a few short lists. It replaces the morning check, and it keeps working on the days nobody remembers to look.


2. Define activation as an account state, and treat it as a hypothesis

In many B2B or B2C products a customer can’t do useful work until some setup is done: data imported, a few key decisions made, something scheduled. So I write a candidate definition as an account state: a short list of conditions that are true or false about the account. Each condition must be something the database can answer today.

After the first step, setup tasks rarely happen in one fixed order. Don’t force them into a linear funnel. Record each condition on its own and calculate the whole state from them.

Then keep three rules:

  • Measure the whole state and each condition separately. “Data imported, no key record marked” tells you more than “not activated“.
  • Validate it against something outside the definition. Compare ready and not-ready accounts on paid conversion and later use. If you add prompts for the setup steps and more accounts become “ready“, that alone proves nothing: the product asked people to do exactly those steps.
  • Don’t show it to customers as a checklist yet. If one condition turns out not to predict anything, change the definition instead of training customers to complete an internal list.

3. A minimum set of fields

These are logical fields and the first job is a read-only review of the database to see which ones already exist, then add only the missing timestamps.

FieldWhy it matters
Trial start and trial endThe commercial window
Access sentThe start of onboarding from the user’s side
First loginEntry into the product
First data available, and its sourceImported, entered by hand, or prepared by your team
Ready at access (yes/no)Separates an account your team prepared from one the customer set up
Ready state first reachedThe first time all conditions were true
Ready state nowWhether all conditions are true today
Last meaningful actionAccount health

And first reach and current state answer different questions. “First reached” answers: did this account ever get there during the trial? And “Now” answers: does it need attention today? An account can fall back, for example when a new import brings new items to review. Record the first-reach timestamp once and never overwrite it. And don’t reconstruct it from today’s state: if the account is ready now and you don’t know when that happened, leave the date empty.

Also access and trial start are different moments unless your team confirms they are always the same. Use access sent for onboarding durations and the trial window for commercial measures.


4. Count only what has had time to happen

A simple rule prevents a lot of false alarms. Include an account in a measure only after its observation window has closed.

If you track “no login within 48 hours of access”, an account that got access yesterday is neither a success nor a failure yet. Trial-level measures, like conversion, count only trials that have ended. Without this rule, every new sign-up makes your numbers look worse for a day or two.


5. Keep a small log for what the database can’t see

A founder-led onboarding produces some of the most useful facts outside the product. A spreadsheet is enough:

  • Founder minutes per new account, for the first 30 days, split by reason.
  • Support touches per new account. One call, one meeting, or one continuous email thread counts as one touch. Minutes show the total cost; touches show how fragmented the work is.
  • Customer questions by category. Count questions, not messages. Report two numbers per category: how many accounts asked it (reach) and how many times it was asked (repetition).
  • Who did the first real task, and with what help. I wrote about why this matters in The founder is inside your funnel.

Store only the account, date, channel, reason and duration. Don’t copy message content or your customer’s own data.


6. Read the results carefully

  • Show counts beside percentages. “3 of 8 accounts” tells the reader more than “37.5%” when cohorts are small.
  • Compare like with like. Read by signup month. If your customers’ work is seasonal, compare a month only with the same phase of the year.
  • Separate “never started” from “started and failed”. The first points to discovery or motivation, the second to the flow itself.
  • Separate “didn’t notice” from “couldn’t decide”. If a step has a review queue, measure the time until someone first opens it and, separately, the time until they finish it. They need different fixes.
  • Fewer support contacts is good news only if readiness and conversion hold. After a product change, the related question should become less common while the related action stays stable or grows. If both fall, people may simply be leaving quietly.
  • Logins can fall while an account is healthy, especially in seasonal B2B work. Prefer meaningful actions over login counts.

7. Add a tool when the first questions are answered

At some point the lists and the log are not enough. That is the moment for a product analytics tool, such as PostHog, Mixpanel or Amplitude. Start with two events, login and first data added, then add the ready-state conditions.

You can keep Google Analytics for the marketing site. GA4 can also track in-product events, but measuring activation over weeks requires deliberate event and identity setup. User-ID identifies individual users; shared accounts or workspaces need separate account-level tracking. These changes keep your distinction between marketing traffic and account-level activation without implying that GA4 can only track website visits.

Make one privacy decision before the first event goes in: track accounts and users, never your customers’ own data. Pseudonymous IDs and counts (“24 records imported”), not names, file names or free text.

What this method cannot tell you

These numbers show where accounts stop. They don’t show why. An account that never adds data may have missed the button, had no file ready, or not needed it yet. Use the lists to choose whom to talk to and which screens to check. For the screens, I use the onboarding audit checklist I published last month.


FAQ

Yes. Start with a read-only review of your own database, a few missing timestamps and a small manual log. Add an analytics tool when you know which two or three events you need.

A short list of conditions that are true about the account when a customer can do useful work. Measure it as a hypothesis and check it against paid conversion before you rely on it.

You can start with a handful. With small numbers, report counts, treat patterns as hypotheses, and talk to the customers behind them.

Yes, if you set up the relevant in-product events. GA4 tracks activity on websites and apps, and User-ID can connect an individual user’s activity across sessions and devices. Measuring activation across a shared account or workspace needs a separate account ID and a way to combine its users’ activity.


If you want this set up for your product, it is part of what I look at in a fixed-scope Onboarding & Activation Audit.