Overview
The funnel module in Heap measures the number of unique users who have performed a set of actions. You can use it to see drop-off and conversion in any multi-step process. This allows you to answer questions such as:
- What percentage of the people who come to my landing page end up signing up?
- Are my users making it all the way through the account creation flow?
Community Quote
“This is what I tell all the new Heap users at my company: learn how to use funnels (my favorite part of Heap) by purposely building a bad funnel first. Walk through the steps, see the weaknesses of the funnel and then make it better using effort analysis, so you can see where users drop off, you can see where things are a little bit wonky here and there. And then you can make your question better, and you can make your definitions better. It just improves the overall funnel experience.”
From I encourage new Heap users to create a bad funnel first
The following Chart Templates use the funnel module. Click any of the links and populate the fields provided to quickly get up and running with your first funnel.
- Do users returning after a break convert at a higher rate than new users?
- How does use of a particular feature influence conversion and drop-off rates?
- How has my conversion rate changed since last month?
- How has my conversion rate changed since last week?
For an interactive course on how to mesaure the success of a feature post-launch, check out our Heap Use Cases | Measuring Feature Success course in Heap University.
Setting Up a Funnel
Let’s say you want to see how many people view your Signup page, enter their email address, and then sign up. The first step would be to define events for each of those actions in the funnel. Once we’ve done that, we can build a funnel in Heap.
To begin, navigate to Analyze > Funnel, then add each of the events into your funnel steps. Use the + and x buttons to add or remove funnel steps.
In the example below, we track our conversion rate from View Signup Page to Signup Page – Enter Email to Click – Sign Up. Once we click Run Query, we see the conversion rate through this flow.
Run Query Hotkey
You can also press Command + Enter (Mac) or Control + Enter (Windows) to run queries.

Taking a look at the results, we see that 1,272 users viewed the signup page over the past 7 days. Of these people, 217 entered their email address after viewing the signup page, and 196 individuals then submitted the signup form.

Heap presents the total funnel conversion rate at the top of the graph. In this case, the funnel conversion rate is 15.4%. This percentage reflects the number of signups (196) divided by the number of users that viewed the Signup page (1,272) [196/1,272 = 15.4%]. Heap also presents the conversion rate of each funnel step. For example, of the 217 people that entered their email address, 90.3% of them (196) actually signed up.
It is important to know that Heap funnels show unique users and not the event count. Also, users only appear once, even if they complete the funnel steps several times during the date range selected.
Heap funnels track users who complete a series of sequential actions at any point within the date range and conversion window defined. The steps do not have to be immediately sequential: in the previous example, someone is still considered to be a conversion if they viewed another page between entering their email address and signing up.
Top Events
The top events section allows you to see the most common events after users complete a step in a funnel. This can help you better understand what your users are doing between each step and how these behaviors affect conversion.
If you have session replay turned on, you can also watch replays of these top events. For more information, see the section Watching replays of users dropping off and converting below.
To switch over to the top events section, click the Top Events tab from within your funnel results.

You can also navigate to top events from the Effort Analysis section by clicking the N interactions text and then clicking View top events.
From this section, you can use the What are the top events between drop-down to select any combination of two events in your funnel.

For example, in a signup funnel, the top events may include steps to complete the form fields. If you notice an event for a particular step has significant drop-off in comparison to the other steps, there may be an opportunity to make that step more clear to improve conversion.

You can also filter by event category to include or exclude certain types of events, including pageview, third-party, server-side custom events, and client-side custom events. Note that when you save the chart, these filter settings will also be saved.

Path Comparison
The path comparison section allows you to see what percentage of users completed a specific “optional” event between two steps in a funnel. This allows you to gauge how well the path that included the optional step converted, and how it compares to the conversion of the path where users did NOT take the optional step.
To switch over to the top events section, click the Path Comparison tab from within your funnel results.
You can also click on any Top Event to jump to the Path Comparison between paths where users do vs don’t do that event.

Once you are on this page, you can select a step in your funnel and an event in the drop-down to bring up a comparison of paths from this step to this event.
The results will show you which percentage of users completed the event after finishing the step.

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.
What’s the difference between Interactions in Effort Analysis and Top Events?
Effort Analysis explicitly captures actions that involve user effort, such as clicks, changes to a form field, and opening a new page.
Top Events, surfaces a broader set of potential paths that a user could take between two points in a digital journey, and thus includes events like custom server-side events and events from 3rd party integrations (e.g. viewing an in-app guide, opening an email).
Effort Analysis
Effort analysis helps you understand why users are dropping off between funnel steps by surfacing 3 signals that indicate where they might be struggling.

