- Version 1.0: Initial release
- Version 1.1: Add v13.06 features
- Version 1.2: Add v14.08 features
- Version 1.3: Add v15.08 features
- Version 1.4: Add v16.02 features
- Version 1.5: Add v16.12 features
- Version 1.6: Add v17.05 features
- Version 1.7: Add v17.09 features
- Version 1.8: Add v18.01 features
Countly is the world's leading open source mobile and web analytics software, focusing on usability, extensibility, and feature diversity. Countly includes a server, a mobile SDK (for mobile analytics), or a web SDK (for web analytics), all of which you can freely use in your own company for your applications under the license terms.
The server part of Countly consists of a service that runs on port 80 (HTTP) or 443 (HTTPS), allowing the system administrator to connect to the user interface and receive insights about tracked applications. The mobile part consists of SDKs for different smartphones, tablets, and desktop operating systems (Windows and macOS X). Similarly, the web SDK is used to track webpage activity throughout the website.
In order to start tracking your application, you will need to do the following:
- Choose your Linux edition (e.g., the Countly Community Edition or Enterprise Edition) after having looked through this comparison table.
- Install the server application, so it is ready to collect data or use a preinstalled server.
- Implement the SDK in your application for mobile analytics.
- Put the application in your device and test or visit your web application to get it to start sending data.
- If the tests are successful, send the application to the App Store or Google Play.
After all steps have been completed, you will be ready to get insights from Countly.
Mobile and Web SDKs installation
This guide is an introduction to Countly. It assumes that you have already integrated mobile or web SDKs in your mobile or web environment, or that you are ready to integrate.
Topics Not Covered
Since Countly is quite a large, extensive product, we have explained many features in their respective pages and left the basic Dashboard usage here.
Other features that you may want to read in detail are as follows:
- Crash reporting
- Push notifications
- Revenue analytics (Enterprise Edition only)
- Flows (Enterprise Edition only)
- User profiles (Enterprise Edition only)
- Funnels (Enterprise Edition only)
- Attribution Analytics (Enterprise Edition only)
User Interface Overview
Countly provides a main dashboard for a quick glimpse of the latest status of application usage. You will immediately notice that this dashboard is divided into logical sections, mentioned below.
The revenue analytics panel is shown only when an event is selected for revenue analytics. For more information about how to define a custom in-app purchase event, see the Revenue Analytics documentation.
Let’s have a look at each component.
Here you may select the application and Dashboards (the Dashboards plugin is only available in the Enterprise Edition). Also, you can get insights via the Countly Assistant, which is designed to give you easy-to-consume insights about your applications, such as active user changes over weeks and top entry/exit points for your web. It also provides information about features from which youmay benefit, such as new Countly releases or the latest news from the Countly team.
On the top bar, when you click on
Dashboards, you will see all the previous dashboards you have defined, and the
Create a dashboard action item if you have not defined one yet.
Here, you may create as many Dashboards as you would like. Your Dashboard can hold several, real-time widgets for multiple applications. You may change the appearance of your Dashboard by changing the theme and you may share your Dashboard with other Countly users.
And the best part is, you may enable the full-screen TV mode for your Dashboard, and all the widgets will expand and change their appearance for you to be on top of all the metrics that are important for your business at all times.
In the far right-hand side of this section, you can see the current user icon where you may set your password, access current documentation from our Knowledge Base, get support, or logout from Countly.
Each time you select an application in the top bar, the dashboard will adapt itself showing the numbers for the selected application. Navigating through this bar will let you access each tool available to your Countly edition and to the application you have selected.
The Countly Dashboard can adapt to different app types
When you track different types of applications (e.g., mobile or web), Countly may modify its user interface according to the type of application viewed. For example, when a mobile app is used, only plugins related to mobile apps are shown. The Dashboard also shows mobile app related metrics. Similarly, when a web application name is chosen, the Dashboard then modifies itself again in order to not show mobile related analytics.
The real-time users panel is available only in the Enterprise Edition.
Have you ever wondered how many users are currently using your application at this very moment? This tiny but powerful widget tells you exactly how many users you have online and how many users are newly coming online. There is also a live, flowing chart on the right-hand side that shows the status of your users, where you can easily gain insights about whether the number of online and new users is increasing or decreasing.
Quick Date Selector
On the top-right of the screen, you will see a list of days. Here, you can either use a defined time bucket or select a date from the date selector. Note that if you select a time frame here, it will automatically be selected as you click on other navigation links (e.g., Users, Carriers, etc.). In order to select a date, click on the selector, then start and finish dates, and click
Apply. The graphs and corresponding boxed widgets will automatically be updated.
This panel gives a brief overview of what is happening on the Dashboard. On the top there are 6 widgets. When clicked, the chart under these widgets is automatically refreshed to show the relevant data group.
Each widget shows the following:
- Total sessions: Number of times your application has been opened. Click this item to see a time series representation of the total number of sessions.
- Total users: Number of unique devices your application is used from. Click this item to see a time series representation of the total number of users.
- New users: Number of first-time users. Click this item to see a time series representation of your new users.
- Time spent: Total time spent in your application. Click this item to see a time series representation of the average time spent per user.
- Average session pediod: Total time spent using your application divided by the total user count. Click this item to see a time series representation of the average time spent per user per session.
- Average requests received: Number of write API requests the Countly Server received for this application, divided by the total user count. Click this item to see a time series representation of average events per user.
For each time series chart, there is a light-gray and dark-gray line. The light-gray line shows the previous timeframe for comparison purposes.
- Click on 7 days and light lines will show stats between -14 days and -7 days.
- Click on Today and light lines will show stats for yesterday.
- Click on Apr and light lines will show corresponding days of March.
Below the chart, there are 4 widgets that show the top platform (e.g., Android or iOS), top resolution, top carrier as retrieved from device and top users.
Viewing Web Analytics
When analytics data of a web page is viewed, this page also modifies itself, so it shows the
Top Sources instead of the
Top Resolution, and the
Top Browser instead of the
Top Carrier. For more details, see the screenshot below.
There is a colored world map under the widgets showing which countries use your application more. The darker the shade of blue in a geographic area, the more your application is used there. You can select the tab above the map to visualize the data based on sessions, visitors, or new visitors. On the right of the world map, you will see a list of countries (i.e., the top 7) where your application is used the most. In the example below, the number next to each country shows the total number of sessions.
Getting In-Depth Analytics
Countly's main dashboard provides a quick analysis and gives a glimpse of how your application is performing in real time.
The navigation pane on the left gives more detailed information about users, sessions, countries, carriers, and more.
Before going forward with each menu item on the analytics menu, here is a short intro video showing the analytics menu items:
Below we will have a look at each menu item.
Users (mobile + web)
The users tab is one of the most important parts of analytics. Here you will see an overview of the total new and returning users based on that day. This is the menu you will need to keep track of most. This tab will give you the answer to the question "How many users do I have?"
Sessions (mobile + web)
If a user opens an application, it is counted as a session until the application is closed. This menu shows an overview of sessions, together with total sessions, unique sessions, and new sessions, broken into time buckets. This menu will give you the answer to the question "How many times is my application opened?".
Countries (mobile + web)
This menu gives an overview of which countries use your applications the most. The table is located below the world map of total users, total sessions, and new users. This menu will give you the answer to the question "Where are my users connecting from?".
Devices (mobile only)
In this menu, you will see 3 main blocks of device information. There is a list of devices on the top, and these devices are shown in a table at the bottom. In the middle there are 3 blocks of information showing the top platform, top operating system version, and top resolution, respectively. Try hovering on each color line and you will see other relevant information.
This menu will give you the answer to the question "Which smartphone types do my users have?".
Resolutions (mobile + web)
This menu shows two pie charts: total users and new users in terms of device resolution (width x height). This screen is important as it gives insights regarding which resolutions are used most, so you may focus on these screen types.
Densities (mobile + web)
Both Android and iOS devices have screen densities, and this menu shows densities reported by a device. For your web, it shows the device pixel ratio, which returns the ratio of the resolution in physical pixels to the resolution in CSS pixels for the currently display device.
Application versions (mobile + web)
This page shows different versions of applications, assuming they have been defined. A stacked chart shows the total sessions and new users. The table under the chart shows the total sessions, total users, and new users, respectively for each application version. This menu will give you the answer to the question "How do my application versions compare?".
Carriers (mobile only)
The carriers page shows a table of all the carriers, together with the total sessions, total users, and new users for a given period. On the top of the page, there are two pie charts showing the total users and new users of the top carriers. This menu will give you the answer to the question "Which operator or carrier do my users use?"
Platforms (mobile + web)
Countly provides an intuitive interface to show how different platforms (operating systems) perform. This menu will give you the answer to the question "Which operating systems do my users have?"
Browsers (web only)
This section shows which browsers visitors are using while visiting your web. For each browser, you can see the distribution of browser versions in the chart. The table below the chart shows a breakdown of this data for each browser and its corresponding version.
Sources (mobile + web)
This plugin shows a list of app stores from which your app is installed when a mobile app is viewed, and a list of web pages from which visitors have been referring.
The pie charts show the total users or new users coming from an app store or referral URL. The table below those charts shows a breakdown of this data for each source or app store. Click on each line on a table to see a list of paths when viewing a web app.
Languages (mobile + web)
This section shows either the language of the browser or the language of the operating system for mobile.
Views or Page Views (mobile + web)
This menu item shows all web page views of an application. It provides information about total users, new users, total visits, as well as the average time spent on each web/mobile page and how many people landed on and exited from those pages.
More features available with pluginsCountly has a plugin architecture, which helps you get more features and benefits from Countly itself. For example, the Page Views plugin (for web apps) helps you see each page's average visit time, landing and exit percentages, bounces, and page visit durations. Likewise, the Sources plugin (for mobile apps) shows all the app stores from which a mobile app is installed. These plugins are available via the
User retention (mobile + web)
Retention is the condition of keeping your customers. This page shows you the active days (e.g., days your customer used your application) after the first session. On the top right corner you have a selector to visualize daily, weekly, and monthly retention.
The User Retention plugin is only available in the Enterprise Edition.
One of the most important ways for calculating user loyalty is retention graphs. With retention graphs you can calculate whether you have one-time users or if they are actually returning to your app after they first install it. Usually, when we speak about retention as an industrial standard, it is better mentioning day-1, day-3, day-7, or day-30 retention. It is hard to see a number between these time buckets. For example, day 1 correlates to 1 day after the start date of the retention graph.
Below you may watch a video showing how retention works.
As an example, if you see 2,000 users on day 1 (100%), then if it drops to 1,000, that means day-1 retention is 50%. Then you will probably only see 200 users on day 7, which means 200 users out of 2,000 have come back on that particular day. You should not read “day-7” retention as “7-day retention”, as “day-7 retention” precisely shows you the percentage of users that used your application on day 1, and then day 7.
Note that there are two ways to calculate retention: absolute and relative. For example, a user has their first session on 24th of November at 23:00. Then they have their next session on 25th of November at 01:00. Here, only 2 hours passed. For absolute retention, this counts as +1.
Countly calculates relative retention. This means that Countly would only count +1 day if session would happen after >24 hours but less than 48 hours after the first session. In the example above, Countly would not count this user as a retained user after 1 day.
User Loyalty (mobile + web)
User Loyalty shows how many users started a specific number of sessions. The table shows the number and percentage of each loyalty group compared with the number of sessions (e.g., one session, 2 sessions, etc.). As an example, if you had 10 new users today, they will all be grouped under "first session".
This feature will give you the answer to the question "How many users started a specific number of sessions?"
Session Frequency (mobile + web)
Session Frequency shows how often your mobile users open your application. It can be used to calculate the trend or how often your application is used during a given period of time. The session frequency graph is very straightforward: here you will see a breakdown of the number of sessions and corresponding number and percentage of users for each group. Most of the time, you will see that many users will be accumulated in the 1st session and 2nd session rows.
As an example, a 1-24 hours bucket shows users who had a next session within less than 24 hours after their previous session.
This menu will give you the answer to the question "How often do your users open your app?"
Session Duration (mobile + web)
The Session Durations view shows users categorized into predefined, session duration buckets. In this view, your users are categorized into one of 0-10 seconds, 11-30 seconds, 31-60 seconds, 1-3 minutes, 3-10 minutes, 10-30 minutes, 30-60 minutes or more than 1-hour according to this session duration.
This screen will give you the answer to the question "How long do my users stay inside my application?"
For more information, here is a video overview of session durations:
Slipping Away Users (mobile + web)
Slipping away users show which users were logged in last time. When logged in, it shows the number of users and the percentage of those that have not had a session for more than 7, 14, 30, 60, and 90 days. It also shows which users have been slipping away individually when the User Profiles plugin is activated (User Profiles is available only with the Enterprise Edition). Slipping Away information is located in
Below you can watch a video about the Slipping away users plugin:
This plugin shows how many users give which ratings to your application. Ratings information is located in
Ratings. In order for this plugin to show data, the iOS and Android SDK or (for web-use cases) the Web SDK should be configured, so that it shows a popup (or a "Feedback" sticker, for web) to end users, and they start sending rating data to the Countly server.
Views per Visit
View Frequency shows views per session (for a mobile app) or visits (for a web app). If, for example, there are 120 visitors having between 1.7 views per visit on average, then you will see 1-2 written on the first line.
Times of Day
This plugin can visualize the busiest times and days. Times of Day information is located in
Times of Day. When you click on this plugin, you will see a visualization table including 0-23 (for hours) and Monday-Sunday for weekdays. Each blue dot represents a session. The bigger and more intense the blue dot, the more users have been using your application or visiting your site.
You may also view this graph as a table. It is possible to view data collected up until now, the last 3 months, the previous month, or the current month.
DBViewer is a plugin which allows you to explore all Countly MongoDB collections through the user interface. You may filter documents, export results as CSV, XLS, or JSON and also take advantage of the powerful REST API Database Viewer exposes.
When you first click on
Management > DB Viewer, you will be greeted with the screen below:
Here, there are 3 panes that you may check:
1) Application selector: Here you may want to choose all application collections, or only choose one application, and the corresponding database collections will appear.
2) Collections: All the collections for all apps or a specific application.
3) Documents or database selector: When you first open the DB Viewer, you will need to select a database. After you select one, you will see further documents query results.
The Community Edition only has one database (Countly), whereas the Enterprise Edition has two databases (Countly and Countly Drill). The Drill database also stores raw data which is required for detailed segmentation of events, views, crashes, user profiles, etc.
When you would like to make a query, first select a database, then the application. You may also filter within the collections. Once you select a database (i.e., Countly or Countly Drill), you will see the query options from which you may choose.
The DB Viewer also has an API. You may export data using this API. For more information, please refer to those blog posts:
In the DB Viewer the following functionalities are available:
- Query builder: There is an input for your database queries which contains the JSON validator.
- Projection: Users may easily select custom fields with the projection feature for the result data of their queries.
- Sort: Users may select the sorting parameter and sorting type by UI.
- Collection filter: Users may separate their collections by application with the filter dropdown or search with the collection filter input.
Countly runs on events. They help product developers and user experience specialists get an understanding of how their application performs by sending data from inside the application and analyzing this information. Just like other information retrieved, events are truly real-time with Countly, so you do not have to wait for hours for a visualization to appear in the Dashboard.
Events may be compared for a particular application. In order to compare events, click on the
Compare button on the event navigation. Here you will be able to compare each event. Select as many events as you would like and click the
Clicking on the gear icon in the event section will open the events configuration menu. In this menu you may remove a list of events or do so one-by-one. By clicking on a particular event you may change the event name or label the sum, count, and other event properties.
For more information about how to capture and send events to the Countly server, see this Events article.
Managing and Monitoring Applications, the System, and Users
Countly provides a user interface to manage and monitor applications, the system, and users. Most of these functionalities comes from plugins, and some of the plugins may be disabled as Countly is installed. In this case, go to
Plugins and choose the plugins you would like to enable. The corresponding plugin will then be enabled in less than 10 seconds.
For more information about plugins, see this page.
Applications may be managed by global users. To add a web, mobile, or desktop applications, follow the steps below:
- Go to
Management > Applications
- Enter your application name, type, your time zone, and application icon.
You will be given an app key which is unique to that application. This key should be written in the SDK code snippet, which in turn, will be embedded in your application. For information on how to do this, please review SDK integration guides.
If you sell items from your mobile or web app, you may enter your IAP (In-App Purchase) Event Key in order to collect IAP revenues and see them immediately on your dashboard.
If you would like to delete an application, simply click
Delete. There may be some cases where you would only want to delete the data associated with an application but keep the application keys and other information. In this case, use
Clear data to remove all incoming data from this application, and start fresh.
Note that if you clear data using this method, certain application configuration, such as push credentials and attribution configurations, will not be removed.
It is also possible to modify app-related data after an app has been created, e.g. app name, type, key, etc. If your application is going to receive push notifications, make sure you add necessary GCM/APN credentials as well.
Countly Code Generator
If you would like to generate mobile or web code for events, user profiles, crash reporting, and all the other features that come with Countly in general, we suggest using the Countly Code Generator, which is a point and click service that builds the necessary code for you.
Countly provides a way to manage different types of users (i.e., global admin, admin, or user). Each user will be able to do what has been assigned to them. For example, you may want your marketing team to be able to see only the whole dashboard, whereas the website manager, working as the global admin, may easily add/remove applications, define other users, and manage the entire interface.
Different types of users have different authorization levels:
- Global admin can add, remove, or edit users; add, remove, or edit applications; and typically do whatever is assigned to them on the user interface. This is the most powerful user.
- Admin can manage applications, e.g. add an application, edit it, or remove it completely from the management dashboard.
- User is basically at the bottom of the hierarchy, and can only see the Dashboard, without having the ability to manage other applications and users.
All 3 types of users can send push notifications, are able to download raw data, and use the API to read data from MongoDB directly.
This document explains Countly feature permissions in detail for each role.
In order to add a user, you must be the global admin. Click
Create a new user to access a drop-down menu, where you can enter user information and credentials. Fill in the details here and click
Create user. Editing a user is straightforward - go to the user row and click
Edit. You will be presented with an editable form.
Users can be restricted to only view certain parts of the dashboard as well. In order to restrict parts of the dashboard for admins and users, click on
Section access, which will open a popup similar to the following:
By default, a user has access to all sections (menu items). If the admin clicks on a button under
Restrict and clicks
Done, the corresponding menu item will not be available for this user.
Active Directory and Okta integrations
When you use AD or Okta integrations in the Enterprise Edition, user and group management is completely hidden, and all management is carried out with AD or Okta rules.
The control of users and groups is a core element of Countly. While you may define a user without a group, you may also define a group and put each user into that particular group to benefit from easy administration, assuming the number of users is more than 20. While creating a group, the administrator defines what the users in that group can do, and then adds users accordingly. In order to define a group, go to
Management > Users.
Then, you should define the particular properties of this group, such as which apps will those users have access to, or which sections they will be able to view. While you create a group, you may also individually define which users will be in it. You can do this later as well.
After you create your group, it will look like this:
Here, we have defined 4 different groups. You may define as many groups as you would like depending on your granularity requirements. After creating a group, when a new user is added, those groups are viewable under User Groups, as shown below.
Countly plugins have the ability to help you view different types of logs. The most important plugins that come with Countly are:
- Server Logs plugin (available under Management): Shows errors occurring during server boot or run.
- Audit Logs plugin (available under Management): Shows who has logged in, when was a configuration made, and other details.
- Request Logs plugin (available under Utilities): Shows each event, together with when it happened, from which device as well as other details. Note that this is used for debugging purposes, as it shows only the last 1,000 events for a particular application.
Sending Email Reports Periodically
Countly can send email reports to you or your colleagues periodically. In order to do so, go to
Utilities > Email reports, where you will see a page in which you can define email reports for Analytics, Crash or Push related data.
Below you may watch an intro video showing how to define and configure email reports.
Sending Alerts When There Is A Problem
Getting information about immediate changes in product is very critical. The Alerts plugin helps you to define conditions on session, event, and crash analytics-related metrics, and you will receive a notification email when a particular condition is met.
You may view your alerts or define an alert from
Utilities > Alerts.
Generally, alerts can let you know if there is something that needs your attention. Alerts give you an easy-to-use mechanism to be notified about changes in your data, such as an increase/decrease in new users, occurrence count of an event, or new crashes/errors.
The Report Manager plugin is available only in the Enterprise Edition.
There are times that you instance ends up holding on to too much data. In such situations, segmenting data via Countly Drill or calculating steps via Countly Funnels can take time. Instead of making you wait, Countly tells you that a particular process will be backgrounded. You will be re-notified when the corresponding task is completed.
A few things to consider as you use Report Manager are as follows:
- When you go to Drill or Funnels, and your queries in those two sections are taking more than 30 seconds (which is configurable under
Management > Configurations), a popup will appear, saying that this task will switch to the Report Manager.
- Report Manager silently handles this task in the background.
- When the system has completed the task, you will be notified with another popup. Now you may view the report under
Utilities > Report Manager.
If you try to view the same report again, you will be notified with a warning, since it is already being processed.
The Report Manager may also be used to filter different reports that were running earlier. You may select the type (e.g., Drill or Funnels) or status (Running, Re-running, Completed, or Error).
The Report Manager, available under
Utilities, may be also used to view, re-run, or delete reports that have been previously saved or executed:
Populating the Dashboard with Sample Data
Sometimes you may like to understand how the dashboard looks and works with some sample data. In this case, if it is not already enabled, enable the Data Populator plugin under
Management > Plugins. Then you may run it under
Utilities > Populate Data.
Countly has a plugin-based structure where you can add or remove as many plugins as you would like. By selecting
Management > Plugins, you will see a list of plugins, whether they are enabled or disabled, a definition of each, and their corresponding home pages. Here you may enable or disable each plugin, and when you press
Apply, your changes will take effect.
Countly allows you to write your own plugins and extend Countly’s functionality, both for the Community Edition and Enterprise Edition. The Dashboard also allows you to upload your plugin using the
Add plugin button. After clicking this button you will be prompted with a pane, so that you may just drag and drop your plugin. This eliminates the need to upload a plugin using SFTP or other means.
To get started developing your own plugin, we have a dedicated section to help you.
Sometimes, for varying reasons, you may like to block a particular event or session data to be written to the database. In such cases, the Filtering Rules plugin comes to the rescue.
You may add as many rules as you would like, e.g., based on the IP, country, browser, platform, etc. You may also filter based on sessions or events.
The list of available operators gets updated based on the selected data type. Here is a complete list of offered operators:
is not: Basic comparison operators for strings, numbers, and dates.
at most: Operators that can be used with numerical values and dates.
doesn't contain: These operators are used to check whether a field contains a determined string value (e.g., <Name contains John>).
is set: In some cases, a field might not exist at all for a portion of event records. This operator gives you a better level of control over those fields (e.g., Events where browser version is not provided: <Browser version is set False>).
Changing the Interface Language
Countly is available in several languages, including German, Spanish, Turkish, Italian, Dutch, Russian, Chinese, and more. You may easily switch languages from the menu on the top right, located inside the top bar. Click on the language button, where you will see the available languages.
If you would like to help with the localization of your own language, go to the Transifex Countly project page and register yourself to be a contributor to help better localize Countly.
You may use tokens in order to protect the API key. You can create Tokens in the
Token Manager in the user menu (click on the user icon in the top-right corner). Tokens can be restricted to work only on specific API endpoints or have a limited amount of usages or time. Tokens can also be deleted to stop access.
This is the description of the possible tokens:
|Table row||Row description|
|Description||Token description (if there is one set) and token value.|
|Valid until||Date and time when the token will expire. If the token never expires, the text will say, "No expiry".|
States if the token may be used multiple times. If not - the token will expire after its first use.
List of Apps which may be accessed with this token. The "All apps" value states that it is not limited to any app. It is useful to create a token to allow accessing endpoints to some apps.
If a token is created to allow some requests, the endpoint may be set as well. For example, when creating a token for Data migration, the endpoint is set to the migration endpoint.
|Status||Shows the status of the token - either Expired or Active.|
|Action button||You may delete the token here.|
If a token has expired, it is deleted automatically when someone tries to use it.
- Description: It is optional and does not affect the token usage in any way. It should be set to remember why it was created.
- Endpoint: If nothing is set, the token will work on any endpoint.
- The checkbox should be checked to allow the token to only be used once.
- Token usage: the token may be limited to only be used in some apps.
- Token expiration: Selected to limit the token. It may be set to numerous hours, days, or months. When a member logs in, a new token is created. It has the value "LoggedInToken" per its description. It is deleted only after logging out. Your current session token is hidden. Logging in from different PCs might result in some of them being listed.
Countly provides inline help for its users. In order to enable help mode, toggle the
Management > Help button. In this mode, hover over the window with which you would like to receive help. Until you toggle the help button again, the user interface auto-refreshing function will remain disabled.