The Funnels feature is available in Countly Enterprise and built-in Flex.

Funnels in Countly are an intuitive way of tracking and analyzing user behavior, as they are used to track the completion rates of a step-by-step journey inside your application. These steps or goals are defined as events in Countly and no additional or extra API calls are necessary.

Benefits of Funnels

Funnels are a crucial tool to analyze user behavior and to find where and when they stop advancing through the steps of a process.

Digging Into the Customer Journey

If something stops a user or customer in their way from getting what they need and more, then there is a problem you need to address. When there is an interruption in the customer journey, then the overall experience will be negative.

Building customized steps for that journey builds the case for Funnels, as you can determine exactly the points that you want to focus on, know how these points perform and help users progress towards the end of the process, and find ways to improve the overall experience the user gets.

Retroactive Data

Funnels in Countly have the power of going back to analyze steps that happened before the funnel itself was created. This helps you compare trends in past periods, set up funnels with the same steps but different times, and go back to check if any improvement in the funnel performance was due to something you found out later, among other examples.

Campaign Analysis

Also, if you run temporary campaigns, you can track the level of success of each interaction from the user as they move along towards the targeted outcome (i.e., increased revenue or visibility, higher levels of engagement, etc.). If you have a particular landing page for the campaign, you can for example find out if users clicked later in the other sections of your app or website on their way towards a successful sign-up or purchase.

Getting Started

First of all, you must enable Funnels in Countly by going to Management > Feature Management in the Sidebar.

Feature Overview

Understanding Funnels

Funnels are an ordered grouping of events that helps you see how users flow through your mobile or web application based on the app events you determine.

Countly Funnels are retroactive, meaning that you can create your funnel in the present and still be able to see the data for a past period. However, funnels depend entirely on events, so first, you need to collect events as they are the basic building elements for a funnel.

In order for a user to complete a funnel successfully, they should have progressed through all the previous steps in the given order. For example, if a funnel is defined as Register > Share media > Proceed to Checkout, then any series of events that contain this sequence (e.g. first event before the second one, and second event before the third one) leads to a funnel conversion. Note that any number of unrelated events may occur between any two funnel steps.

Funnels can be created for same-session (funnel steps need to occur in the same session) or session-independent (funnel steps can occur in multiple sessions). 

Session Dependence 

By default, funnels capture all users who complete a series of events, regardless of the session to which those events belong. In other words, events taking place in the exact order you determined is enough for considering that a user completed that funnel. These types of funnels are called "Session Independent". Session independent funnels are not bound to sessions or time limitations. This means that if a user completes one event in one session and other events of the same funnel in a different session, the funnel would still be considered as complete, regardless of the time that passed between sessions. 

In some cases, however, you might want all events of the funnel to occur during the same session. For those cases, funnels can be set as "Same Session". Here, funnel users must complete all steps through the funnel within the same session they entered the funnel to be counted as completed. If the session ends before the last step, the user will be dropped out of the funnel right after the last step they reached. 

You can specify the strategy you prefer when creating a funnel. In addition, this option can be changed after the funnel has been created. So you are allowed to change it for existing funnels.

Using Funnels

Main View

Upon accessing Funnels, you will be greeted by this initial View.


In it, you will find:

  1. Filters for your existing funnels.
  2. List of existing Funnels (providing you have already created any). Each entry will contain the basic information of the funnel, including its name and its current settings. You can also mark it as a favorite (with the star icon) for easy filtering. Additionally, you can see how many users entered the funnel that day, how many of them completed it that day, and a 30-day trend completion rate graph for each funnel. You can add/remove any of these columns using the customization button on top of the table.
  3. Individual Funnel action button, where you can visualize, edit, or delete a funnel.
  4. Each long-running query ran by a funnel gets tracked. When you click on the Last Queries button, you will get a list of reports generated that you can filter by status. This is particularly helpful since as funnels have a higher number of steps and level of complexity, you can leave a query running in the background while it analyzes the user behavior. 
  5. Click on the + New Funnel button to access the funnel creator drawer (see the section below).

When you click on a funnel name or in Show detail, you can navigate to the funnel's detailed view.

 If you have not created a funnel yet, you will see an empty funnel page.

If you have already created a funnel before, they will be visible on this View, and can continue working with them.

Creating a Funnel

As funnels can have a high level of complexity, we recommend that you first start with a simple funnel and then add steps and variations, as shown in the sections below.

A Simple Funnel

To get started with a funnel, click on the + New Funnel button on the top-right corner

