How to Track Signups and Activation Properly
The signup event is easy; activation is the one that predicts revenue. How to define, instrument, and read both — per channel.
Signup is the easiest event to track and the most overrated. A signup is a promise; activation — the first moment of real value — is the fulfillment, and it predicts revenue, retention, and word-of-mouth far better than registration counts ever will. Instrumenting both, joined to acquisition, takes four lines of intent.
The signup moment: three lines, all load-bearing
// In your post-signup handler
window.webanalytics?.track('signup_completed', {
method: 'email', // or 'google', 'github'
});
window.webanalytics?.identify(user.email);
await api.patch('/me', {
clycyo_visitor_id: window.webanalytics?.getVisitorId(),
});The event counts it; identify() merges the anonymous research visits into one journey; the persisted visitor ID enables server-side revenue attribution later. Skip the third line and future-you spends a week wondering why webhook revenue will not join.
Defining activation (the hard part is honesty)
Activation is the action after which users come back on their own. Not 'completed onboarding' — onboarding is your ritual, not their value. Candidates: first project created, first report run, first invite sent, first API call succeeded. Pick the one that best separates your retained users from your ghosts, instrument it, and resist committee additions:
window.webanalytics?.track('activated', {
via: 'first_project',
days_since_signup: 2,
});The two reports this unlocks
- Activation rate per signup cohort: of last week's signups, what share activated within 7 days? This number moving is your onboarding work succeeding or failing — in days, not quarters. It is the lightweight version of retention analysis, and metric #3 of the eight that matter.
- Activation rate per acquisition source: because first-touch UTM rides the visitor record, you can see that paid-social signups activate at 8% while newsletter signups activate at 40%. Same CPL, wildly different value — the report that reallocates budgets.
Debugging the gap
When signup→activation leaks, open individual journeys: the timeline shows the signup, the three dashboard visits, the error they hit, the page that took six seconds, and the silence. Aggregate rates tell you that you are leaking; timelines (not replays) tell you where. Most activation fixes that work were found by reading ten journeys, not ten dashboards.