Goals & Funnels

We want to keep data meaningful as much as possible. Goals and funnels are way to load more meaning to your dashboard data. You can create goals and funnels in Tracker Settings / Goals and Tracker Settings / Funnels screen. In this section we will describe goal and funnel terms, their purposes and how to create them.


A goal is an event which you want to track and see how many times it triggered. You can define specific conditions and/or event type to track it as goal. For example, you can create a goal to track how many times your /blog page visited from United States with Google Chrome browser. So, you can define event type but you do not have to do it. You can just define conditions, too. For example, mobile devices from New York with browser Safari. This can be also a goal. So, you can both define event type and conditions or just define conditions or just an event_type, totally up to you. You have right to create 30 goals per tracker (we are planning to increase this number in future).

There are two important things to keep in mind about goals, firstly your goals should not overlap each other. For example, lets say you have a goal named `Goal A` to track all screen_view events without any condition. When you try to create another goal named `Goal B` to track all screen_view events which has browser Chrome, it will not be created. Because Goal A already overlaps Goal B. When you have an event screen_view with browser Chrome, it will hit Goal A already so it will never hit Goal B. There is systemmatic check while creating goals already and when you try to create a goal which overlaps another goal, you will see an error message and creation will fail. Secondly, goal hit detection works while event-write process. So, it can not work for historical data. For example, if you create a goal today, it will start to work for events from today. While this is the case, updating goal conditions are meaningless. Because lets say you have a goal which tracks event with browser Safari, but then you have changed it to Chrome. This will not affect historical data so you will see historical hits, too in your dashboard. Then for example your teammate can think `hey we have got lots of Chrome hit in history, too` but no, they were hit for Safari because goal was set to Safari in that times. So, to prevent this data inconsistency, we do not allow to update goal conditions. You can only update goal's name.

You can create new goal with `Create New Goal` button. Here two different examples goal creation. One is a screen_view event and the other is a custom event with custom prop tracker goal.

Goal form has two basic parts. The first one is goal name. You should give a descriptive name to your goal. You will see this is your dashboard. You can change your goal's name anytime.

The second part is about conditions. You can have multiple conditions to define your goal. For every condition you need to select a key and provide a value. Then you can pick match type. `Exact` means 1-to-1 string match. `Starts With` means string starts with provided value. `Includes` means string contains provided value in somewhere. Also you can decide about it will case sensitive match or not. For example, if you select `Exact` and not case sensitive 'Chrome' and 'chrome' will be matched. But if you select case sensitive, they will not match.

In above examples, we created a goal with custom event join_newsletter and we used a custom prop alias `Auth` as condition. So, this goal will be triggered when join_newsletter event has a prop with key `Auth` and value is 'false'. If you do not know about custom prop aliases please check configure trackers in docs.

When you do not need a goal anymore, you can remove it in the list screen. Keep in mind, if you remove a goal which used in a funnel, that funnel also will be removed.


Funnels are helpful to understand user flows. With funnels, you can track flow from one goal to another. For example let say you have a goal visit /pricing and another goal for visit /purchase. How many users visited /pricing and then visited /purchase? This is a funnel. You can create funnels in Tracker Settings / Funnels. Funnels work based on goals. So, when you want to track a flow, you first need to create goals for steps of that funnel. Then you can create a funnel with those goals. You can create 30 funnels per tracker (we are planning to increase this number in future).

As opposite of goals, funnels can work on historical data. So, when you create a funnel for existing goals, it can also show metrics for a selected historical date range. Because of this, it never vioaltes data consistency and you can update a funnel anytime. You can also remove a funnel in the funnels list screen. You need to have at least 2 goals in the tracker to create a funnel.

In funnel form, it asks a funnel name. You need to give a descriptive name to make it clear in dashboard. Then you need to provide goals will be used in funnel. You should decide about orders of goals. You can sort them drag and drop. The important point is to measure a funnel hit, the goals should hit in order. For example, if you have a funnel with goals A, B and C, then a user should hit A first, then B and then C. If a user hits A and C, it will not be counted as a funnel hit. In the dashboard for that funnel, you will see 1 hit for A, 0 hit for B. So, 1-to-1 orderly hit is important for funnels. For different order scenarios, you can create different funnels. It will also help to you to understand alternative user flows better. In above example, we used goals from previous examples. So, when a user visits /about page and creates join_newsletter event, this funnel hits. You will see 1 for /about goal and 1 for join_newsletter goal while viewing this funnel in dashboard. You can see an exmaple for funnels view at dashboard in below.

Now we configured everything and lets discover dashboard 🚀