The funnel module 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?
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.
Taking a look at the results, we see that 334 users viewed the signup page over the past 7 days. Of these people, 273 entered their email address after viewing the signup page, and 233 individuals then clicked the sign up button.
Heap presents the total funnel conversion rate at the top of the graph. In this case, the funnel conversion rate is 69.76%. This percentage reflects the number of sign-ups (233) divided by the number of users that viewed the Signup page (334) [233/334 = 69.76%]. Heap also presents the conversion rate of each funnel step. For example, of the 273 people that entered their email address, 85.35% of them (233) 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.
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. At the top, we see from last week to this week, there was a 4.08% decrease in conversion.
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 5 minutes of hitting the Signup page.
About 70% of conversions happen within 5 minutes.
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. Drop-off appears to be much higher among tablet and mobile devices (about 41% and 32% lower respectively than on desktop) indicating that you may want to take a look at the UX of our 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 report 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 14.8% 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 12.61% 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. As an example in Heap, we may want to see if customers who started the event-level filters in-app guide went on to set up an event-level filter.
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 7.26% of users who started the in-app guide went on to set a filter, then 93.91% of those users executed the query they set the filter for.
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 18.84% of your users who opened the email clicked the link to the Paths feature page, and of those, 59.79% 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 Measure changes in user behavior over time.
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?
Within a funnel, you can click on the bars to drill down to the users who have done that event, then click through to a prefiltered report for that funnel query in the Paths or Users module. This is helpful for analyzing what users did instead of converting via this step.
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.