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.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
Fromsrc/onboarding-tracker.ts:16-197, the tracker sends events at each stage:
- You call tracker methods → Events are sent to backend
- Events stored in database with metadata (step_index, timing, properties)
- Backend analyzes events → Calculates funnel statistics
- Dashboard displays analytics → Completion rates, dropoff points, time metrics
Events Sent Automatically
onboarding_started- When onboarding beginsonboarding_step_completed- When each step is completedonboarding_step_skipped- When optional steps are skippedonboarding_completed- When all required steps are doneonboarding_abandoned- When user exits early
Configuration
Example Configuration
Tracker API
start(properties?)
Start the onboarding process:completeStep(stepName, properties?)
Mark a step as completed:skipStep(stepName, reason?)
Skip an optional step:You can only skip steps marked with
required: false.complete(properties?)
Mark onboarding as complete: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
- Verify tracker is initialized:
tracker !== null - Check you’re calling
tracker.start()before other methods - Enable debug mode:
config.debug = true
Progress Not Updating
Ensure you’re callingcompleteStep() with exact step names from your config:
Completion Not Triggering
Calltracker.complete() manually, or check all required steps are completed: