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?
“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.”
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.
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.
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 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.
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.
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 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 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:
- Device Type
- Landing Page
- 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.
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
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.
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.
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:
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.
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.
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
How can I see where the user went instead?
See: Drill Down.
How can I see the specific people that converted or dropped off?
The best way to do this is to group by Identity, or User ID, which will render a table of all users and which funnel steps they completed. Heap does not currently offer the capability to create a segment of users from a funnel result, though you can create a segment of users that have completed the funnel steps of interest and then analyze these users in the Users view. Once you’ve validated that the users did follow the funnel steps of interest, you can use this list of users to perform any targeting of people that either converted or dropped off.
Why is the count in my funnel different from the count in my graph?
In Heap, a graph and a funnel are measuring two different things. While a graph is measuring an event count, a funnel is measuring the number of unique users who completed the action. For example, if eight users clicked the ‘sign up’ button once, and one user clicked the ‘sign up’ button twice, then the graph would show a count of 10 and the funnel would show a count of 8. The funnel also shows the user count over the entire time range, where a graph shows the totals per day or week even if unique users is checked.
Why am I seeing more conversions after applying an event-level filter and a group by?
When running a funnel with a group by applied, you may notice your conversion rate increase after applying an event-level filter. For example, if you are analyzing pageviews grouped by country, and you apply an event-level filter to exclude a certain country, your conversion rate may increase.
This has to do with the way Heap categorizes users who could belong to multiple groups in the group by. Following our example, if one user completed this funnel three times in three different countries (let’s say the USA, Canada, and Mexico) when you run the funnel without the event-level filter excluding one of those three countries, the user will be grouped into the country where they did the event most recently (let’s say USA). However, if you apply an event-level filter to exclude users from the USA, then the user will be added to either the Canada or Mexico group, thus increasing the conversion rate.
Why does the effort analysis show 0 interactions between steps when there are top events between those steps?
The interaction count is the median number of interactions between steps. It represents the value at the midpoint of the range of interaction values, where there is an equal probability of falling above or below it. There can still be top events between steps, but if less than 50% of users performed those top events the median interaction count would remain at 0.