Overview
You can use Journeys to visualize and measure all of the different paths that users take through your product.
This can help you answer questions like:
- When my users get to [x] page, what do they end up doing next?
- There are multiple possible paths to [x] event. Which path is most common? Which path converts the best?
- From a [x] page or [x] part of the app, what do users do next?
- What paths are most common, vs. most successful?
Building a Journey
To build a Journey chart, navigate to Analyze and select Journey (it may be behind the More overflow icon). From here, you can start to build out your journey using steps and branches. These journey components are simple, but they layer together to map out complex flows.
Steps are the core building blocks of the journey. They are events or actions that users take.
Branches let you visualize alternate paths. Click the Add a branch icon next to a step and it will allow you to build out alternate paths. This can include:
- Standard branches. Selecting Add a branch lets you select different paths users could take.
- “None of the above” paths. Selecting the Include users who skipped this step on a step with multiple paths will add a new path to the journey analysis results which shows users who did none of the other events.
- Selecting Include users who skipped this step on a single step will add a new path to the journey analysis results which shows users who did not do that step, but still continued on the journey.
Forgot to add a step in between steps? You can click the + icon in between steps to add it in.
Once you’ve built out your steps, click View results and the journey chart will appear below.
Use Cases & Examples
Visualizing diverging paths
You can visualize diverging, alternate paths by building a journey with multiple paths. This can be useful if you’re trying to understand how and why users choose and then navigate through different workflows.
Say you have 3 different activation paths that users tend to take while onboarding to your app: setting a profile picture, inviting a friend, or making their first post. You want to understand how many users start down each activation path, and how many users end up successfully activating.
You might start by setting up your journey with an initial event like a Homepage View, then click the Add a branch icon to add more paths to the second step.

If a certain path has steps that apply to just that path, you can click Extend path to continue mapping out that user path. As an example, let’s say that the steps View Profile Settings and Search for Friends each have their own secondary steps that do not apply to Make a Post. You could click Extend path to add subsequent steps for each of the first two paths.

From here, click View results to see how and where your users end up activating.

Visualizing happy & unhappy paths
If all paths eventually end up at the same event, you can add additional steps to the end of the user journey to compare completion rates. This can help you decide what paths to push your users towards or where to focus your product improvement efforts.
For example, let’s say you have an eCommerce website and there are multiple different ways for your users to find and buy a product. You can start with a Homepage event and then click the Add a branch button to include several of the most popular ways users end up buying a product: View Product Page, Browse Category Page, or View Testimonials Page.

While these branches may vary, they all eventually end up at the same place: Add to Cart and Checkout. To show this, click Add step and then add these subsequent steps at the end of your journey.

This will produce a journey result that looks like this:

Once you click the View results button, you can compare and contrast these different journeys against each other to understand what users do most often after viewing the Homepage, and which of those paths ends up converting the best.

Understanding user behavior and “None of the above” paths
What if you have a journey where users have multiple choices, or could choose not to do a step at all?
For example, let’s say you’re running an eCommerce website and you’re trying to understand the impact of different features on your product details page. You have a Virtual Try On feature and a View Reviews feature, but you’re not sure if they’re driving conversion rates, and if you should invest in adding more of these features. You can build a journey that shows if users engage with those features, and what impact they have on conversion.
Start with View Product Page as a starter event, and then click Add a branch to create multiple paths for Virtual Try On and View Product Reviews. From there, you would select the Include users who skipped this step option.

Next, build out the rest of the purchase journey by clicking Add step. This might include Add to Cart, and Checkout for example.

After you click View results, you can then see the journey divided up into three paths: Users who used Virtual Try On, users who did View Product Previews, and users who did neither of those branches. You could then compare completion and drop-off rates for each to decide what to do next about these features.

