The funnel report provides the ability to view a set of ordered actions and the numbers of users that progress through these actions towards a specified goal. The funnel will help you see how your users progress through the actions, where they are most likely to drop off, which options served the conversion goal better, and so on.

To setup the report you need to define a sequence of events; by default, the editor opens with placeholders for two events. You may use up to five events per funnel. The last event in the sequence is treated as the global conversion goal. Click ‘+‘ to add events to the funnel sequence.

For each step, select an event. You can customize the display by editing the event name alias. You can also define conditions which will apply only to the specific step by expanding the step filters from the “>” icon (these conditions work in unison with the report/dashboard filters).

Then define the time required to complete the funnel. This requires the user to perform the first event within the date range of the report and the last event within the specified conversion window. For example, if the first event occurred in the last day of the funnel date range, the user will only have one day to complete the funnel. Note: if you define the conversion window in days, users who have not had enough days to complete the funnel till the end of the report date range will not be counted as part of the funnel.

Last, you can choose to breakdown the results by any property. If, for example, you’ve set up an A/B test and sent the test ID as a property, breaking the results down by the test ID will show you which option converted better. After you compute the report, choose the groups to display from the icon at the top right of the preview area.

Signup Funnel

Print Friendly


See Reverse Cohort below.


Cohort analysis breaks data down into groups which usually share common characteristics or actions within a defined time frame. Cohort analysis helps identify patterns in the life cycle of customers, adapt, and tailor the service to specific cohorts. A group of people who share a common characteristic or actions within a defined period form a cohort, represented by a row in the returned result set.

The date range selected in the report will specify at which date the first cohort begins.


To define a cohort:

  1. Choose the start and end actions: these can be anything, nothing, or specific events.
  2. Add any conditions to the start and end actions: click the arrow icon to expand the step conditions.
  3. Group cohort by time or property: If grouping by time, users can be counted once or again in every cohort.
  4. Choose what to measure: Other than counting users, you can also measure the value of any other property over time for these users. If counting users they can be counted in one of 3 ways:
    • Once: only counts the user once on the first occurrence of the event throughout his life cycle
    • In each bucket: the user is counted each time he performed the event
    • Recurring: each cohort user is counted only if the user’s activity occurred consecutively in each bucket throughout the duration of the cohort.
  5. Choose the bucket duration: buckets are the collections of users by time when the second step was performed, measured from the time the first step was performed. You can choose to group by any time range.
  6. Define limits for cohorts and buckets: if cohorting by time you can choose how many cohorts to include. If cohorting by property, the cohort will show all available values for this property.


Reverse Cohort

It is also possible to analyze a sequence of two events in the reverse order, i.e. what happened prior to a certain event.

The same definitions apply, with the change of the first step happening after the second step.

Reverse Cohort

Print Friendly


The new Path behavioral report enabled you to analyze your user’s top paths. Choose between path by collection of events (contains) or steps (starts with…), customize advanced settings, and display the results using the sunburst visualization or in a table.

Path analysis can be used in two ways – sequential path, or non-sequential path:

  • Sequential Path: Define a sequence of events you want each path to consist of.  Use any of the following options:
    • Starts with: The first event in the path. Use the “Any event” option to skip this step.
    • Followed by: Any events succeeding the first event. Additional events could have been between the first event and this one. You can add additional steps up to a total of 10.
    • Followed directly by: Any events succeeding the first event, with no events in between. You can add additional steps up to a total of 10.
    • Ends with: The last event in the path.
  • Non-Sequential Path: Any paths that included a list of events. Choose between path that contain any of the events in the list (OR logical operator) and all of the events in the list (AND logical operator) .

Show top n paths allows you to limit the result set to anything between 1 and 50 rows.

Advanced options allow you to use advanced functions of the Path Analysis:

  • Path completed in: 
    • Single session: Only show the events performed within the same session. I.e. if the session was broken before the user completed the defined path he will not be included in the analysis.
    • User lifetime (not yet available): Combine all of the user sessions to a continuous string of events. Would include users who completed the defined path even if it was done over multiple sessions within the report’s specified date range.
  • Events to show:
    • All events in path: The default option – will show the full list of events the users performed in the path.
    • First events in path (not yet available): Only show the first X events in the path.
    • Last events in path (not yet available): Only show the last X events in the path.
    • Only these events: Filter out any events not specified here – in case you are only interested in specific events and want to ignore the rest.
    • First sequence of these events: Only show the first occurrence of a specific sequence of events. Define the sequence by selecting the events in the order you expect them to appear in. Additional events that occurred in between these events will also be shown, but events preceding or succeeding it will not. If the sequence repeats itself more than once during a path, only the first occurrence will be shown.
  • Show recurring events:
    • Every time: The default option – will show the full list of events the users performed in the path.
    • Once: Identical events repeated consequentially (with no other events in between) will be filtered and only shown as one event. For example, the sequence: “click, click, click” will be shown once: “click”.


Sunburst Visualization

The SunBurst visualization is designed for and particularly useful for analyzing paths, though it also supports other distribution queries.

The required result for SunBurst visualization is two columns:

  • string / comma+space delimited list of strings
  • number

In the basic configuration (one string per row) the SunBurst visualization is a standard donut chart, showing the distribution of each item in the first column out of the total of the second column (like pie chart).

Example – Events Distribution (Donut)




However, it can do much more!

For path analysis, use the path_to_string() function. It returns the first column as a list of string, comma+space delimited. The SunBurst visualization treats every string in the list as the next step in the session’s path, and displays it as a following (outer) ring.

Use the path_count() function to limit the number of rings in the visualization (see example below).

Hovering or clicking (to pin the selection) over any part of the visualization will show the items in that section as a sequence below the chart (above the legend), and the share of that section out of the total as a percentage. Point to the center of the circle to show the text explanation of what is shown.

Example – Path Distribution



The legend can be turned on/off.

Exporting the results will provide the same output as the standard table view output (CSV).

Print Friendly


CQL (CoolaSQL) is the query language provided by CoolaData for answering complex behavioral questions using a simple language. The CQL report enables the analyst to type free syntax to generate any query. Using the CQL report you can query any data source in CoolaData – internal, external, and integrations. CQL enriches the basic SQL syntax, and has been specifically designed so that even a beginner SQL user can utilize its powerful clauses. CQL supports multiple powerful proprietary clauses, functions, and special fields, which allow easy analysis of typical behavioral patterns such as path analysis, cohort analysis and funnel analysis.

The default contents of the CQL report is the basic general SQL layout, as follows:


CQL default

  • select — add any properties and functions here
  • from cooladata — only replace this to query external data sources or integration, otherwise, required.
  • where date_range(context) — allows the report to interact with the date range picker in both the report view (above) and inside any dashboard using it. See more in Date and Time Functions.
  • and slicers(context) — allows the report to interact with the filters in both the report view (above) and inside any dashboard using it.
  • limit 100 — limits the number of results returned. This is recommended to be included in any query, to save processing time and return results faster.

Any of the text above is fully editable. Add GROUP BY, ORDER BY, HAVING, JOIN, behavioral functions, or any other common SQL clauses to further elaborate the report.

Beneath the syntax box you will see a validation check; when red – an error will be displayed specifying any error found in the query. When green, the query is valid and can be computed.

Click “Compute” to see the results, and choose any visualization you wish.

basic cql

Basic CQL – Github_Demo event names

Cohort CQL

Cohort Query CQL

Print Friendly