Best Practices


This document outlines some of the best practices for quickly getting Countly Analytics up and running.

Application Management

Each application entry includes the application name, ID, time zone, and other information, such as who has access (read and write) to that application’s data. Proper application management is crucial to the data collection process. Here are a few tips and tricks to help you out as you prepare your apps for the above-mentioned data collection:

  • Set up separate versions of your application in Countly to keep your production data separate from your test data. This way you may avoid having to purge test data.
  • Try to keep your iOS and Android data on the same application if your apps are similar in functionality. This way you can compare and contrast data coming from different platforms. Countly is more than capable of doing this!
  • Give descriptive names to your applications, such as “BankApp — Test” and “BankApp — Prod”. You may create as many applications as you need.
  • If you would like to generate a mobile or web integration code for events, user profiles, crash reporting, or for any of 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.
  • You can either reset the application, which returns the app to its initial blank state, or clear any old data, which will remove the data, but keep configurations and other information, such as funnel definitions and attribution campaigns. Now you will be able to start from scratch (go to Management > Applications and select Clear data).
  • If you need to filter out some incoming data, you may use the Filtering Rules plugin.
  • If you would like to simply play around with some data to get a better understanding of the Countly dashboard, you may create a dummy application and populate it with sample data using the Data Populator plugin, available by default under Management.


User Management

Countly provides detailed user and group management functionality for Countly dashboard users. You may create several users with different credentials and hide some of the menu items you do not want to be viewed.

  • Create users with different credentials:
    • “Users” can only view analytics data for apps to which they are assigned; 
    • “Admins” can view, write/modify, and manage only the apps to which they are assigned (including users); and
    • “Global Admins” can add, remove, or edit users; add, remove, or edit applications; and manage all apps as well as the Countly server.
  • If you are using Active Directory, you may benefit from Countly’s Active Directory plugin. This document provides more information regarding integration.
  • Countly allows you to create groups of users. You may group users together by role (e.g., Marketing or Analysts) and define which features each group can access. This will help speed up and simplify user management, as you can move users from one group to another.



Events help you understand what is happening inside your application and gain more insights into areas where Countly may not automatically collect information.

  • Start collecting event data early on. Identify and define your most significant events first. You may always start with a small number of events (e.g. 7) and increase in numbers as needed.
  • Try to give clear names to your event keys, such as signupButtonClick or signup-process-success. You may define a “Display name” from the Events view later on to show “Successful signup” instead of signup-process-success throughout the reporting interface.
  • You will benefit from event segments (key value properties attached to an event). Your reports will be more detailed, agile, and dynamic the more segments you add to an event.
  • There are several event templates we have gathered for eCommerceSaaS, and Gaming startups. Use them as a starting point.
  • Do not collect an excessive number of events as they may cause too much noise. Every app is different, but in general you should be looking between 20–80 events depending on the complexity of your app.
  • An event may have count, sum, and duration numeric properties. A duration defines how long an event took to finish. You may use this property to measure the amount of time a particular event takes.
  • For in-app purchases, you may define a special event (via Management > Applications) and then send this event from your application to collect revenue data.


General Analytics and Reporting

Countly’s analytics features allow you to get the most out of your data. Email reporting and automated alerts help you receive this data daily, weekly, or monthly. Note that if you host your own instance, you must define an MX (mail exchange) record and configure your Countly instance properly in order to be able to send emails.

  • A session length is calculated out of the box by Countly under Analytics > Sessions. However, note that for some platforms (e.g. MacOS) a session length does not give correct results because your app is never stopped unless the user quits it.
  • You should also check the average number of sessions for each user to get an understanding of stickiness.
  • If you track a web app, then ensure that you also track scroll heatmaps and click heatmaps under Analytics > Views. This will help you understand where your users click and how deep they go in a page.
  • Create your own custom dashboard and share it with your colleagues.
  • After integrating one of our SDKs, we strongly suggest you check the incoming data on the Countly dashboard using the Request Logs plugin, available by default under Management > Plugins. This will help you confirm that data is being submitted correctly to Countly. Note that this plugin only shows the last 1,000 incoming requests.
  • Be aware that there are some limits for events (maximum of 500 unique event keys), event segmentations (maximum of 100 for each event), and unique values for each segmentation (maximum of 1,000 values). While there is a limit of 8 steps for Funnels, this may be configured from Management > Settings. For more details, review our FAQ on Event Views.
  • In order to track the number of customer churns and about-to-churn users, apply a filter under User Profiles to see users who have not logged in for a significant period of time, e.g. the past 30 days. This will help you to understand churned or about-to-churn users. In order to do so, go in your dashboard to Users > User Profiles and use the Apply Filter toggle button.
  • User Retention is important. It basically tells you how often your users return to your website or use your mobile app. When retention is low, it means your users are churning. Your job is to increase customer satisfaction in order to keep retention as high as possible.
  • You may want to connect the same user and device to the same customer when your customers have the same ID across several device types (e.g. mobile and web). Countly’s unique ID feature (cross-device reporting) enables the association of users and sessions (in fact, any activity on several devices) to the same visitor using a persistent ID you send to Countly.


Attribution (Referral) Analytics

