goal: $purchase · look back 30 days
The paths people really take to a goal.
Pick a goal, a sign-up, an app install or a purchase, and Rabolic shows the routes people took to it, built from their own events on the web, in your apps and on your server. No step list to define.
- Any key event as the goal
- Web, iOS, Android and server
- Reached and not yet
- Reached
- 3,620
- Median time
- 2.1d
- Cross-platform
- 41%
Top paths to Purchase
Reached goalNot yet- Web visitSign upPurchase
1,240 · 34% · 1.7d
- 3 web visitsSign upiOS app installPurchase
610 · 17% · 2.4d
- Web visitSign upAndroid app installPurchase
380 · 10% · 2.9d
- Android app installSign upPurchase
290 · 8% · 1.1d
Sample data
how a path is built
Built from each person’s own events.
Nobody draws the steps. Rabolic reads every person’s sessions and key events up to the goal and keeps only the moments that matter, with the same four rules for everyone.
- 1
one timeline
Every platform in one order
A person’s sessions and key events from the web, iOS, Android and your server go on one timeline, up to the first time they reached the goal, and 7, 30 or 90 days back from it.
- 2
visit@web
Visits fold together
Sessions in a row on the same platform become one visit milestone with a count, so three evenings on your website read “3 web visits”, not three steps.
- 3
signup_completed@ios
Key events count once
Each key event is a milestone the first time it happens on a platform. A sign-up on the web and a sign-up in the iOS app are different milestones, so web → iOS and web → Android stay different paths.
- 4
$app_first_open
An install is one step
An app install is always a milestone, and the session it opened belongs to it. People with the same milestones in the same order share a path.
one person
Nine events, five milestones, one path.
Here is the reduction for one person. Three evenings on your website become one visit, the newsletter that brought her is the first touch, the iOS install and the session it opened are one step, and the purchase your server sent ends the journey.
- Their milestones in order, with the wait between each
- Their first touch, time to goal and the typical time for everyone
- Every event they sent, oldest first, on every platform
Maya’s events · oldest first
- Mon 09:12Session from newsletter
- Mon 18:40Session
- Tue 08:05Session
- Tue 08:07signup_completed
- Tue 08:09$pageview /download
- Wed 19:02$app_first_open
- Wed 19:02Session
- Wed 19:06onboarding_done
- Fri 20:31$purchase
Her path to Purchase
- 3 web visitsfirst touch: newsletter
- Sign up
- iOS app install
- Onboarding
- Purchasereached in 4.5 days
Sample data · 9 events, 5 milestones
reached goal · not yet
Where people convert, and where they wait.
The same paths are drawn for people who were first seen in the date range and haven’t reached the goal. A crowd stopping after the sign-up, or after the app install, is the next thing to fix.
- People who reached the goal, conversion, median time and sessions to it, and the cross-platform share
- The top 8 paths, with people, share, median time, median sessions and average spend
- Platform switches before the goal: web → iOS, web → Android and back
- Time to goal, sessions to goal and first touch, as distributions
- Reached
- 3,620
- Median time
- 2.1d
- Cross-platform
- 41%
On the way to Purchase
Reached goalNot yet- Web visit
8,410 · 61%
- Web visitSign up
2,130 · 15%
- 2 web visitsSign upiOS app install
940 · 7%
- Android app install
610 · 4%
Sample data
the calls
One identify() joins the platforms.
Journeys cross devices when the devices are the same person. Call identify() with your user id when someone signs in on the web and in your apps, send the user id from your server, and their events land on one timeline.
identify(userId)on the web and in Flutter appsuserIdon every server event$app_first_openfrom the Flutter SDK, without any code- Mark any event as key in Events to make it a goal
// Web: after signup or login
rabolic.identify('usr_8f2k1x9q', { plan: 'pro' })
// On logout: a new anonymous id and session
rabolic.reset()good to know
What shapes a journey.
- Goals are key events
- A goal is a conversion, an event you mark as key in Events, or an app install. Mark an event as key and it becomes a goal and a milestone.
- Devices join through identify()
- A website visit and an app install are one journey when both called identify() with the same user id, or your server sent the user id. Nothing is guessed from IP addresses or fingerprints.
- Large projects are sampled
- Above 20,000 people on either side, paths, medians and shares come from a fixed sample of them. The number of people who reached the goal is always exact.
journeys faq
Journeys, answered.
How is a journey different from a funnel?
A funnel checks the steps you choose, in your order. A journey has no step list: it starts from the goal and shows the milestones people actually passed on the way, grouped into the most common paths. Use a funnel to measure a known flow, and a journey to find the flows you didn’t know about.
What can be a goal?
Your conversions, any event you mark as key in the Events page, and app installs ($app_first_open). Conversions come first in the list, the primary one selected by default.
Which events become milestones?
The same set: conversions, key events and app installs. Page views, screens and identify calls are not milestones, so paths stay readable; consecutive sessions on one platform become a visit milestone. Every event still shows on the person’s own journey.
What does the look back do?
It limits a journey to the 7, 30 or 90 days before the person first reached the goal. Anything earlier is left out of their path.
What are “not yet” paths?
Paths of people who were first seen in the date range and haven’t reached the goal. They show where people wait on the way: after a sign-up, after an install, or after the first visit.
Do journeys cross devices?
Yes, once the devices are the same person. Call identify() with the same user id on your website and in your apps, or send the user id from your server, and their events join one timeline. A device that never identified stays its own profile.
Can I see one person’s journey?
Yes. Open anyone in the list of people who reached the goal, or use “View journey” on their profile, to see their milestones, the time between them, their first touch and every event they sent.
Which plans include journeys?
Every plan, and the trial.
See the path to your next purchase.
Start a 3-day trial without a card. It begins with your first event, so you can set up the SDKs first.
- 1
Create a project
Sign up, name your project, and copy its publishable key.
- 2
Add an SDK
Web, React Native, Flutter or Node.js, or the HTTP API. Or run npx rabolic init.
- 3
Watch the first event arrive
It shows in live events within seconds, and your trial starts then.