Exploring surprising paths with Top Events
Once you have set up a journey chart, the Top Events panel will show you the most common events users took after doing a particular step in a journey. This can help you better understand what your users are doing and if there are alternate paths you should add to your journey.
Adding a new path
Curious about what your users are doing other than the paths you’ve set up? Click the gray Add+ path to surface what are common, autocaptured events that users do before or after a step. Hover above the results of your first step to see the Add+ icon.

Click Add to journey to add that path to your journey immediately.

Extending a path
To see what users do after a final step in the journey, click on the Add+ at the end of a path to see what common events users do after the final step of the journey.
What events are included in Top Events?
The following events are included in Top Events:
- Web events (pageview, submit, change, click)
- Mobile (iOS, Android React Native) events (screen view, change, touch)
- 3rd party events (AppCues, Chameleon, Intercom, Shopify, Stripe)
- Custom (server-side) events.
Note that we do not include client-side custom events.
Watching session replays of Journeys
Session replay is an add-on feature for paying customers only. You may try the feature for free for 14 days or 10,000 sessions (whichever comes first), after which you must contact Sales to continue use.
If you have session replay enabled, you have the option of watching replays of users dropping off after each step of your journey, and of users completing the end of your journey.

Interpreting journey visualizations
Keep in mind that within a journey chart:
- Each user is counted only once.
- A user can only move forward in a journey, never backward or sideways.
- Users can perform any number of unrelated events while waiting to progress forward in the journey.
- When a user reaches a fork with multiple paths, they’re attributed to the path that they took first.
What happens if a user starts down multiple paths? How do we attribute them to a certain path?
Branches within journeys show the first path that a user took. For example, for the journey results below, if a user moved through your app in the following order:
- Homepage View
- Browse Category Page
- Filter Category Page
- Add to Cart

Then this journey would belong in the center path (Browse Category Page) because that was the path the user took first.
Conversion rates
The numbers between steps show the conversion rate from the prior step to the next step.
Completion rates
Completion rates, shown at the end of the journey, show the overall completion rate from the first branch of that path to the final step.
For example, in the above journey:
- 13.1% of users will successfully Filter a Category page after Browse a Category Page (conversion rate)
- 2.9% of users who started with Browse a Category Page will successfully Add to Cart, vs. 24.3% of users who started with View Product Page (completion rate)
Session-limited Journeys
Session-limited journeys track user progress within a single session (e.g. a given date range but with the limiter within a single session). Each user is still counted only once, even if they performed a journey multiple times in that date range.
What is a session?
A session in Heap is a period of activity from a single user in your app or website. It can include many pageviews or events. On web, a session ends after 30 minutes of pageview inactivity from the user. On mobile, a session ends after 5 minutes of inactivity, regardless of whether the app’s background or foreground state.
Heap will display one session and visualize the journey from within that session. The journey will display whichever session made it the farthest along through the journey. If a user made it equally far in their journey multiple times, then the journey will display whatever path happened first.

For example in the above, session-limited journey:
- On Monday, User A did Homepage View > View Product Page. On Tuesday, User A did Homepage View > Browse Category Page > Add to Cart. Because the Tuesday session progressed the farthest vertically, Heap will display the Tuesday journey.
- On Wednesday, User B did Homepage View > View Product Page. On Thursday, User B did Homepage View > View Testimonials Page. In neither session did they do Add to Cart. Because both sessions got equally far, Heap will display the Wednesday journey because it happened first.
Frequently Asked Questions
What’s the difference between Journeys, Paths charts, and Path Comparisons in Funnels?
- Journeys is best for any type of complex or exploratory user discovery. You can visualize alternate paths, complex workflows, and measure completion rates all in one visualization. Heap will even assist you as you build your journey, surfacing surprising or untracked alternate paths.
- Path Comparisons in funnels, on the other hand, are a great tool for quickly checking a simple hypothesis about a funnel. For example, you could check if users convert from View Product Page to Add to Cart more or less often if they click View Size Guide after they View Product Page. Journeys and Path Comparisons rely on the same data and logic, so they will produce the same results if you build out the exact same query in both.