Attribution Analytics may be used to view and compare different campaigns that you previously created.

  • For each campaign, create a different attribution (referral) entry.
  • Each attribution campaign can be drilled down, e.g. you may use Drill to select a campaign and then enter other criteria, e.g. by country, cohort name, demographics, etc.
  • Countly Attribution Analytics has a webhook mechanism where you can send any device-related data to another 3rd party server when conversion takes place. You may add any amount of postback URLs and provide available parameters by using placeholders.


Rich Push Notifications

Rich push notifications allows you to send scheduled or instant push notifications to your users, also allowing you to send images, videos, and deep links.

  • Use deep links in your push notifications to take a user to a product or any page in your application. Using multiple buttons when sending a push notification with a different destination and text may be handy. While Countly can track what percentage of your users have clicked a specific button, you may also tie events to those buttons to see it under the Events view and get more informed on a time series graph.
  • You may target a specific user group to receive a push notification by going into Drill, segmenting (grouping) your users, and then clicking on the Send a message button.
  • You may send a silent push to your users to let your app download data in the background, e.g. game data, app icon updates, downloading newly published eBooks, etc.
  • Read this documentation for a list of best practices for push notifications.
  • You may add a “push approver” middleman if you would like to add another level of authorization and security. This way one of your colleagues may prepare the notification, save it as a draft, and another colleague may accept or reject it.


Funnels help you track the flow of users along a defined path and help you measure the goal completion rates of your application using a step-by-step approach.

  • Start with a single funnel and see how it shows the data you need, then add more funnels as your product manager and analysts require.
  • Make sure you benefit from segmentation. To do so, click on the Apply Filter button on top of a funnel.


Crash and error reporting

Countly monitors the stability of your Android and iOS applications and web apps and helps increase user satisfaction. With the help of its real-time infrastructure, Countly shows which errors are trending in real-time, which users are impacted, and helps to identify crashes by OS, device, carrier, and other factors, so that developers may remedy issues more quickly.

  • Get more information about the extensive and enterprise-grade crash reporting in Countly here.
  • Symbolication is the process of converting crash data into human readable class/method names, filenames, and line numbers. You may use the Countly Symbolication plugin for this purpose. Check out this documentation for more information.
  • Ensure you know the differences between several terms:
    • A non-fatal crash is a crash that does not stop the application but allows it to run after a crash is encountered. A fatal crash is a crash that causes the application to stop and quit.
    • An exception is an event which occurs during the execution of a program that disrupts the normal flow of the program’s instructions. This term is usually used in the Java and Android world. A crash is a software failure that causes the program flow to break unexpectedly. This term is usually used in the iOS world.

Extracting Data

Countly data may be extracted as the backend is completely accessible. You may use several methods, such as direct DB access, CSV/XLS/JSON download, or via API.

  • You can always query the Countly data by using a Countly API, as explained here.
  • Backup your Countly data and then import this data on another server. You may also use the Data Migration plugin for this purpose.
  • To get event data in a Drill database, go to Drill, select Event > Go to table > Download CSV.
  • You can also retrieve the information you seek using Countly APIs. Here is the related API endpoint (events) in case you might need it. You will need 1 request to receive all events, and then 1 request for each event to receive data.


Server Management

When you deploy Countly on-premises, you have several options, such as installing a MongoDB replica set or a sharded cluster. Whatever the deployment choice is, there are several management tasks you may need to consider.


Countly offers a comprehensive approach to user experience by providing different options to collect, measure, track, and react to your users’ opinions. Listening to user or customer feedback is possible thanks to three different plugins that let you design all visual and analytical aspects of each feature: 

  • Ratings: single-question feedback tool where users or customers react to any page or event using a scale in order to measure their satisfaction.
  • Surveys: fully customizable tool with up to 5 qualitative questions based on behavioral or property segmentation to understand your users’ experiences and expectations.
  • NPS® (Net Promoter Score®): a type of survey triggered when users perform an event that allows you to get insights on their loyalty and how likely they are to recommend your product or service.

Even though these plugins tackle different aspects regarding customer behavior, opinion, and loyalty, some rules of thumb are nonetheless important to consider:

  • Time your survey or feedback feature accordingly, making sure to allow the right amount of time for your user to form the opinion that you will ask about.
  • Make questions easy to understand, keeping objectivity and avoiding leading your users. 
  • Take your time to consider the content you will ask your users about and why, trying to know exactly how the subsequent results will guide your next step.
  • Avoid, at all costs, overwhelming the user by asking either too many questions or asking them too frequently.
  • Align your expected results to the group or market you are targeting, considering behavioral trends and cultural and geographic factors that can affect feedback.

Use the Feedback plugins in convergence with other Countly features, like Cohorts or User Profiles, to better target both groups of users and individual users.

Other Things to Consider

Countly is by far the most extensible, open product analytics and innovation solution for mobile, web, and desktop applications and devices. When you dig deeper, you will be amazed by how Countly is populated and packed with loads of features that will help you get started with product analytics easily and seamlessly. Instead of relying on several platforms for data collection, storage, visualization, and marketing, Countly is the only solution that will answer all your business KPI questions.

Looking for help?