How is CoolaData Different?

CoolaData is a unique behavioral analytics platform, because we make it easy to collect data, while giving you the powerful tools you need to analyze it.

CoolaData stands out from the crowd by providing:

  • Power Analytics – We enable you to analyze the raw-level data at the event and user level, in order to help you analyzevisualizepredict and act on your users’ data. Read more about our Power Widgets capabilities here.
  • Unified Data – As a business analyst, you need context for your analysis. The data you need is generally stored in different databases, and not conveniently located in one place. We allow you to get the full context for your data, by unifying data from a multitude of external and internal sources, and inspecting all of your data as one unit, in the context you need to provide comprehensive business insights, 
  • Behavioral Analytics – Behavioral analysis is a game-changer. We help you get deep insights into your users’ behavior, and analyze what they do and how they do it – through our unique behavioral data service.

Some of the fun things you can do with CoolaData include…

  • Identify users who visited the ‘add item’ page, but did not complete the order.
  • Cohort A/B testing groups, and measure the revenues generated from each group.
  • Specifically target loyal users.
  • Find the five most converted paths for your loyal users.
  • Share and collaborate.
  • Generate private reports. 

Know your CoolaData Data

Understanding how your CoolaData data is produced and structured will assist you to get the most out of your data queries. Your data lives in the CoolaData cloud. But how is it produced? How is it structured?

There are three main steps involved in how CoolaData takes your data and makes it work for you:

  1. Data Acquisition (DAC) – We collect the data that you provide us, enrich it (for example, we identify when a user session starts and ends, and enrich the data accordingly), and store/save it in one of our CoolaData analytical databases. 

  2. Data Management (DM) – We add semantic meaning, so that as a business user you can easily understand what your data means, and create your own relevant business layer for your data. We can then let our customized optimization engine go to work and make your queries run faster and more efficiently.

  3. Analysis Interface – The Analytical Document (AD) is what most of our users use to analyze their data. This Doc is described in detail later in this section. You can also use an API interface (through our Query API), or External ODBC/JDBC drivers to analyze our data through third-party applications.


These processes are described in more detail below.

Sending CoolaData your Data

Behavioral Analytics is about how users interact with your application, and event tracking in CoolaData is a great way to collect and analyze your users’ data. CoolaData tracking events are based on objects that are embedded into relevant pages of your site, or screens of your app/game. When an action of interest is taken by the user, you can use the tracker to fire an event. CoolaData then collects these events that you send, and enables you to better analyze the data.

Sending events to CoolaData is easy and familiar for most developers, and any of the following methods can be used to send events:

When sending CoolaData your data, you must provide the following mandatory fields. 

  • Timestamp (to the millisecond)
  • User_ID
  • Event_name (for example, login)

You can also pass additional (optional) properties to CoolaData. These properties are either user, event, or session-related.

User-related properties examples include:

  • User_name 
  • User_email

Event-related properties include, for example:

  • Login_type 
  • Price 

And session-related properties can be, for example:

  • Operating Session
  • Browser
  • Device_type
  • Country 

For more information on these fields, please see our Tracking Events documentation.

Data Acquisition (DAC)

CoolaData Trackers are the recommended method for generating your data in CoolaData. Trackers track user behavior on your site or an app the same way that Google Analytics and many other industry trackers work. Trackers exist for five different platforms: JavaScript, iOS, Android, Unity, and ActionScript. There is also an option to use a Rest API from your server, or to drop properly formatted/mapped files into known cloud buckets. 

The collection stage of your data flow adds some basic information to events; for example, a timestamp that the event hit our servers. All events are then pushed into a queue, and enriched through CoolaData’s enrichment processes.

The enrichment process performs various validations on events, transforms IP and DUA, and deduces information about the user and where needed aggregates events to meaningful sessions. Any invalid events are available for your review, correction, and reprocessing – so that you never lose valuable data because of errors. Once the enrichment process is completed, your data is written to the CoolaData cloud.

The great thing about the way CoolaData stores your data is the concept of scope. There are three scopes that we maintain for you, and these scopes correspond to different levels of granularity. The Event scope is the lowest level and is at the same granularity level as the input data your trackers produce (clean and enriched). The Session scope is an aggregation of the event data into meaningful sessions, and you can decide whether to maintain them yourself or not. In the latter case, we have a rule-based “sessionizing” process. The User scope is the least granular, and conceptually it is an aggregation of a user’s lifetime engagement with your site or app.  

CoolaData’s analytics platform takes advantage of this data structure, and guides your queries to the appropriate scope based on your query criteria. This translates into the fast and reliable analytics you need. This process is discussed in more detail in the Analytical Document section below.

Data Management (DM)

CoolaData’s unified, behavioral semantic layer enables versatile metadata management – including dimensions, virtual dimensions, columns, measures, calculated measures, etc. – to create your own relevant business definition layer.