The three signals are calculated as follows:
- Interactions: Total count of clicks, form changes, and form submissions between steps (including interactions you haven’t defined yet).
- Time engaged: Time to convert from one step to the next, but only counting “engaged” time (when there is at least one interaction within 60 seconds) and ignoring time spent away from the computer (e.g. stepping away for an hour).
- Revisit Rate: The percentage of users who needed to revisit your workflow across multiple sessions to convert to the next step.
Effort analysis does not appear on funnel charts which have a comparison date range applied.
Note that time engaged differs from standard “wall clock time” measured in other tools. Engaged time counts only time adjacent to a user interaction. For example, if a user is interacting in your app, then goes off to join a meeting for an hour, then returns, engaged time will not measure the hour in between.
In this example, we see that 76% of users are dropping off before submitting the signup form, and that 8 interactions are taking place between these two steps. This information may prompt us to re-assess the amount of interaction required in our signup form so we can make it easier to complete.
Watching replays of users dropping off and converting (paid feature)
If you have session replay enabled, you have the option of watching replays of users dropping off between each step of your funnel and of users converting at the end of your funnel. Hover over the replay icon and click Replay of users dropping in between funnel steps or Replay of users converting for the last step in your funnel.

A pop-up will appear where you can watch the latest replay of the event. Use the play, pause, rewind, adjust speed, and next replay options to explore replays where this step in your funnel took place.

You can also watch replays from the Top Events view. Click on the replay icon in the Sample replays column to watch replays for a given event. You will have the option of watching replays of users who drop off or who convert.

Next Steps
The next steps section appears when Heap sees a potential step or group by you can add to your funnel to get even more insights into user behavior. The following types of next steps may appear in this section.
Step Suggestions
Step suggestions may appear if Heap sees a step that nearly all converting users had to complete, but where a significant number of users drop-off before and after (for example, a broken but required field in a multi-step form). You can use this info to investigate and devise a plan of action to improve conversion.
These appear under Next Steps next to your funnel results.

After you click Add Step, the funnel will update to show the newly inserted step as a pageview or change event with an event-level filter.
You can also define the step as a new event from the step suggestions page by clicking the Define Filter as Event button next to the event definition.

Step suggestions do not include mobile pageviews.
Note that step suggestions will not appear if the funnel has:
- Less than 1 or 10+ funnel steps
- A comparison period
- A group-by
- A date range of more than 7 days
What types of steps are suggested, and how are they calculated?
We suggest two types of steps: Pageviews and Change events.
- Pageview is calculated based on path, such as “View – /store/shoppingcart”.
- Change is calculated based on the name of the form input, such as “Change – firstname” or “Change – zipcode”.
Group Suggestions
Group Suggestions automatically suggests groupings for a funnel query by proactively analyzing which groupings are most predictive of overall conversion rate. This automates the “guess and check” work of trying different groupings when drilling into the reasons for drop-off in a funnel.
Depending on the nature of your query, the current properties that may be suggested are:
- Country
- Device Type
- Domain
- Hash
- Landing Page
- Path
- Referrer
- Title
- UTM Source
- UTM Campaign
- UTM Content
- UTM Medium
- UTM Source
If you don’t see Group Suggestions appear in your query, it is because the type of query you set up is not one that would prompt the suggestion to group by of one of these properties. The suggested properties listed are ordered left-to-right based on how strongly they are related to the events in your query.
These will appear under Next Steps next to your funnel. You can select one of these to further explore your analysis results.

The Suggestion provides a preview of the results of the grouping to help you decide if the results will be relevant for your analysis.
After you click Add Group, it will be added to your query.

Note that Group Suggestions will not appear if the funnel has:
- Less than 30 users at the top of the funnel
- A compare by
To learn more about how group bys work in Heap, see Group By.
Hidden Paths
Heap may suggest a Hidden Path, which is an alternate path that users took that skipped a certain step in your funnel.
Click the View Hidden Path button to jump to a path comparison view that removes the suggested step from the funnel and makes it an optional step.
This allows you to see how many users are skipping this step and how users who take the step vs skip the step compare in terms of conversion rate.
Note that Hidden Path suggestions will only appear when:
- The origin and destination steps are different events
- At least 10 users would have reached the destination step, but don’t show up as converting in the funnel because of the intermediate (“skippable”) step
- Users who skip the intermediate “skippable” step make up at least 20% of the users who would have reached the destination step without that intermediate step
Compare To
You can also add a comparison window to your funnel, such as comparing the past 7 days to the week before, to track changes in conversion between the current period of time and a time period in the past. Referring back to the previous example, if we add a comparison for the past 7 days, our results update to look like this.

The lighter-colored bars show the results for the previous 7 days. The numbers below the conversion rate show the change in pp (percentage points) between these two periods.
Note that the Effort Analysis section in your funnel chart will not update if you add a compare to.
Conversion Windows
By default, Heap shows you the conversion rate over the entire date range chosen. You can use the date range drop-down to get more refined results.

