Pro Plan15 minutesintermediate

SaaS User Onboarding Tracking

Track and optimize your SaaS onboarding flow to improve user activation and retention.

saasonboardingactivationanalyticsuser-journey
Last updated: January 15, 2025

Track your user onboarding flow to identify drop-off points and optimize for faster activation.

Onboarding Analytics Overview

Why Track Onboarding?

MetricImpact
Faster activation2x higher retention
Complete onboarding3x conversion rate
Day 1 value40% more engaged

Key Onboarding Metrics

MetricFormulaBenchmark
Completion RateCompleted ÷ Started40-60%
Time to CompleteAvg minutes<10 min
Drop-off RateAbandoned ÷ Started<40%
Reactivation RateReturned ÷ Dropped10-20%

Designing Trackable Onboarding

Define Onboarding Steps

Typical SaaS onboarding:

StepActionPurpose
1Account CreatedEntry
2Profile CompletedPersonalization
3Core Feature UsedValue preview
4First SuccessAha moment
5Second SessionHabit forming

Track Each Step

// Step tracking function
function trackOnboardingStep(stepNumber, stepName, metadata = {}) {
  zenovay('track','onboarding_step', {
    step: stepNumber,
    step_name: stepName,
    time_on_step: calculateTimeOnStep(),
    total_time: calculateTotalOnboardingTime(),
    ...metadata
  });
}

// Usage
trackOnboardingStep(1, 'account_created', { method: 'email' });
trackOnboardingStep(2, 'profile_completed', { fields: ['name', 'company', 'role'] });
trackOnboardingStep(3, 'first_project', { template_used: 'marketing' });
trackOnboardingStep(4, 'first_success', { action: 'report_generated' });

Track Completion

// Onboarding completed
zenovay('track','onboarding_completed', {
  total_steps: 5,
  total_time_minutes: 8,
  skipped_steps: [],
  method: 'guided'
});

// Onboarding skipped
zenovay('track','onboarding_skipped', {
  completed_steps: 2,
  skipped_at_step: 3,
  reason: 'skip_button_clicked'
});

Creating Onboarding Funnels

Main Onboarding Funnel

  1. Go to GoalsFunnels
  2. Create "User Onboarding"
  3. Add your steps:
Step 1: signup_completed
Step 2: profile_completed
Step 3: first_feature_used
Step 4: aha_moment
Step 5: second_session

View Drop-off Analysis

StepUsersConversionDrop-off
Signup1,000--
Profile68068%32%
First Use51075%25%
Aha Moment34067%33%
Return Visit25575%25%

Focus: Profile completion has highest drop-off.

Tracking Onboarding Variations

Guided vs Self-Serve

// Track onboarding type
zenovay('track','onboarding_started', {
  type: 'guided', // or 'self-serve', 'demo', 'wizard'
  source: 'signup_flow'
});

A/B Test Onboarding

// Track variant
zenovay('track','onboarding_variant', {
  experiment: 'onboarding_v2',
  variant: 'simplified',
  user_id: 'user_123'
});

Compare variants:

  • Completion rate
  • Time to complete
  • Downstream retention

Onboarding Segments

By User Role

RoleCompletionTimeFocus
Admin72%12 minSettings
User58%8 minFeatures
Viewer45%3 minNavigation

By Company Size

SizeCompletionNeeds
1-1065%Speed
11-5058%Team features
51-20048%Customization
200+42%Enterprise

By Traffic Source

SourceCompletionNotes
Organic62%High intent
Paid Ads45%Lower quality
Referral68%Pre-educated
Content55%Curious

Session Replay for Onboarding

Find Problem Areas

  1. Go to Sessions
  2. Filter: "onboarding_step" contains step 3
  3. Filter: Missing "onboarding_completed"
  4. Watch where users struggle

Common Findings

UI confusion:

  • Users click non-clickable elements
  • Miss important buttons
  • Don't scroll to CTA

Form friction:

  • Hesitate on fields
  • Error corrections
  • Abandoned forms

