This document outlines some of the best practices for quickly getting up and running with Countly Analytics.
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. A proper application management is crucial to the data collection process. There are a few tips and tricks as you prepare your apps for data collection mentioned below.
- 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, like “BankApp — Test” and “BankApp — Prod”. You can create as many applications as you need.
- If you would like to generate an mobile or web integration code for custom events, user profiles, crash reporting, and all 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 old data, which removes data but keeps configurations and data such as funnel definitions and attribution campaigns, and start from scratch (go to Management > Applications and click on “Clear data”).
- If you need to filter out some incoming data, you may use the “Filtering Rules” plugin.
- If you wish to just 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.
For Countly dashboard users, Countly provides detailed user and group management functionality. You may create several users with different authorizations and hide some of the menu items you don’t want to be viewed.
- Create users with different authorizations: “Users” are authorized only to view analytics data for apps to which they are assigned; “Admins” have the ability to manage the apps to which they are assigned (including users) and “Global Admins” have the ability to manage all apps and the Countly server.
- If you are using Active Directory, you may benefit from Countly’s Active Directory plugin. This document provides more information about 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.
Custom 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 custom event data early on. Identify and define your most significant events first. You can always start with small number of events (e.g. 7) and grow as required.
- Try to give clear names to your event keys, such as signupButtonClick or signup-process-success. You may define a “Display name” from Events view later on to show “Successful signup” instead of signup-process-success throughout the reporting interface.
- Benefit from event segments (key value properties attached to an event). Your reports will be more detailed, agile, and dynamic if you add more segments to an event.
- There are several templates we have gathered for eCommerce, SaaS, 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. 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 & reporting
Countly’s intensive analytics functions allow you to get the most out of your data. Email reporting and automated alerts help you get this data daily or weekly, depending on your choice. Note that if you host your own instance, you must define an MX (mail exchange) record and configure your Countly instance properly 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 doesn’t give correct results, since your app is never stopped unless the user quits out.
- 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 make sure you 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 incoming data on the Countly dashboard using the Request Logs plugin, available by default under Utilities > Request Logs. 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 custom 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 > Configurations.
- 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, to understand churned or about to churn users. In order to do so, go to Dashboard > User Profiles > Apply Filter.
- Retention (plugin link) is important! It basically tells you how often your users keep coming to your website, or use your mobile app. When retention is low, that means your users are churning. Your job is to increase customer satisfaction to make 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.
- Dashboards video walkthrough
- Video walkthrough: Setting up automated alerts and email reports
- Documentation for alerts and email reports
- Countly retention plugin
- How to simply calculate user retention and loyalty?
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.
- Using Adwords? We can get Adwords data from Google and display it on Countly dashboard.
- Countly Attribution Analytics has a webhook mechanism where you can send any device related data to another 3rd party server when a conversion takes place. You may add any amount of postback URLs and provide available parameters by using placeholders.
Rich push notifications
Rich push notifications allow 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 custom events to those buttons to see it under 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, or downloading newly published eBooks.
- 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 & iOS applications and web apps and helps increase user satisfaction with your mobile apps. 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 Countly’s extensive and enterprise-grade crash reporting here.
- Symbolication is the process of converting crash data into human readable class/method names, filenames, and line numbers. You may use 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 doesn’t stop 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 Java / Android world. A crash is a software failure that causes the program flow to break unexpectedly. This term is usually used in iOS world.
Countly data may be extracted as backend is completely accessible. You may use several methods, such as direct DB access, CSV/XLS/JSON download, or via API.
- You may always query the Countly data by using a Countly API, explained here.
- You may backup your Countly data and then import this data on another server. You may also use the Data Migration plugin for this purpose, available from Countly v17.12.
- How to get event data in a Drill database? The first method is to use Drill. Select Event > Go to Table > Download CSV.
- You may 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.
When you deploy Countly on-prem, 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.
- You may always create a test server via our 1-click deployment interface on Digital Ocean.
- Use Countly’s powerful command line interface (CLI) to make maintenance an easy task.
- Check out these important commands that’ll help you with your troubleshooting efforts.
- Enterprise Edition customers requiring a high-availability platform should consult this document. This document also depicts several deployment scenarios in a slide.
- For a high-level overview of Countly’s security aspects, including ports used, authentication levels, and firewalls, check this documentation.
- There are several tips and tricks towards managing your Countly instance in this video.
Other things to consider
- The Countly database is open, so you may access any collected data and use it internally.
- You can extend Countly via plugins!
- All SDKs are open source and available on Github.
- Make sure to watch all the training videos on the Countly YouTube channel.
- Also, don’t forget to subscribe to the Countly newsletter (link at the bottom of our web page).
- Read the most frequently asked questions coming from our customers.
Countly is by far the most extensible, open product analytics and marketing platform for mobile, web, desktop, and IoT 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.