Skip to main content

Overview

Onboarding tracking helps you measure how effectively new users complete your activation flow. Track step completion, identify dropoff points, and optimize your onboarding experience to improve user retention.
Important: The OnboardingTracker is a helper class that formats and sends events. You must manually call tracker methods when users complete steps. It does not automatically detect onboarding progress.

Quick Start

1

Define Your Onboarding Steps

Create a configuration object defining your onboarding flow:
2

Initialize the Tracker

Use the useOnboardingTracker hook in your onboarding flow:
3

Track Step Completion

Call completeStep() when users finish each step:

How It Works

From src/onboarding-tracker.ts:16-197, the tracker sends events at each stage:
  1. You call tracker methods → Events are sent to backend
  2. Events stored in database with metadata (step_index, timing, properties)
  3. Backend analyzes events → Calculates funnel statistics
  4. Dashboard displays analytics → Completion rates, dropoff points, time metrics

Events Sent Automatically

  • onboarding_started - When onboarding begins
  • onboarding_step_completed - When each step is completed
  • onboarding_step_skipped - When optional steps are skipped
  • onboarding_completed - When all required steps are done
  • onboarding_abandoned - When user exits early

Configuration

Example Configuration

Tracker API

start(properties?)

Start the onboarding process:
Sends event:

completeStep(stepName, properties?)

Mark a step as completed:
Sends event:

skipStep(stepName, reason?)

Skip an optional step:
You can only skip steps marked with required: false.

complete(properties?)

Mark onboarding as complete:
Sends event:

abandon(reason?)

Track when users abandon onboarding:

getProgress()

Get current onboarding progress:

Complete Example

Use Cases

SaaS Onboarding

Product Tour

E-commerce Checkout

Dashboard Analytics

View onboarding metrics in your MentiQ dashboard:
  • Completion Rate: Percentage of users who finish onboarding
  • Step-by-Step Breakdown: Completion rate for each step
  • Dropoff Points: Steps where users abandon most frequently
  • Average Time: Time taken per step and total duration
  • User Journeys: Individual user progress tracking
  • Cohort Analysis: Compare onboarding performance across user segments

Progress Monitoring Component

Best Practices

Onboarding Tracking Tips:
  • Keep onboarding flows short (3-5 required steps)
  • Make early steps easy to build momentum
  • Track time spent on each step
  • Mark some steps as optional to reduce friction
  • Send contextual properties with each step
  • Monitor abandonment reasons
  • A/B test different onboarding flows

Troubleshooting

Events Not Appearing

  1. Verify tracker is initialized: tracker !== null
  2. Check you’re calling tracker.start() before other methods
  3. Enable debug mode: config.debug = true

Progress Not Updating

Ensure you’re calling completeStep() with exact step names from your config:

Completion Not Triggering

Call tracker.complete() manually, or check all required steps are completed: