Introduction
Countly is a self-hosted product analytics platform that gives teams complete control over their user data. It tracks events, sessions, crashes, and user journeys across mobile, web, and desktop applications, providing real-time dashboards and segmentation without sending data to third-party services.
What Countly Does
- Tracks custom events, sessions, page views, and user properties in real time
- Segments users by device, location, behavior, and custom attributes
- Sends targeted push notifications for iOS, Android, and web
- Provides crash and error reporting with stack traces and device context
- Supports A/B testing and feature flags for controlled rollouts
Architecture Overview
Countly runs on Node.js with MongoDB as its data store. The server exposes a REST API that receives events from client SDKs. Data is aggregated into time-series buckets for fast dashboard queries. A plugin system extends core functionality with modules for push notifications, crash analytics, surveys, and revenue tracking. The web dashboard is a single-page application that visualizes metrics through charts, funnels, and cohort tables.
Self-Hosting & Configuration
- Deploy via Docker Compose with MongoDB included in the stack
- Use the one-line install script for Ubuntu or CentOS bare-metal deployments
- Configure data retention, rate limiting, and API key management in the dashboard
- Set up SMTP for email reports and push credentials for mobile notifications
- Scale horizontally by adding Node.js workers and MongoDB replica sets
Key Features
- Full data ownership with self-hosted deployment and no third-party data sharing
- SDKs for iOS, Android, React Native, Flutter, Web, Node.js, and 10+ more platforms
- Real-time dashboards with drill-down by any event property or user segment
- Plugin marketplace with 50+ official and community plugins
- GDPR-compliant with built-in consent management and data export tools
Comparison with Similar Tools
- Google Analytics — Cloud-only, limited to web; Countly is self-hosted with mobile SDK support
- PostHog — Similar self-hosted analytics; Countly has stronger push notification and A/B testing features
- Matomo — Focused on web analytics; Countly provides native mobile SDKs and crash reporting
- Plausible — Privacy-focused but lightweight; Countly offers deeper user segmentation and engagement tools
- Mixpanel — Cloud SaaS with event analytics; Countly can be fully self-hosted for data sovereignty
FAQ
Q: What database does Countly use? A: MongoDB. Countly stores events, sessions, and user profiles in MongoDB collections with time-series aggregation for dashboard performance.
Q: Can I migrate from Google Analytics to Countly? A: Countly tracks different data models than GA, so there is no direct import. You can run both in parallel and transition your dashboards over time.
Q: Is the self-hosted version feature-complete? A: The Community Edition includes core analytics, crash reporting, and push notifications. The Enterprise Edition adds advanced features like funnels, cohorts, and drill.
Q: How much server resources does Countly need? A: For small to medium apps (under 1M events/day), a single server with 4 GB RAM and 2 CPUs is sufficient. Larger deployments benefit from MongoDB sharding and multiple API workers.