OpenAltFinder
Umami

Umami

Privacy-first web and product analytics with traffic, funnels, retention, journeys and revenue, all without cookies.

Umami is an open-source, privacy-first analytics platform covering the whole funnel: acquisition, behaviour, conversion, and revenue. Traffic reports show pageviews, visitors, referrers, locations, devices, and real-time activity, while UTM campaigns, trackable links, and pixels show which channels bring people in. Behaviour goes past pageviews with custom events, journeys, session replays, heatmaps, segments, cohorts, and retention, and conversion reporting adds goals, funnels, and attribution. Events can carry values, so the revenue report can tie income back to specific pages, campaigns, and visitor segments.

Analysis is organised around reusable views. Boards let you arrange focused dashboards of metrics and charts, annotations pin dated notes such as launches or campaign starts onto the timeline, and compare and performance reports break numbers down by page, channel, or device. Teams share a workspace with roles, websites can be shared publicly through a share URL, and two-factor authentication is available once an encryption key is configured. Data collection uses a small tracker script with no cookies, no cross-site tracking, and no automatic collection of personal data, so a consent banner is not usually required.

Everything the UI does is also reachable programmatically. Account API keys gate a REST API and a typed TypeScript client published as @umami/api-client, generated from OpenAPI contracts, with website-scoped endpoints for analytics queries, saved funnels and goals, performance, UTM metrics, and annotations. Since v3.4 the platform also ships an MCP server, wrapping traffic, events, sessions, funnels, goals, journeys, retention, attribution, revenue, performance, segments, and annotations as read-only tools for AI assistants, over a remote HTTP endpoint or locally through @umami/mcp.

Self-hosting runs on Node.js 18.18 or newer against a PostgreSQL 12.14 or newer database, with official Docker images and a Compose file that brings up the app and database together. Schema migrations run during the build, and the first build creates an admin user with the default password umami, which should be changed immediately. Umami Cloud is the managed alternative with backups, updates, and scaling handled for you, and the feature set is otherwise the same.

Frequently Asked Questions

How does Umami track visitors without cookies?

The tracker script sends pageviews and events to your own Umami instance, and sessions are derived server-side from the request rather than from a cookie. No cross-site identifiers are created and no personal data is collected automatically, which is why a consent banner is usually unnecessary. If you need to recognise returning visitors, you can set a distinct ID yourself with the data-distinct-id attribute, and Umami treats that as data you chose to send.

What can the tracker collect besides page views?

The tracker supports custom events with properties, outbound link and file-download tracking, tagged events, and tracking pixels, and it exposes functions such as track, identify, and pageview for scripted use. Events can carry numeric values, which feed the revenue report. Server-side collection is also possible through the send API, so you can record conversions that never happen in a browser.

Does Umami have an API or an MCP server?

Yes to both. Account API keys created under Settings grant access to the REST API, and the typed client @umami/api-client is generated from Umami's OpenAPI contracts with request and response types plus structured errors. Since v3.4 there is also an MCP server: the /mcp endpoint is disabled by default and enabled with MCP_ENABLED=1 on self-hosted installs, and @umami/mcp provides a local stdio server. Its tools are read-only and respect existing user and team permissions.

What are the system requirements to self-host Umami?

You need Node.js 18.18 or newer and PostgreSQL 12.14 or newer, plus a reverse proxy if you want it on port 80 or 443. The official Docker image and Compose file bundle the app with a PostgreSQL database, which is the quickest route. Migrations run as part of the build, and that first build also creates an admin account with the default password umami that you should change right away.

How do teams and sharing work in Umami?

Teams group users around websites with roles, and a team can be joined through an invite code, so several people can work in one workspace without sharing a login. Individual websites can also be exposed read-only through a share URL that needs no account, which is handy for clients or public dashboards. Boards add saved dashboard layouts per user, and two-factor authentication becomes available once TWO_FACTOR_ENCRYPTION_KEY is set.

OpenAltFinder Score
94/100
Project Health (50%)
88/100
License (20%)
100/100
Self-hostable (20%)
100/100
Recency (10%)
100/100
How scoring works
Project Details
Platforms
Web
License
MIT
Self hostable
Yes
Repository details
Version
v3.4.1
Created
7/17/2020
Stars
40,040
Forks
8,518
Open issues
156
Last commit
11/10/2026

Updated 11/10/2026, 5:01:25 PM

View Repository
Repository activity

Get the latest open source alternatives delivered weekly.
Discover tools that give you freedom from proprietary software.

Similar open source alternatives