Umami
A privacy-focused web analytics platform for traffic, campaigns, events, funnels, and website metrics.
Why consider Umami?
Umami collects website analytics and presents traffic, campaign, event, and conversion reports without relying on cookies. Teams can use the hosted service or run the application with their own database.
Learn Umami by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
Overview of Umami Analytics
Understanding user behavior is critical for maintaining an effective web presence, but many traditional solutions rely on heavy tracking scripts and invasive data collection practices. Umami is an open-source web analytics platform that respects user privacy. Unlike heavy commercial trackers, it focuses strictly on essential metrics and does not rely on cross-site fingerprinting, IP address storage, or persistent cookies.
Because it avoids intrusive tracking mechanisms entirely, you can typically skip the cookie banners and consent popups that clutter modern web interfaces, providing a noticeably cleaner experience for your audience while remaining compliant with common privacy regulations like GDPR and CCPA. Hosting your own instance allows you to retain full ownership and control over your visitors' analytics data. There is no third-party telemetry, ensuring your metrics stay strictly on your own infrastructure.
What Does Umami Track?
Umami gives you a focused, responsive dashboard immediately out of the box. It tracks core metrics like pageviews, visitors, bounce rate, and referrers out of the box. You can also seamlessly view a breakdown of the browsers, operating systems, devices, and countries your traffic originates from without resorting to invasive personal identification techniques.
Performance is another compelling reason to choose this platform. The entire tracking script is under 2KB, minimizing any negative impact on page load speeds. It serves as a viable drop-in replacement for Google Analytics for teams that demand lightweight, fast, and privacy-first reporting for their digital products.
Beyond simple pageviews, Umami fully supports custom event tracking. You can effortlessly track specific user interactions—such as button clicks, modal opens, or form submissions—by appending a simple data attribute to your HTML elements. It also features advanced capabilities like funnels, user journeys, retention analysis, and UTM campaign tracking to provide a comprehensive overview of your ongoing marketing efforts.
Getting Started with Self-Hosting
Setting up Umami requires a bit of technical infrastructure, but the deployment process remains straightforward thanks to containerization. Umami requires a database and officially supports PostgreSQL for data storage.
The quickest and most reliable way to get a self-hosted instance running locally or on a VPS is by using the officially provided Docker compose file, which bundles the core web application alongside an isolated PostgreSQL database.
docker compose up -dOnce the necessary containers are successfully running, the administrative dashboard becomes accessible on port 3000 by default. You can log in using the initial default administrator credentials and immediately begin adding your websites to track. The platform will automatically generate a small tracking code snippet for each site, which you simply copy and place in the <head> section of your HTML documents.
By adopting Umami, software development and operations teams can deliver actionable business intelligence to their marketing counterparts while firmly respecting their end users' fundamental right to online privacy.
Related tools
More options with a similar category or technology profile.
ActivityWatch
The leading privacy-first, open-source automated time and application tracker.
Traggo
Tag-based time tracking server with visual statistics and dashboards.
Prefect
Prefect is a Python workflow orchestration framework.
Apache Airflow
Apache Airflow is a platform for authoring, scheduling, and monitoring batch workflows as Python DAGs.