Reach out with questions, bugs, or suggestions. We'll respond ASAP. Your message is sent! We'll respond via email shortly.


A funnel lets you see drop-off and conversion in any multi-step process. It measures the number of unique users who have performed a set of actions. Funnels let us answer questions such as "What percentage of the people who come to my landing page end up signing up?" or "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, access the Funnel view from the left-side of your dashboard and then add each of the events in Funnel Steps. Use the + and x buttons to add or remove funnel steps.

Example Funnel

In the example below, we track our conversion rate from View Signup Page to Signup Page: Enter Email to Sign Up. Once we click Run Query, we see the conversion rate through this flow. (Click the "Show Result" button below to see the funnel results). Show Result

Taking a look at the results, we see that 340 users viewed the signup page between Sep 1, 2016 - Sep 7, 2016. Of these people, 208 entered their email address after viewing the signup page, and 191 individuals then signed up.

Heap presents the total funnel conversion rate at the top of the graph. In this case, the funnel conversion rate is 56.18%. This percentage reflects the number of sign ups (191) divided by the number of users that viewed the sign up page (340) [191/340 = 56.18%]. Heap also presents the conversion rate of each funnel step. For example, of the 208 people that entered their email address, 91.83% of them (191) actually signed up.

It is important to keep in mind that Heap funnels show unique users and not the event count. Also, users appear only once 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 he or she viewed another page between entering his or her email address and signing up.

Conversion Windows

By default, Heap shows you the conversion rate over the entire date range chosen. Using the conversion windows dropdown we can get more refined results.

For example, we can see how many people convert within 5 minutes of hitting the Sign Up page.

Around 89% of conversions happen within 5 minutes.

Group By

Now let's dig deeper to find out what is causing the drop-off between step one and step two. We can add a group by clause to group conversion rates by properties such as geolocation, UTM campaign codes, referrer, and more. Let's take a look at how this funnel conversion rate changes depending on the user's Initial Device Type: Show Result

Heap now renders 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 we may want to take a look at the UX of the mobile site.

Heap funnels become even more powerful when using our Custom Identify API and grouping funnels by custom user-level properties tailored for your use case.

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 / last step conversion is much higher than the funnel shows for the full form, this suggests your users are not completing the form in order.

Leaky funnels are another common problem. If you're seeing unexpected results, consider if the user can take other routes through the funnel that you are not analyzing.

Funnel FAQ

How can I filter a funnel based on event properties?

In funnels, you can only filter by user-level properties. The main reason for this is that event level properties can change from step to step, or across the entire funnel if someone happens to complete the funnel many times or across more than one session. If you want to apply an event-level filter to a funnel, you can still do that, but you'll need to go through a few extra steps.

To do so, create a copy of the first defined event in the funnel and add a filter for any event-level properties to that event. Use that as the fist step in the funnel. Because Funnels are sequential, and the first step constrains subsequent steps, this event filter will effectively be applied to the entire conversion funnel. (You can also do this for any event in the Funnel, but this is the most common use case.) If you have a custom tracking event, you can also create a new defined event based on that custom event by modifying the type, and adding any event-level filters there.

How can I see where the user went instead?

Heap currently does not support multi-path funnels, or path analysis, but there are other approaches you can take to answer this question. The simplest and most accurate method is to create additional funnels that capture the multiple paths in your application. Alternatively, you can create a query in list view that captures users who have completed a specific action of interest, and use a review of their behavior on the site to form hypotheses to analyze in a funnel.

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, but you can create a segment of users that have done the funnel steps of interest and then analyze these users in the list view. After validating that the users did follow the funnel steps of interest, you can then 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, 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.

Next Topic: List