All comparisons

Witnes vs Umami

Two cookieless, privacy-focused analytics platforms. Umami is a developer favourite built on simplicity. Here's an honest look at what each one does well.

Overview

Simple by design vs. depth by design

Umami is one of the most respected tools in the open-source analytics space. MIT-licensed, free to self-host, and built around a clean and minimal interface, it's the go-to choice for developers who want a Google Analytics replacement without the complexity. Version 3.1 added session replay, Core Web Vitals tracking, and custom dashboards ("Boards"), showing that the project is maturing fast.

Witnes takes a different starting point: rather than a minimal traffic counter that grows, it was designed from the beginning around the question of experience quality. That means going beyond page load metrics into animation smoothness, perceived idle time, and a per-visit sentiment score — as well as a first-class concept of the organisation a visitor belongs to, which matters a lot for B2B SaaS products.

Feature comparison

Feature Witnes Umami
Analytics & Traffic
Pageviews & session tracking
Unique visitor counting
Bounce rate & session duration
Real-time dashboard
Geo analytics (country, region)
UTM & referrer tracking
Entry & exit pages
Performance Monitoring
Core Web Vitals (LCP, FCP, CLS) v3.1
INP (Interaction to Next Paint) v3.1
Request-to-idle timing
Animation jank tracking
Per-session performance breakdown
User Intelligence
Custom events
User identification (identify())
Per-organisation analytics (B2B orgId)
Visitor session detail
Session replay (video) v3.1
Conversion funnels
Custom dashboards v3.1
A/B testing & feature flags
Experience Signals
Sentiment score per visit
Bad experience detection (frontend / network / backend)
Privacy & Compliance
Cookieless tracking
No consent banner required
GDPR compliant
EU data residency Self-host only
Platform
JavaScript tracker (<5KB)
Error tracking
Revenue tracking
Self-hostable
Open source
Team collaboration
API access

— means not currently available. Information based on publicly available documentation.

Where Witnes shines

Traffic data is a start. Experience data is the point.

Umami tells you who showed up. Witnes tells you what they went through — and which of your customers it was.

Performance signals Umami doesn't track

Umami added Core Web Vitals in v3.1 — a solid baseline. Witnes goes further: how long until the page was truly idle, how many animation frames dropped, and whether content settled smoothly. These signals are what matter for SPAs where the browser's load event fires before the page is actually ready.

Sentiment Score — one signal across all dimensions

Instead of checking metrics one by one, Witnes gives every visit an automatic experience classification: good, neutral, or degraded. It combines performance, frontend errors, and network conditions into a single signal. Track sentiment trends over time without building your own logic.

B2B analytics: analytics by customer, not by visitor

Umami's identify() ties sessions to individual users. Witnes adds a first-class orgId layer so you can filter every metric — sentiment, performance, errors — by the customer organisation. Which accounts are struggling this week? Which plan tier has the worst experience scores? Umami can't answer those questions.

Get started

Traffic numbers tell you who visited. Witnes tells you what they felt.

Sentiment scores, jank detection, request-to-idle timing, and B2B org analytics — the layer between "someone visited" and "someone had a great experience."