CoolaSQL (CQL), our behavioral SQL-like query language, allows your analysts to query data using their own business terms. CQL encapsulates high-level behavioral terms such as segmentation, cohort, path and funnel.

CoolaData is an open behavioral data service, and we do not limit you to our proprietary tools. You can connect to your data using ODBC/JDBC or APIs, and use your preferred BI and visualization tools. We support seamless access to real-time, analytical, and NoSQL databases.

Analysis Interface

CoolaData’s Analytical Document (AD) is a state-of-the-art graphical interface used to analyze data.  This document is discussed in more detail below.

External Data Sources

At CoolaData, we do not limit you to our proprietary tools. CoolaData is an open behavioral data service that supports seamless access to real-time, analytical, and NoSQL databases. With CoolaData, you can query and present data from external sources within the Analytical Document. You can blend data from both CoolaData’s data source and external data sources, and then analyze that unified data using ODBC/JDBC connectors. The result is the ability to examine all of your data as one unit, in the context that you need to provide comprehensive business insights.

Live View

CoolaData provides you with a Live View tool to see events and properties in real time. Each event sent to CoolaData will be seen immediately in the Live View. The purpose of the Live View is to let the developer:

  • Test all events and properties sent, as needed, during the integration phase.
  • Show what’s happening in real time with your product.
  • View and filter events, by any criteria you set.



While we process new data we do a lot of work.

First, our goal is to have the data you send us available to query as soon as possible.  For that purpose we expose the data in its raw format immediately as it reaches our gates in the live view.

However, from that time, and until the data is available for behavioral querying there’s an additional time window, which varies between different projects, from 1 to 8 hours. What happens during that time frame?

As the raw data you send us is being gathered we add additional information to any event. This is done to enable simple querying over rich data sets and to avoid data barriers such as complex joins or data aggregations which analysts “rassle” with in other tools. We call these ‘Enrichments’.


What are the enrichments being performed?

There are 3 types of enrichments performed:

1. Data Optimization

These types of enrichments makes that data we store faster to query.

While these are all internal optimizations which should not be your concern as the client, this is where our experience with large data sets becomes most useful. This becomes very significant as you scale. Things like using integers instead of strings, running queries over smaller data sets, and the like.


2. Behavioral context

  • User enrichments – Per every event we receive we identify the user_id, we then look at everything we know about this user. Based on historical data you sent us, any user scope property you defined is added to the latest data we received on the user. This process makes every event we store richer in terms of user details, such as: type, email, age, gender, or any other user scope property. Additional information we learned during the last events is added to the user profile to be used at the next event this user performs.
  • User matching – For every event we collect we look to see whether the user was already active in the past. If he was, we assign the same user_internal_id to that user. more on this kind of enrichment can be found here.
  • Session enrichments – All the session data we received earlier that session is added to the event. For example, when we identify a utm_source or a url_referrer parameter in the first event of the session we will copy this information (property) for all the following events during that same session. (or until a new value for this property is received) The same is done for all the session scope properties you defined.
  • is_new – When this is the first session the user ever did we mark all the events in the session as new (is_new=1). You can use this to distinguish new from returning users easily.
  • event_duration – We add the time (in milliseconds) it took the user to perform each event to the event. This is done by calculating the time that passed from the current event to the following one performed by the same user. Thus, the duration of the last event of every session is always zero. This enables you to see where users stall,  or what phases in their path are carried quickly.
  • session_duration – The total time passed from the first event in the session to the last. We calculate this when the session is completed (30 mins of inactivity,  configurable per project), to enable the analyst to easily understand session durations and the session duration distribution.
  • session_length – The number of events the user has performed during the session. We add this number to the session to enable the analyst to see how many events are performed during a session, for example to easily identify extremely short ‘bounce’ sessions.

3. User details

  • Geo location – From the IP of the event we deduce the country, city, state and region for any event we receive.
  • Device – Based on the “device user agent” we add to the event information such as device type, operating system, browser and so on.
  • traffic_source – Based on the URL of the event we add to the the UTM tags and URL referrer, which can later be queried by the following properties:
    • referrer_url
    • domain_url
    • utm_source
    • utm_campiagn
    • utm_medium
    • traffic_source
  • Sys_user_create_date – CoolaDdata add the user create date (first time we saw this user) to any event performed by the user

As always, you are welcome to contact us at support@cooladata.com with any additional question on this topic.


Analytical Document

CoolaData’s Analytical Document (AD) is a user-friendly, yet incredibly powerful analysis interface which displays insights by utilizing a variety of widgets.

Each Doc must be associated with at least one default data source, although multiple data sources may also be defined.

The following figure shows a typical example of an Analytical Doc:


The Analytical Doc’s main elements are:

