Funnels help you understand how users are successfully navigating a defined path in your product and where there is a drop-off. A funnel is a series of events that a user progresses through within your app, such as successful onboarding. A user is considered converted through a step in the funnel if they perform the event in the specified order.
Table of Contents
- Creating a Funnel
- Chart Interpretation
- Default Configuration
- Holding a Property Constant
- Exclusion Steps
- Event Conversion / Drop-off
- Date Picker
- Breakdown Data Table
- Acting on Funnel Results
- Computation Methods
- This Order
- Repeat Events in Your Funnel Definition
- Any Order
- Simultaneous Events
- User Property Segmentation
- Session-Based Funnels
- Conversion Over Time
- Time to Convert
- Compare Behaviors of Converted and Dropped-off Users
- AB Test View (Growth & Enterprise)
- Conversion By Event & User Property
- Video Walkthrough
Creating a Funnel
Events: Select which events you want to be included in a funnel. You can also specify event property criteria for each event by hovering over a step and clicking "+where" to the right of the event name. To rearrange the steps in your funnel, you can drag and drop each event by clicking on the number to the left of the event name. If you would like to combine multiple events together into a single step, then you can create a custom event out of your event types. This would function like an "OR" clause so that users can do any of the individual events inside of a custom event and will count as having completed that step in the funnel.
by...: Define whether you want the funnel to look at Active or New Users.
- Active Users: Includes all users who have performed the first step of your funnel.
- New Users: Includes users who are new who have performed the first step of your funnel (at any point in the time period selected, e.g. funnel entry is not restricted to the day the user is new). This is the default behavior for a new user funnel. If you wish to change it this, see the bottom module section.
You can also specify user property criteria for each event by clicking "+where" to the right of the user segment. Note: This will filter users based on what their user property values were at the time of entry into the funnel.
The right panel in the Funnel Analysis chart control panel functions analogous to the right panel in an Event Segmentation chart. You can read more about how to compare user segments here. To learn more about changing "Users" to account-level reporting such as "Country" or "Company Name," click here.
...completed within: Here you can specify how much time a user has to complete the funnel from the moment they enter it. "Completed within" is also referred to as the conversion window. You should adjust your conversion window when there is a sequence of events that you expect users to perform within hours/minutes/seconds of each other. The default conversion window is 30 days (in UTC), meaning users have 30 days from when they enter the funnel to complete the funnel and to count as converted. The minimum conversion window is 1 second and the maximum conversion window is 90 days.
any day: If you are looking at a new user funnel, you will see a dropdown appear here. If you select "any day", then the funnel will include users who are new who have performed the first step of the funnel at any point in the date range selected.
their first day: If "their first day" is selected, then this restricts the funnel to users who perform event 1 (and enter the funnel) on their first day they appear in Amplitude (their new user date).
grouped by: See how users with a property value at a specific step have converted through the funnel. Read more about conversion by property here.
holding constant: This allows you to hold a selected property constant through the entire funnel. If you wish to hold an event property constant, the dropdown will only allow you to select an event property that was present in every step of the funnel (since event properties are not global properties like user properties). Read more about this setup below.
shown as: Select "Conversion Funnel" to see a step-by-step funnel or "Conversion Over Time" to analyze conversion rates over time. You can choose to view conversion rates over time for the entire funnel or for a particular step.
AB Test View: If you click "AB Test Improvement Over Baseline" or "AB Test Chance to Outperform" in the bottom module, you can see two different visualization of an A/B test you have instrumented via Amplitude's Funnel Analysis chart. You can use the "..where baseline is set to" dropdown to select the property value that you want to use as the baseline. You also have the options to show the visualization as "Improvement Over Baseline" or "Chance To Outperform". Read more about the AB test view below. This is an Enterprise only feature.
You can set up and interpret any Funnel Analysis chart easily as the platform allows you to read the parameters like a sentence. The default configuration has "grouped by" selected in the bottom module configuration. For example, the following chart shows you Events performed in this order by Active Users completed within 30 days shown as Conversion Funnel for the last 30 days.
In the chart, we see that there were 431,808 users who fired the event 'Search Song or Video' in the last 30 days. Of the 431,808 users, 426,092 of them fired 'Play Song or Video' within 30 days of searching for a song or video. And of those 426,092 users, 185,231 of them fired 'Share Song or Video' within 30 days of 'Search Song or Video.'
Holding a Property Constant
This feature is now available to all bottom module metrics (e.g. Conversion Over Time, Time to Convert, and AB Test - Improvement).
When not holding properties constant, the funnel chart will share the unique count of users who have gone through the funnel once or more. This means that if the user goes through the entire funnel multiple times, the user is only counted once. For example, given the following funnel, if a user were to perform 'SearchSong' -> 'PlaySong' -> 'ShareSong' ten times in the last 30 days, they would only show up once in this chart.
When holding properties constant, the funnels chart will share the unique count of user and user/event property pairs that have completed the funnel. If a user goes through the entire funnel N times with M distinct event property values, the user will be counted M times. For example, if a user does 'SearchSong' -> 'PlaySong' -> 'ShareSong' with ten different 'SongName' property values, then they will show up ten times in the following chart. In this example, 'SongName' is an event property that has been sent for all three events in the funnel. An event property can only be held constant if you have instrumented it for every event in the funnel.
Exclusion steps allow you to exclude users who perform selected events events between steps in a funnel. This provides a deeper understanding of how selected behaviors impact your target conversion rates.
To exclude events, you can click on the "exclude users who performed" button, and use the dropdown to select the excluded event. You can apply the exclusion between all steps in the funnel, or between two specific steps. For "any order" funnels, users are excluded if they perform the exclusion event between any of the funnel steps.
- Users enter the funnel each time they perform the first event, and the exclusion step is considered each time they move through the funnel.
- Users are still counted in prior steps, but are excluded later in the funnel. E.g. if an exclusion step applies between steps 3 and 4, the user can still still be counted in steps 1-3 even if they performed the excluded event.
- If multiple events have been selected in the Exclusion step, there will be an OR condition between the selected event types.
Event Conversion / Drop-Off
The bar graph shows each step in the funnel and the number of users who converted at each step.
- Solid regions: These represent the users who have successfully converted to or reached that step.
- Striped regions: These represent the users who dropped off at that step or have not yet reached that step.
Note: For events that happen within seconds of each other, the time elapsed will be rounded down to the nearest even second. For example, if Event B happens 3.2 seconds after Event A, then we will adjust that specific time window to 2 seconds. Similarly, if Event B happens 7.9 seconds after Event A, we will adjust that time to 6 seconds.
Like all of Amplitude's chart types, you can use the date picker to choose a more specific time range to analyze your data and can switch between "Last", "Between", and "Since". You also have the option to view data in daily, weekly, or monthly units by toggling between the different options in the dropdown menu next to the date picker. Note that you can only view conversion over time in daily intervals.
If you are looking at multiple segments in your chart, you can manually select and deselect each segment by hovering over the segment name in the bar below the chart and removing it or by clicking the "+" button to add it back. Finally, you can click on any data point in the chart and inspect the users that make up that data point by using Microscope.
Breakdown Data Table
Underneath the chart is a table of the data displayed. If you create a Group By, you can select or deselect which segments you see in the graph by clicking on the segment name in the data table. Here are some helpful definitions:
- Conversion: This is the percentage of users who successfully completed the entire funnel. This is calculated by dividing the number of users who successfully exited the funnel by the number of users who entered the funnel.
- Event Name: The number of users who complete that step in the funnel. The first step will always be 100% because a funnel only considers users who performed that first event (not all users).
- Average Time: The average time it takes users to move from one event to another event in the funnel. The average time is a function of the time of users' first conversion. So, if one user did Event A and Event B multiple times, the average only uses the time of the user's first "Event A-> Event B" instance. This cell will also show the median time it takes users to move from one event to another event. If the funnel is "any order", then the average time reflects the absolute value of the difference since it could be a negative number. Note: If you have applied a group by to your funnel chart, then this column will show "N/A" as average and median times will not be computed for daily/weekly/monthly step transitions. The step transition times for the whole group will still be computed and displayed in the above chart.
You can also export the table as a CSV file by clicking the "Export CSV" button.
Acting on Funnel Results
You can click on any segment of a funnel to see detailed information about users within the selected segment. See Microscope for more information. Note: If you are utilizing the "holding constant" feature, the funnel will show unique user-property pairs and not unique users.
- Show User Paths: View the event path users took within your funnel segment.
- View Users: See a list of User ID's that reached that step in the funnel.
- Create Cohort (Enterprise): Enterprise customers can create a Behavioral Cohort from the users in a selected funnel segment. Once a Cohort is created, you can further analyze user behavior and retention on your new cohort.
- Download Users (Enterprise): You can download a CSV file of all users and their information in a selected funnel segment. This feature is only available on our Enterprise Plan.
There are two ways to compute funnels: "this order" (ordered) and "any order" (unordered). The default funnel computation mode is "this order."
Events must be performed in the order they are set for the user to be converted. For example, a user cannot perform:
Event C -> Event B -> Event A
and be converted. Event B must follow Event A before Event C, the user must have done the steps in the following order to be converted:
Event A -> Event B -> Event C
Note that if the user performs:
Event A -> Event C -> Event B -> Event C
then the user would be counted as converted because they eventually performed the steps in order.
Repeat Events in Your Funnel Definition
In "this order" you can have repeated events in the funnel definition. For example, if your funnel definition is:
Event A -> Event A -> Event B
a user is counted as converted if he did Event A at least two times and then did Event B later. There are no limits to the number of times an event can appear in the funnel definition. Repeated events are not supported in "any order" Mode.
Events can be performed in any order and the user will be converted. For example, suppose we have the following funnel step setup:
A user could have done the steps in the following order:
Event 1 -> Event C -> Event B
and still be counted as a converted user (assuming they perform all steps within the conversion window). Users cannot skip steps in funnel charts so it’s any order up until the step they drop off.
A user will only be included in the funnel if the user has fired the event in the first step, Event 1. For example, if a user fired only Event B, the user would not be in the funnel. In order for the user to be in the funnel, the user must have performed the first event. So, the user must have fired Event 1 in order to "enter the funnel" (though the 2nd or 3rd step events could've been completed in any order: Event B -> Event C or Event C -> Event B).
And if a user completes Event B -> Event C -> Event 1, the funnel will count this user as converted only if all three events occurred during your selected time range or within your conversion window following the time range. If the user only completed Event 1 within your selected time range, the user will be counted as entered the funnel but dropped off. This is because the funnel chart does not account for events that occurred prior to your selected time range.
We round all time to seconds and so we maintain a one-second window to account for "simultaneous events". As a result, if there is any ambiguity with two different events, we will count both directions as a conversion. For example, if a user triggers Event B first, and then triggers Event A within one second, a funnel will count this as a conversion from:
Event A -> Event B or Event B -> Event A
If two of the same event types are sent within the same second, then we will count only one of those events.
User Property Segmentation
If you were to segment the data on a user property (using the "where" clause under All Users), the segmentation would be done based on the first step of the funnel. In the example above, this would be Event A. For example, suppose a user did:
Event B with the user property '[Amplitude] Country' = 'Canada',
then Event A with the user property '[Amplitude] Country' = 'United States'
If you were to do "...by Active country(s)" above All Users, it will show the above user in the '[Amplitude] Country' = 'United States' segment in the Event A step since the segmentation is done based on the first step of the funnel.
By utilizing the "holding constant" feature in the bottom module, you can build session-based funnels. To do this, hold constant '[Amplitude] Session ID':
A user must complete each step in the funnel with the same Session ID in order to be converted. Like all other properties that can be selected with the "holding constant" feature, a Funnel Analysis chart with this setup will no longer show unique users since users can complete the funnel multiple times, each time in a different session.
Conversion Over Time
Below the bar chart module is a line graph that shows the funnel conversion rates over time. The conversion rate graph shows conversion rates for users who entered the funnel on a specific date. So if a user enters a funnel on January 1st and later converts in the funnel on January 5th, they will be counted in the bucket for January 1st since that is the day they entered the funnel.
The percentages seen here are conversions per unique user per day/week/month. For instance, if a user enters the funnel (performs the first step of the funnel) on July 1st and July 2nd, and completes the funnel on July 30th (within 30 days of both July 1st and 2nd), then that user will be counted in both the conversion percentages for July 1st and 2nd.
In addition to looking at the overall conversion rate, this graph can display the conversion rate between funnel steps.
Note: Conversion Over Time for new users still counts all active users.
Time to Convert
Time to Convert helps you understand how long your users take to complete sequences or sets of important behaviors. It allows you to observe your users’ distribution of time between the different steps of your funnel in a histogram.
Important Note: If a user completes the funnel multiple times in your selected conversion window and time range, only the user’s earliest conversion is accounted for.
The percentages on the vertical axis represent the part-to-whole ratio of the users who converted within the given interval, relative to the number of all users who converted within the selected range.
As an example, let’s say that 100 users converted within a 15 minute window in the last 30 days. All 100 users had a conversion time of exactly 15 minutes. This means that 100% of users who converted within 15 minutes in the last 30 days will fall in the 15 minute bin.
The intervals on the horizontal axis are calculated by dividing the difference between your converted users’ maximum and minimum time to convert by 25; each interval is equally incremented by this quotient. The maximum and minimum time to convert are dependent on the conversion window and time range you’ve chosen.
As an example, let’s say that you’ve selected a 15 minute conversion window and you are observing data from the last 30 days. Within the last 30 days and in that 15 minute conversion window, the user who took the longest time to convert took the entire 15 minutes (or 900 seconds) while the user who took the shortest time to convert took 18 seconds. This means that each interval on the horizontal axis will be incremented by 35.28 seconds [(900 -18)/25 = 35.28].
This feature can also help you understand how long your users take to complete specific steps of your funnel within your conversion window. If you click on “the entire funnel,” you will see a dropdown with pairs of event steps from your funnel.
Frequency displays a distribution of the number of times a user performs Event A before Event B is performed for the very first time in a given time interval. You can select the specific events you want to analyze below the conversion window. See below screen shot for reference.
For example, in the below example we see that 68.1% of users who reached Step 3 perform the ‘Download Song or Video’ event one time before purchasing a song or video.
Compare Behaviors of Converted and Dropped-off Users
Within each Funnels chart, you can click into any of the steps after the initial event for a "Compare Behaviors" option, which allows you to compare the behaviors of converted and dropped-off users.
Compare Behaviors will give you insights into the adoption and engagement level of your users. Adoption is defined as the percentage of converted/dropped-off users who performed a particular event during your selected timeframe. Engagement is defined as the average number of specified events your converted/dropped-off users performed during your selected timeframe.
In the example below, 100% of converted users performed the "Search Song or Video" event while only 90.9% of dropped-off users performed this event. The ratio of adoption between converted users over dropped-off users is 1.1.
AB Test View (Growth & Enterprise)
Note: The group by functionality in the right and bottom modules is currently unsupported in the AB Test View. This is also an Enterprise only feature. For best practices, including tips on instrumentation, please take a look at our How to Analyze A/B Tests Results in Amplitude article.
You are able to track user conversion with A/B test results in the default funnel view. However, with our advanced AB Test View, you can also receive a report on the statistical significance of each test variant to help better analyze the results and choose winners. To do this, first create the funnel you have instrumented the A/B test for. Then, create segments of users. The first segment you have selected will be the default baseline but you have the option to change this later in the bottom module of the chart control panel. You can change to the AB Test View by clicking the button in the bottom module. For example, let's say you have instrumented an A/B test to see if adding a picture to a song will increase the number of song purchases. We've instrumented the AB test under the 'A/B_Tests_Song_Purchase' user property and have three segments representing the baseline and the two variants. In the bottom module, you can choose to switch which segment you would like to use as the baseline.
AB Test - Improvement
When the bottom module is set to "AB Test - Improvement", the chart will display the conversion rate for each segment over all steps. For example, we can see that the variant 'Purchase_With_Picture' is performing 6% worse than the baseline while the variant 'Purchase_No_Picture' is performing 3.75% worse than the baseline. Note we are using demo data, but with real segments that impact funnel conversion you should expect the better suited segment to positively impact your baseline, while a worse suited segment would negatively impact your baseline.
Improvement over baseline is the ratio of the mean variant (A) over the mean baseline (B), .
Note: A/B test results with samples sizes of less than 30 are automatically considered as insignificant.
AB Test - Significance
If you set the dropdown in the bottom module to "AB Test - Significance", then the chart will display the chance to outperform for each variant. This is calculated using the methods outlined below, and it will show how often a certain variant will likely convert better than the baseline.
Results with a sample size above 30 and chance to outperform of greater than 97.5% are assumed to be significant.
In our example, we can see that both segments has a really low chance to outperform over the baseline, since both segments negatively impacted our baseline.
Chance to outperform is the probability that our variant (A) is better than our baseline (B). We use a two-tailed test with a 95% confidence interval to judge whether or not a result is significant. A 97.5% chance to outperform is the threshold for outperform significance. A 2.5% chance is also a significant result, but it signals a significant chance to underperform.
Note: A/B test results with samples sizes of less than 30 are automatically considered as insignificant.
The probability of our variant (A) outperforming our baseline (B) is based on the distribution of the difference B – A. If the individual distributions of B and A are assumed to be normally distributed, then the difference B – A is also a normal distribution (Gaussian) with a mean of and variance of .
To find the chance of A outperforming B, we need to determine the area under the curve that falls to the right of zero.
The area under the curve or cumulative distribution can be expressed in terms of the error function erf, which has the mean μ and the variance σ.
Erf can be calculated with a numerical approximation, and we incorporate the same approach to for calculating chance to outperform:
Once erf has been determined, the final equation to calculate the chance that B is better than A is:
(Source: O'Connell, Aaron. “The Math of Split Testing Part 2: Chance of Being Better”)
The AB Test View will also display whether or not statistical significance has been achieved in the top left corner of the chart. Amplitude uses a two-tailed p-value of 95% confidence to ascertain this and only looks at the best performing variant. Sample sizes of less than 30 are automatically considered to be not statistically significant.
When a test has reached statistical significance, you will see the green text appear:
If the test is not found to be statistically significant, then you will see the following red text:
The data table below the chart will give you a breakdown of the data. As with all data tables in Amplitude, you have the option to export the data as a CSV file. Here are the columns included:
- Count: The number of users or groups that entered the funnel.
- Converted: The number of users or groups that completed all the steps in the funnel with all conditions met.
- % Conversion: This is calculated by the number of converted users or groups divided by the number of users or groups that entered the funnel.
- % Improvement over Baseline: This is calculated by the equation (% conversion for that variant - % conversion for the baseline) / (% conversion for the baseline). The percentage in the data table will be green when the value is a positive number.
- % Chance to Outperform: This is the percent probability that your test variant will convert better than the baseline using a Bayesian model. The percentage in the data table will be green when the value is above 51%.
Conversion By Event & User Property
You can set up your funnel to view how users with an event property value at a specific step have converted through the funnel. This helps you analyze what property value potentially has the greatest or smallest impact on users' conversion through the funnel.
In the example below, we have a three-step funnel: 'Search Song or Video', 'Play Song or Video', and 'Share Song or Video'. In the first image, we've segmented the funnel by Step 2's event property, 'Content_Type'.
The below image shows the conversion distribution of users, who performed the 'Play Song or Video' event with that 'Content_Type' value. Of the possible values, we see that both songs and videos had roughly 42% conversion. Lastly, if you choose to Group By on a Step that is not the first, you will see a segment of users who did not reach that segmented step (the orange shaded segment for 'did not reach step' in this example).
Note: If users in your funnel can complete the steps multiple times, then the group by will take the first occurrence of each event and bucket the user for the value on that event.