For example, we can see how many people convert within 10 seconds of hitting the Signup page.

As you see in the results, about .2% of conversions happen within 10 seconds.
You can also choose a custom conversion window, which can be any number of seconds, minutes, hours, days, weeks. This is ideal for setting a conversion window that aligns with your goal, such as getting users to complete an action within 2 weeks.
To set a custom conversion window, from the granularity drop-down, select a custom range. Additional drop-downs will appear where you can set the custom conversion window.

Group By
To dig deeper into what is causing the drop-off between step one and step two, you can add a Group by clause to group conversion rates by properties such as geolocation, UTM campaign codes, referrer, and more. Check out how this funnel conversion rate changes depending on the user’s Initial Device Type:

You can only Group by a single Event-Level Property
We now see a table below the bar graph showing device-specific conversion rates. In this case, users don’t appear to be submitting signup via mobile, indicating that you may want to take a look at the UX of your mobile site.

What if a user is a member of multiple groups?
Funnels in Heap are user-based, which means users are only counted once. If an event-level group by is used, there is the potential that users could be a member of multiple groups.
If a user does the first event multiple times before converting, they will be counted in the group that happened most recently prior to converting. For example, say we have funnel looking at the conversion from any marketing pageview to signup and we’re grouping by the marketing page title. If a user viewed the homepage, then viewed the pricing page, and then signed up, they’d be counted in the pricing page group, as this group happened most recently prior to converting to the next step of the funnel.
If it is possible for users to do the sequence of events in the funnel multiple times, users will be counted in the group that happened most recently prior to the first time they converted within the date range. If a user has not converted, they’ll be counted in the group that happened most recently.
Drill Down
For any of the examples above, you can click on the bars to drill down to the users who have done that event, then click through to a prefiltered chart for that funnel query in the Paths or Users module. This is helpful for analyzing what users did instead of converting via this step.

Heap funnels become even more powerful when you use our Custom Identify API and group funnels by custom user-level properties tailored for your use case.
Event-level Filters
Event-level filters allow you to filter specific events in your funnel by one or more event-level properties. You can use them to analyze users based on whether they:
- Participated in an experiment variant
- Started an in-app guide
- Viewed an email campaign
This prevents you from having to create one-off events for each property value, such as for each A/B experiment, guide, or email campaign. With event-level filters, you can create funnels that reference one generic event and filter in-line in the funnel for the property value you care about.
To add the event-level filter, when setting up a funnel, simply click the subfilter icon next to the funnel step.

Filter for users who participated in an A/B experiment
You may be conducting an A/B experiment to see which version of your new homepage results in more free trial signups. To filter for users who have viewed an experimental version of your new homepage, set up the steps of your funnel, then set the event-level filter to filter for views of the relevant experimental homepage, ex. only views of homepage version A.

In the results, we see that version A of your new website resulted in 40.34% of users clicking the free trial button.

To see results for version B, simply update the value in your event property filter.

In our example, version B of the site resulted in only 26.09% of users clicking our free trial button, a little bit less than version A.

Filter for users who started an in-app guide
Let’s say you want to see if users who started an in-app guide for your new feature ended up using it.
Set up the steps of your funnel, then set the filter options to filter for the relevant in-app guide.

In the results, we see that 65.98% of users who started the in-app guide went on to click the call to action to try out the feature, then 18.68% of those users used the feature.

To check what percentage of users completed the in-app guide prior to using your feature, simply add a ‘flow completed’ step, then apply the event-level filter to that step instead.

Filter for users who viewed an email campaign
You may want to know how many of your users who read the latest product update email clicked the link in the email to one of the features announced. In this example, we will apply event-level filters on funnel steps one and two: the first to filter for users who opened the specific email campaign, and the second to filter for users who clicked on that specific feature link.

In the results, you’ll see that 63.49% of your users who opened the email clicked the link to the feature page, and of those, 18.96% used the feature at least once.

Period over Period Analysis
You can also use Funnels to conduct Period over Period analysis, which allows you to compare a recent time period to the same time period in the past, such as the same day, week, month or quarter in the past week, month, quarter, or year. For complete steps to set this up, see Period over Period analysis.
Debugging your Funnel
If you are unsure about the steps in your funnel, we recommend using pageviews rather than button clicks or form submissions if possible. The correct pageview event is easy to verify on inspection.
If you are doing form analysis, remember that the steps need to be sequential. If you see an unexpected drop-off, especially if your first step and last step conversion is much higher than the funnel shows for the full form, then your users may not be completing the form in order.
Leaky funnels are another common problem. If you’re seeing unexpected results, consider whether there are other routes that the user may be taking through your funnel that you are not capturing in your analysis.
Frequently Asked Questions
For FAQs about this chart type, see our Chart FAQs.