1Document ButtonA repository of all the Docs for which you have permissions.
2Menu BarMenus for different tasks and functions.
3TaskbarUse it to share your Doc with other users.
Select a mode: View or Edit.
Login or log out of the application.
4Slice BarSlicer Button: opens and closes the Slicer side bar.
Slicer Settings: displays your selected Slicer settings.
Date Range Slicer: displays the Slicer's date range.
5Sheets BarTabs with sheets for the Doc; the plus sign "+" opens a new sheet.
6Widget ButtonOpens the widgets market.
7Analytical CanvasDisplays and configures widgets for analysis.
8Slicer Side BarSlicers configuration.

Menu Bar

The Menu bar is found at the top of the Analytical Doc. It contains menus for different tasks and functions, such as creating a Doc, slicing, and inserting widgets.

menu bar

The following table describes the different options:

DocumentNew Doc: create a new Doc.
Recently Opened: a list of recently opened Docs.
Share: share your Doc.
Rename: rename a Doc.
Duplicate: duplicate a Doc.
DataData Sources: select at least one data source. Data sources are selected when creating widgets.
Slicers: configure slicers for the Doc.
InsertSheet: add a sheet to the Doc.
Widget: add a widget.

Note that a user with ‘view’ access permissions cannot access the Data and Insert menus.

Analytical Doc Workflow

Creating a new Analytical Doc is easy. Simply create a new doc, select the data source you’d like to analyze, and insert the widgets you want to use.

1. Create a Document

From the Document menu, select New Document, or click on the Document button. A blank document should appear.

2. Select Data Sources

From the Data menu, select Data Sources, and choose the relevant data sources for the document.

3. Create Slicers (Optional) 

Click the Slicers button to open the Slicers side panel, and set up slicers (filters) for the document. Click the Date Range slicer to configure the date range. The slicers you choose to add will be available for any user for whom you provide access.

4. Insert Widgets

From the Insert menu, select Widget. Alternatively, click the Widget button on the right-hand side of the canvas, or select a widget type and add it to the sheet. You can learn more about our widgets here.

5. Analyze Results and Share 

You can share the Doc with your colleagues at any time, and define View or Edit permissions for each colleague. Together you can collaborate and analyze results and present insights.

Collaboration and User Access

Analytical Documents are integrated with Google Drive so that users can share and collaborate with each other.

You can control how much access different users have to specific Analytical Docs. Three different access levels are available for CoolaData users: owner, editor, and viewer. The person who creates a Doc is the owner; a doc can only have one owner.

The following table outlines the privileges of each user type:

Edit a DocumentX
Configure WidgetsX
Invite / Uninvite OthersX
Delete a DocumentXX

To share a Doc:

1. From the taskbar, click the Share button. The Sharing Settings window opens:


2. Add people, select access permissions, and click Save Changes. The added users will receive an automatic email invitation to the Doc.

3. If you choose to share the Doc with a user who is not registered with CoolaData, they will also receive an invitation to join the service.

Once an Analytical Document is shared, changes to the Doc are automatically updated in real time for all users.

When several editors are editing the same Doc at the same time, updates will be pushed to all editors immediately in order to support team collaboration.

Security and Privacy

CoolaData takes security very seriously. We’re dedicated to ensuring that all the information you store with us is kept secure, and that you’re in control of who can access it.

Even after CoolaData receives your data, the data always remains your property. We never share the data you send us with anyone.

To guarantee that information remains private and secure, we use SSL (secure socket layer) encryption to ensure that all data sent across the internet is encrypted.

CoolaData’s application and APIs use OAuth 2.0 for authentication and authorization. OAuth 2.0 relies on SSL for security instead of requiring the application to use direct cryptographic signing.

Last updated: 20-02-2014


The following is a list of important terms and definitions to help you get acquainted with the CoolaData platform.

Analytical Document

CoolaData’s Analytical Doc (Document) is the interface where you analyze the data. Our user friendly, yet incredibly powerful interface, displays insights by utilizing a variety of widgets. The widgets visualize data based on queries from the data sources defined for the Doc. Each Doc is associated with at least one default data source. Widgets are autonomous and can therefore be associated with any subset of data sources. They can even be embedded in a 3rd party webpage.
Our Analytical Doc provides APIs that can be used by developers to extend the capabilities of CoolaData’s platform with 3rd party visualizations and widgets.

The Doc is integrated with Google Drive, which means that you can share your documents and collaborate. It can also exist separately from Google Drive, in which case we offer a collaboration model and access control.

Behavioral Analytics

Behavioral Analytics look beyond data alone to search for patterns and groupings of individual actions. We analyze behavior as a time-based sequence of actions. This sequence enables us to turn information into a representation of user behavior, which leads to actionable change and improvement. We view it as the key to answering most business questions. If regular business analytics is about the who, what, where and when, behavioral analytics focuses on the why and how. Behavioral analytics allows us to use seemingly unrelated data points in order to identify errors and predict future trends in the way users behave within eCommerce, gaming and web applications.

