Countly Web Analytics is an integrated analytics platform which covers everything you need for data analytics like user analytics, heatmaps, customer feedback, extensive segmentation, Javascript error crash reports, and more.
When you add an application and select “web”, Countly, unlike several other cross-device analytics platforms, automatically arranges and redesigns its user interface to emphasize web analytics related menus and widgets.
Given different installation options (e.g., on-premise or private cloud), Countly provides one of the most extensive web analytics solutions in the market today. The on-premise option, specially, provides greater depth and breadth of security and control on your data, and the advanced user management and login security features, enable greater privacy and security for companies compared to other closed, proprietary solutions.
We strongly suggest that you start by reading Countly User's Guide. This guide shows you how to use basic dashboard features for both mobile and web.
Tracking Multiple Sites
Countly has a multi-tenant system, making it possible to track several sites. Some of our customers track more than 400 apps and websites simultaneously!
How It Works
Countly, like most other web analytics platforms, has a tracker (a Javascript file). This tracker, when loaded by your webpage, starts sending user, session, error and other information to your Countly server, where it is visualized and reported. This data is stored in MongoDB, and can be extracted anytime for further analysis and reporting.
Evaluating Countly
You can sign up for a free trial of 30 days to determine if Countly is the solution you're looking for.
Requirements
Before installing your server, you also need to check these items:
Before diving into web analytics, make sure of the following:
- You have a running website or web app
- You have inserted Countly tracker code with the help of this documentation
- You have reloaded your webpage to see your visitors live on Countly dashboard
Distinctive Features of Countly Web Analytics
Some of the features of Countly Web Analytics platform are included in Countly Lite, and some of them are specifically available only in Countly Enterprise. Below, you can see the many features and their availability under the two different editions.
Increased Security
Countly web analytics has been used with a lot of success on several thousands of webpages. What makes Countly unique is that, since it can be installed on your servers (e.g., as self hosted web analytics), you have complete control of your data. Especially in highly regulated domains, like banking, finance, telecom, and healthcare, the need for protecting personally identifiable information data is more critical than ever. Countly, with its advanced user management and self hosted option, preserves your privacy and security while providing the widest set of web analytics features.
Extending Countly
Countly can be customized to meet your specific needs. The underlying platform has a plugin-based architecture, where you can use more than 40 plugins, or write your own in Javascript thanks to open-source Countly.
Real-time Data Updates
Countly provides a complete, real-time data updates dashboard with a maximum of 10 second data latency. This gives you a big advantage over other services which lag in time (e.g., Google Analytics) up to several hours.
High Performance
Countly is a very high performance system, with the ability to handle several thousands of users, simultaneously online, on a single server, and a multitude of this number when you use sharding and replication across servers.
Detailed Web Analytics
Countly has detailed web analytics, including views, browsers, landing and exit pages, bounces, and user acquisition sources with the help of an "all-web-sites" dashboard with a bird's view. Also, you have the ability to see browser, device, and operating system characteristics. Additionally, in Countly, you will have access to detailed web analytics such as Cohorts, Funnels, Remote Config (and the cross-application of this data), along with an easy-to-analyze UI that provides easy access to reports and charts.
Eliminating Unnecessary Traffic
Countly by default ignores bots and prefetching and pre-rendering from counting as real website visits. You can configure this behavior by configuring the necessary parameters.
User Profiles
Countly User Profiles is a feature which helps you get insights about all of your users or visitors. It's a very quick way to know how an individual user behaves when he uses your application or website. If you have any authentication method like login, you are able to identify all your visitors (users) and can automatically merge their previous anonymous profiles with identified profiles. You know when each user logs in, completes a specific Event, completes a Funnel or encounters an Error that affects him. Users can be assigned custom properties and each custom property for a user can be queried.
With Countly, you can go beyond traditional performance-based analytics and truly understand your customers. Since you have detailed customer profiles of users visiting your website or web app (e.g. in case of a SaaS solution), you can understand your customers as they are all viewed in their own pages, showing detailed information like email, last visit, purchase information, session information, demographics and custom key-value data. You can also track in-app purchase metrics for each user and calculate their life time value. For more information, see this link.
The User Profiles plugin is available in the Enterprise Edition.
User Being Considered as 'New User'
Device ID is generated and stored in local storage. Hence, an anonymous user (not identified via any authentication method like login) is considered a 'new user' if:
- user uses another computer/device
- user uses another browser
- user uses incognito mode
- user clears browser/website data/cache
Custom Dashboard
Countly provides easy-to-use tools to create custom dashboards to support advanced data visualizations. With custom dashboards that show metrics based on Sessions, Events, Error, Funnel, Retention and other data from plugins you used, you can customize how your dashboard looks (with tables, time series chart, bar chart, or number) based on specific business goals and KPIs. Custom dashboards allow you to add as many widgets you want, and each dashboard can be shared with your colleagues inside your organization. Also, an important advantage of the Custom dashboard on Countly is that you can see all your websites/web apps data on the same dashboard. This allows you to compare data for different web apps and track overall.
Countly’s dashboard also provides user based restrictions. To set these up, go to Management > Users
, click on the corresponding user, and select restrictions based on menu items.
Sessions
A session is simply a collection of hits, from the same user, grouped together. When a user opens the application, they will show up an “online user”, until they close the app. When they close the application, SDK sends “session end” information to the server, terminating the online presence, therefore the number of “online users” decreases by 1. If app loses internet connectivity, then server waits for 3 minutes before dropping a user's online presence similarly.
UTM Tagging Support
The Countly web SDK automatically captures UTM tags and stores them as user properties together with the corresponding user. This will ensure that users can be segmented across the dashboard, where granular data is used and segmentation capabilities are provided.
Drill (Advanced Segmentation)
Countly’s interactive user interface allows you answer complex and interactive questions by drilling down to granular data. Drill plugin allows you to dive into details of big data and get deeper insight about your users and app. This way, you can easily understand your users' engagement, retention, and application growth over time. General-purpose analytics only show you the basics. Countly gives you all details about users, sessions, feedback, events, views, errors and more. For more information about Drill, see this link.
Funnel Visualization
With funnels, you can measure how and if users complete a specific series of events, and where and why users exit a specific funnel point. This helps product managers understand what percentage of users did not finish, for example, a specific sales funnel. You can define as many funnels as you want, and each funnel by default can consist of 8 steps (though this can easily be modified). Funnels work retroactively, meaning that when you define a funnel, all past data can be queried immediately. This feature is available in Countly Enterprise. For more information about Funnels, see this link.
Flows
Countly Flows is a great way to see which paths your users have been following from the start of the Session to the end. It's a plugin available in the Countly Enterprise.
Events
With Events, you can collect any type of data, compute, and analyze it with default properties such as SUM, COUNT, and AVERAGE values. This helps you gain information inside the application when you need it, such as purchase information, songs played, items used, etc. For more details on Events, please see this guide.
Revenue Analytics
The Countly Revenue Analytics plugin can be used to track revenue. This plugin collects and displays data like total revenue, average revenue per user, average revenue per paying user, paying user count, and paying/total users. This feature can be very valuable when you have something to sell, either in your web service or web portal. You can optimize your prices by viewing detailed revenues from each and every customer. For more information about revenue analytics, see this link. This feature is available in the Countly Enterprise.
Geolocations
Countly shows users on a city and country basis as they visit your website. This information is visualized on a graphical map.
Heatmaps
With heatmaps, you can see a color map that highlights which parts of the screen are most and least clicked. This feature is available in Countly Enterprise.
Detailed Audience Data
Countly, in general, can be used to get information about your audience in several ways, including but not limited to:
- You can record an Event together with a segmentation value in order to get an idea of how your app is used.
- Items under Analytics menu (users, sessions, page views, countries, etc.) are a great way to know more about these metrics
- Flows show you how users go through your site step by step
- User Profiles shows all users and what they do in a beautifully crafted time table
- Drills can be used to drill down data and see a focused group by creating user cohorts
- Funnels are a great way to see which users have completed a series of Events (actions)
- A/B Testing and Remote Config allow you to test, find, and easily apply the best variants for your website, by advanced segmentation. This helps you determine which variant is preferred, before a complete roll out. Also, the Remote Config plugin allows you to customize your web app/website easily for each user segment you define.
- Track the performance of your website with Performance Monitoring and Errors to identify issues as they arise and enable faster resolution toward customer journey optimization
Javascript Error Reporting
Countly Javascript SDK can be used to automatically collect Javascript errors inside your application, which are reported directly to the crash service. To view errors on your dashboard, please see this link. This is available in both Countly Lite and Countly Enterprise.
Email Reporting and Alerts
Countly allows you to set up email report and alerts. Simply go to Management > Email Reports
, create a report, and it will be sent to your email address depending on your choice of frequency (e.g., every day, week, or month). You can also create Alerts (Management > Alerts
).
Rebranding Countly
Countly Enterprise can be rebranded and white-labeled. Countly Lite, due to its custom open source license, is not available for rebranding. In order to have Countly Enterprise dashboard reflect your company colors and brand, you can follow the steps explained in this documentation.
Technical Advantages
The Countly web analytics platform includes several features not available in other platforms, such as:
- Operating on a NoSQL server (MongoDB) and Node.js application server on top of Linux for maximum throughput and low maintenance costs.
- Ability to be sharded so that data can be collected on different clusters for sites requiring several tens of thousands of requests per second.
- Replication of data to provide redundancy and maximum uptime in case data error(s) occur.
- Plugins allowing anyone to write additional functionalities on top of core Countly system.
- White label and rebranding options for agencies and mobile app development companies.
When you install Countly, you have the option to select two types of apps:
- Mobile application
- Web application
Whatever the application type you choose, the system intelligently modifies its user interface to show you only the relevant plugins. For example, if you choose a mobile application, then you will be able to see the Density plugin, or if you choose a web application, you'll be able to see the Browsers plugin. Likewise, some of the plugin behaviors change; for example, "User Profiles" will be "Visitor Profiles" when you switch from a mobile app to a web app.
It's perfectly possible that a single Countly installation can track several mobile apps and web apps at once. When you switch from one app type to another, the user interface will modify itself accordingly.
Unlike others, we do not impose any (technical) data storage limits on your server when you install Countly on your own servers. Your limit will be your disk space and CPU power.
For a list of some data storage factors, please see this link.
Data Privacy, Export, and Policies
Securing Web Traffic
Countly uses an HTTPS connection between device and your instance. This ensures privacy of data collected.
Collecting PII (Personally Identifiable Data)
By default, Countly doesn’t store any personally identifiable data. However, you can send PII data, such as user name or email address, if you need. Note that, in this case, you may be bound by certain regulations and data privacy policies prevalent in your country or sector. If you are in doubt and want to get more information, please contact us, and we will provide you additional details.
Data Ownership and Right to Data
You collect your data, so you own it. You also need to ensure that you get adequate approvals from your users before using this data.
Sampling Data
Unlike other analytics tools, Countly does not sample data, and you always will see unsampled and unfiltered data on your Countly interface. The only exception to this is the Flows plugin, where you will see a randomized sampling based on your usage. For more information about sampling in Flows, please get in touch with us.
Exporting Data
From time to time, or programmatically, you may want to export data from the Countly database to another medium. This can be done in a few ways:
- Via MongoDB export: Countly command line provides export functionality. Please check Countly command line to get an understanding of how to export data from MongoDB.
- Via Countly API: Countly API can be used to export web analytics data.
- Using export icon in tables: Most of the pages on dashboard are exportable. Just click on the export icon at top right hand of a table and you’ll be presented with a few options of export type (e.g XLS or CSV).
FAQ and Troubleshooting
My site has several millions of daily users. How well does Countly scale?
There are several installation options for Countly, from installing on a single small instance to a sharded system with 20+ servers or more. Depending on your use-case, chances are your apps may be sending several billions of data points per month. Whatever the size is, we have the required expertise to scale Countly both horizontally and vertically. Please contact us so we can help you determine the right deployment approach.
When does a session begin and end?
A session starts when a webpage loads, and ends when a user leaves the webpage. On the server side, we also have a 15 second cooldown. That means, if the user visits another webpage in less than 15 seconds, the SDK will send session start, however the Countly server would actually extend the old session, and not count it as new one. If time passed is more than 15 seconds, then upon visiting webpage, the Countly server will count it as new session. This value (15 seconds) is configurable on server, under Management > Configurations > API > Session Cooldown
During session start and session end, SDK reports the duration. Every 60 seconds, SDK sends the value 60 to the server in order to increase the user's session by 60 seconds. When session ends, SDK sends the remaining time. For more information, see this SDK development guide
Additionally there are other scenarios when session can end and start again:
Due to inactivity: If the user is inactive for more than 20 minutes (default value, but can be configured in Web SDK), SDK sends end session request and stops updating the duration. But if the user performs an action (click, scroll, mouse move, or keyboard button) then the same session starts again. Here, the same rule applies: if it is within 15 seconds, then session is extended, else a new session is started.
Note: session end due to inactivity happens only after 20 minutes of inactivity, during which duration is counted.
In case of unfocusing window: Additionally, SDK tries to detect unfocusing window, like minimizing browser or switching tabs. If that happens, SDK sends end session request. Upon focusing window, SDK starts the session again. However, the page visibility API that is used to detect this is a new feature and is supported on new browsers. There are also exceptions, like not supporting window minimization, on older browsers. SDK tries to use some fallback mechanisms to detect the same; however, if the browser does not provide any option to track such features, user's session duration may be counted multiple times for each open tab.
I cannot see heatmap reports
In order to view heatmaps, you need to first ensure that they are enabled from Javascript SDK.
Also note, browsers do not allow loading HTTP iframe content on HTTPS websites. For this reason, if you are using HTTPS on your Countly instance, you will only be able to view HTTPS content and no HTTP page content will be visible.
I don't see a "particular" feature on my dashboard
If you don’t see a particular feature, check whether the plugin is already enabled from Management → Plugins
. If you are using the Community Edition, some of the features may not be available. In order to see the differences between the Community and Enterprise Editions, go to the comparison page.
I cannot see Angularjs Javascript errors
AngularJs swallows errors by default. You need to extend angular's $exceptionHandler to call Countly.log_error(). For more information, see this blog post.
I am in China and I cannot reach Google maps
When you install Countly (either the Countly Lite or Countly Enterprise), installer checks if it can reach out to Google services. If you are in China or in a country that blocks Google services by default, then Countly adapts itself to this situation and doesn’t show maps visualization.