Funnels require a minimum of 2 steps and up to 8 steps, the latter of which parameters is customizable from Management > Settings > Funnels. You can increase the number of steps as you like, and you can discover at which step users are stuck or getting problems.


  1. Funnel Name: You must give your funnel a name to create it, while funnel description is optional.
  2. Funnel Type: This helps you configure the session dependence of your funnel.
  3. Funnel Steps: You can define the steps of your funnel, selecting the data type you wish, e.g., for Events, you can input the event key you plan to send in the future or select one from your existing events.  funnels-drawer2.png
  4. Add properties: Lets you drill down the type of data type, so further filter the users that will enter the particular funnel step.
  5. Add conditions: Build steps for your funnel. Note that between each new step an AND/OR (6) operator will appear. If the operator is set to AND, the number of steps will increase, as Countly assumes that there is a logical progression from one step to the next one. If the operator is set to OR, the step counter will stay the same, as the step will have two or more options before progressing to the next step.

When you select an existing event as the first step, the + Add property button will appear, letting you add a segmentation filter for your funnel step. For example, if you add the segmentation filter count is 2, you will see funnel users who completed this particular event two times. Similarly, you can select the City user property to filter the completion of the event by location. You can keep adding segmentation filters to each step of the funnel for more precise targeting.

The order of steps does matter.

For example, say you have an e-commerce website. When your users enter a product page ("Detail View Level 1") you want to know the selling rate of this product for users from a specific country.


The steps you need to set are:

  1. Define an event for the buttons to this product page
  2. Define an event for the "add to cart" button on this page
  3. Define an event to track when it goes to the checkout page
  4. Define an event for when the order is completed

Adding Step Variations

A user must do all steps of the funnel to be regarded as having completed the funnel. In some cases, however, this can be too restrictive.

For instance, you may need a 3-steps funnel, where the second step can be either adding an item to cart or redeeming a promotion code. In other words, you may need to define a funnel that accepts both of these paths:  

  1. View > Add to Cart > Checkout
  2. View > Subscribed > Checkout


In order to accomplish that, you simply change AND, which is between Add To Cart and subscribed, to OR. This will merge both steps and convert them into a group of steps. Consequently, users who have done at least one of the above paths (1 or 2) will complete the same funnel. 

You can add multiple steps to a group, and create more groups as well. Regardless of the number of groups you are still bounded by 8 steps limit (which again, can be changed from Management > Settings > Funnels)

Detailed View

Upon clicking on a funnel name or on selecting Show detail for an individual funnel from the main View, you will then access its detailed view.


In this detailed view, you will see:

  1. Funnel name: quickly access the list of existing Funnels (without the need of going back to the Main View) or set this individual Funnel as a favorite to find it easier.
  2. Filters: set the timeframe for the calculation of user progression through the funnel, as well as segment the users that are considered in the calculation, based on their user properties.
  3. User selector: determine what is the logic of whether the funnel calculation is relative to all your app users or to only those that entered the funnel.
  4. Funnel menu: make changes to this funnel or to the general Funnel settings.
  5. Metric overview: main metrics based on the filters and calculation method selected.
  6. Funnel progression: user performance of each step, along with the success rate and the number of users who have completed (or didn't complete) them, as well as the average time elapsed between steps. Clicking on the number of users that completed or not each step leads to a filtered list of User Profiles, from where you may take the proper follow-up actions (e.g., send a notification, request feedback, etc.).


By default, the number of completed users is displayed relative to the total number of users. In addition to that, you can make it relative to the app users that entered the funnel when they completed the first step (i.e., the first step will have a completion rate of 100%), by simply selecting Users Entered as demonstrated below.


You can also observe the evolution of the steps you have set between specific dates.


For example, you want to set the purchase rates for a specific date range that you have campaigned for Product_1. All you have to do is pick these dates from the top right corner.

You will be able to determine your users who were interested in this product but did not buy it and reach out to them with a push message before the end of the campaign. You can also apply a filter to the first step using the segmentation properties and user properties that apply to the event. Also, don't forget that any applied filter can be saved to be used later or to use implement a filtered funnel for the Funnel Widget on a Dashboard.

If your funnel has a grouped step (i.e., containing an OR), it will be displayed as below:funnelorcond.png


How does the average time between steps get determined?

If a user has completed the steps of a funnel two times, and the selected period is both days, then the minimum timestamp for the step will be the first day the user completed it and the maximum will be the last day. Else, it will be calculated as a 1-day duration between steps.

How does funnel calculation work, and how long it takes to complete the calculation?

Funnels get calculated automatically when you access the feature in Countly –i.e. when you click to view Funnels.

So once it is asked to get data for a specific funnel, it gets calculated.

If the calculation happens fast- it will not be stored in any collection and will just be displayed on the page.

If the calculation takes long- it gets switched to a long task, meaning that the result gets calculated in the background, stored in the database in the collections, and then displayed to the user on demand.

30-day cache

As the last 30 days are significant, we have added caching.

This helps clients with a lot of data see values without waiting for them to be calculated.

Periodically, Countly calculates funnel values for that period and stores them in the database. So unless the client checks the period of 30 days, they will get values calculated on demand.

Can you create two same Funnels?

Countly does not allow the creation of two same Funnels, and duplication of a Funnel can stop updating any Funnel with the same functionality.


Looking for help?