Cohort Analysis

Cohorts are groups of people who share a common characteristic or experience within a defined timespan. A user cohort is formed by a group of people who generate at least two events during a select duration of time.

Cohort analysis pulls data from eCommerce platforms, web applications or digital gaming providers, and breaks it into related groups of people, rather than examining everybody as one cohesive unit. It allows us to identify patterns across a customer’s lifecycle so that companies can customize service offerings to specific groups of people.

A simple cohort is a selection of people. Advanced Cohorts are analyzed in relation to buckets or event properties. A bucket is a period of time between two events. It can be one day, one week, one month or any range of time. We use buckets for cohort analysis.

Actionable Cohorts target specific users for the purpose of productive insights. For example, you can send them all an email, or offer them a coupon, or customize their user experiences next time they use your application.

CoolaSQL (CQL)

CoolaSQL (CQL) is the query language developed by CoolaData for answering complex business questions using a simple language. CQL is used to query and analyze the data stored in CoolaData’s data model. CQL enriches the basic SQL syntax, and has been specifically designed so that even a beginner SQL user can utilize its powerful clauses. CQL stands for CoolaData Structured Querying Language and supports a read-only subset of the ANSI SQL standard. 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.

Data Sources

A data source is the location where data is stored. CoolaData supports both internal and external data sources. Our internal data source stores the data using our storage system. We can query an SQL database and Google spreadsheets, and they can be used as external data sources. A customer may own and query several data sources from different types.

Data Acquisition

Data acquisition is the process of collecting and storing data. We first process data that is sent to our Events Gateway, then we validate it, enrich it, and store it in CoolaData’s behavioral data storage. The process is robust and efficient. The stored data is query-ready.


Events are user actions, and they are sent to CoolaData in real-time or by batch. They are triggered by user interactions on your website. CoolaData uses events to track everything from basic clicks and site engagement to downloads, video plays, advertising, social network activity, and sales.


A funnel is a well-defined flow on your website – the checkout process, registration, lead generation – anything where users take a series of actions before reaching some sort of goal. It can help describe “how your business and web site converts new visitors into valued customers.” That goal can be a sale, registration, or another action that was reached after a chain of preceding events. It is called a funnel because although most users will enter the funnel, only a small number of them will perform all of the actions that lead to the final goal.


Open Database Connectivity / Java Database connectivity drivers. These enable 3rd party tools such as QlikView, Tableau, Excel spreadsheets, and SQL client tools to interact with CoolaData’s analytical Database.


Path analysis is a portrayal of every event a group performs during a set period of time. Over a week this could be logging in, purchasing something, logging in again a few days later, checking on delivery, sending a message, logging in again, and writing a review. CoolaData’s visual representation of these actions is interactive and actionable. Paths are set up easily using either the Path widget or CQL.


There are three types of events that can have properties: users, sessions, and events. There is no limitation on the number of properties a user, session, or event can have. The properties are defined in the project mapping. Event properties are characteristics of an event instance. Examples of common properties are date, time, location, and amount.

Semantic Layer

The semantic layer is a business representation of your data that helps you access the data using common business terms. It provides a translation of the underlying CoolaData database structures into business user oriented terms and constructs. It allows you to create queries in terms that are familiar and meaningful. It is also enriches the data, when being used for calculated columns.


A session represents an entire user visit. It captures the business concept of a single visit and includes all interactions (events) during that visit. A session ID can either be sent to CoolaData with an event, or generated by CoolaData during the data processing, as described in the sessionization section.


Sessionization is the automatic creation of sessions based on the idle time that goes by between each tracked event. The length of a session can be defined by the customer. The sessionization process enables us to observe how users behave; each session has endless information about your users’ trends and patterns. Important business questions are answered through this process. For example, what are the most popular paths our users choose to navigate through, or what are the different gaming motivators which lead to virtual goods online vs. on a mobile device?


Slicers are filters of data attributes. For example, age, gender, and date range. They are configured in the Analytical Doc and apply to all widgets created in the Doc that are linked to a data source associated with the filtered attribute.


Widgets are the building blocks of the Analytical Doc. They connect to data sources and then apply visualizations to present your analyzed data.

We have designed a variety of different widgets, and each one is used for a specific type of analysis. For example, a Key Performance Indicator (KPI) widget measures trends, and a Segmentation widget detects users that share common features.

Each widget type has its own unique settings window, with a set of options that relate to the particular type of user behavior under investigation.

In addition to CoolaData’s own array of widgets, there is also a widgets SDK that allows you to develop and integrate third-party widgets.

Last updated: 20-02-2014