Janus Client SDK
A lightweight JavaScript library for tracking events from web applications. Automatically handles batching, retries, rate limiting, and persistence.
Lightweight (~3KB)Auto RetryBatchingPersistence
User Journeys
Overview#
Define a sequence of steps. See how many users complete each one. That’s it.
Journeys show completion rates, dropoff counts, and median time between steps. No chart. Just a table with the numbers that matter.
Available on the Pro plan.
Creating a Journey#
1. Go to Journeys in the app navigation
2. Click "Define a new journey"
3. Name it (e.g., "Signup to first project")
4. Add steps — each is a page view (matched by path) or a custom event (matched by type)
5. Set the conversion window — how long users have to complete all steps from step 1 (default: 24 hours)
6. Choose match scope — User (cross-session) or Session (single session)
7. Click Save Journey
Step Types#
Each step matches against your existing event data:
| Type | What it matches | Example |
|---|---|---|
| Page view | A $pageview event where context.path equals your value | /pricing, /signup, /dashboard |
| Custom event | Any event where type equals your value | signup_click, checkout_started, project_created |
Reading Results#
One row per step:
| Column | Meaning |
|---|---|
| Entered | Users or sessions that reached this step |
| Conversion | Percentage of step 1 entrants that made it here |
| Step rate | Percentage of the previous step that continued |
| Dropoff | Users lost between the previous step and this one |
| Median time | Median time from the previous step |
How Matching Works#
Steps must happen in order. Users can do other things in between — the journey only requires A before B before C, within the conversion window.
The window starts at step 1. A 24-hour window means all subsequent steps must happen within 24 hours of the first step.
User matching (distinctId) spans sessions. A user can start Monday, finish Tuesday. Session matching requires everything in one browser session.
Tips#
Track specific moments, not generic clicks. Good journey steps are things like signup_started, checkout_completed, first_project_created.
Start with 2–3 steps on your main conversion path. Find the dropoff. Then add steps in between to pinpoint the friction.
Try different windows. A 1-hour window vs. 7-day window tells you whether conversions happen fast or take multiple visits.
javascript
// Good journey steps: specific, meaningful momentsJanus.track('pricing_viewed');Janus.track('signup_started', { source: 'pricing_cta' });Janus.track('signup_completed', { plan: 'pro' });Janus.track('first_project_created');
Need Help?
If you have questions or run into issues, check out our troubleshooting guide or reach out to our support team.
Troubleshooting Guide