Value unclear:

  • Leave before core feature
  • Don't understand next step
  • Exit at pricing mention

Optimizing Each Step

Step 1: Account Creation

Track:

zenovay('track','signup_field', {
  field: 'email',
  time_spent: 5
});

Optimize:

  • Fewer fields
  • Social signup options
  • Clear password requirements

Step 2: Profile/Setup

Track:

zenovay('track','profile_section', {
  section: 'company_info',
  completed: true,
  time_spent: 45
});

Optimize:

  • Make optional fields clear
  • Progressive disclosure
  • Skip option visible

Step 3: First Core Action

Track:

zenovay('track','first_action', {
  action_type: 'create_project',
  used_template: true,
  template_name: 'getting_started'
});

Optimize:

  • Provide templates
  • Pre-populate data
  • Guide to quick win

Step 4: Aha Moment

Track:

zenovay('track','aha_moment', {
  trigger: 'first_result_seen',
  time_from_signup_minutes: 5,
  value_demonstrated: 'report_generated'
});

Optimize:

  • Reduce time to value
  • Celebrate the moment
  • Explain what happened

Time-Based Analysis

Time to Activate

// Track activation time
zenovay('track','user_activated', {
  time_from_signup_hours: 2,
  session_count: 1,
  actions_taken: 15
});

Optimal Onboarding Time

Completion TimeRetention 30d
<5 min45%
5-15 min52%
15-30 min38%
>30 min25%

Sweet spot: 5-15 minutes = highest retention.

Incomplete Onboarding Recovery

Track Abandonment

// User exits during onboarding
zenovay('track','onboarding_abandoned', {
  last_step: 2,
  time_spent: 180,
  page: '/onboarding/profile'
});

Re-engagement Tracking

// User returns to continue
zenovay('track','onboarding_resumed', {
  days_since_abandon: 2,
  resumed_at_step: 2,
  source: 'email_reminder'
});

Recovery Tactics

Days InactiveActionTrack
1Email promptreminder_sent
3Feature highlighthighlight_email
7Offer helpsupport_offer

Onboarding Checklist Component

Track Checklist Usage

// Checklist item completed
zenovay('track','checklist_item', {
  item: 'invite_team',
  checked: true,
  position: 4,
  total_items: 6
});

// Checklist fully completed
zenovay('track','checklist_completed', {
  total_time_days: 3,
  items_completed: 6
});

Checklist Analytics

View in dashboard:

  • Most completed items
  • Least completed items
  • Time to complete each
  • Order of completion

Onboarding Health Score

Calculate Score

// Update onboarding score
function calculateOnboardingScore(userId) {
  const score = {
    profile_complete: 20,
    first_action: 25,
    team_invited: 20,
    integration_setup: 25,
    second_session: 10
  };

  zenovay('track','onboarding_score_updated', {
    user_id: userId,
    score: calculateTotal(score),
    components: score
  });
}

Score Distribution

Score RangeUsersConversion
0-2530%5%
26-5025%15%
51-7525%35%
76-10020%55%

Reporting

Weekly Onboarding Report

Include:

  • Signups this week
  • Completion rate
  • Average time to complete
  • Step-by-step drop-offs
  • Segment breakdown

Cohort View

Track cohorts over time:

  • Week 1 completion rate
  • Week 2 activation rate
  • Week 4 retention rate

Best Practices

Design for Measurement

  1. Define success first

    • What is activation?
    • What is the aha moment?
    • Track those specifically
  2. Instrument everything

    • Every step
    • Every skip
    • Every retry
  3. Segment from start

    • Capture role/use case
    • Track source
    • Note company size

Common Mistakes

  1. Too many steps

    • Overwhelming
    • High abandonment
  2. Unclear progress

    • No progress bar
    • Users feel lost
  3. Forced onboarding

    • No skip option
    • Frustrates power users
  4. Ignoring data

    • Not watching replays
    • Not optimizing drop-offs

Next Steps

Was this article helpful?