analyticshq

Privacy-first web analytics is almost ready. Leave your email and we will send the install snippet the moment it opens.

analyticshq vs Umami

Open source, but strictly aggregate.

Umami and analyticshq are both open-source and cookieless. The difference is where the line is drawn: Umami v3 moved toward individual-level tracking with session replay and user profiles. analyticshq rotates identity every 24 hours by default instead of monthly, and its visitor timelines are opt-in, pseudonymous and end after 30 days.

Umami vs analyticshq

Point for point.

ID rotation window Session salt rotates monthly, visit salt hourly Per-site hash rotates every 24 hours by default. A site can opt into a fixed 30-day window for visitor timelines, and the key is deleted when it ends.
Session replay & heatmaps Yes, added in v3 (replay on rrweb, heatmaps) Never. Recording individual sessions breaks aggregate-only.
Individual profiles A "Sessions" view lists and drills into individual visitors Off by default. A site owner can turn on 30-day visitor timelines: pseudonymous, per site, no cookie, no identify(), erasable per visitor.
Cross-session identity identify() stitches a user’s sessions across time No identify(), no distinct-ID stitching, by design.
Geolocation Country, region, and city Country by default, region and city opt-in. Resolved locally, IP discarded.
Open source Yes (MIT), self-hostable Yes: Postgres-native, self-hostable, Stacks-integrated.
Cookies & consent Cookieless, no banner needed Cookieless, no banner needed.

Where the two part ways.

01

Both are open source, and the philosophy is where they split

Umami and analyticshq are both MIT-spirited and self-hostable, with cookieless defaults. The difference is the ceiling: Umami now offers individual-level tracking, analyticshq refuses to build it.

02

Aggregate by default, bounded by design

Umami v3 shipped session replay, heatmaps, individual visitor profiles, and identify() user stitching. analyticshq will never add replay, heatmaps or identify(). Its visitor timelines are off until a site owner turns them on, and even then an id cannot outlive 30 days.

03

A tighter identity window

Umami’s session salt rotates monthly. analyticshq rotates its per-site hash every 24 hours unless a site opts into timelines, so by default activity cannot be linked across days. Opted in, the window is a fixed block with its key deleted at the end.

24h
Default ID rotation window, versus Umami’s monthly session salt.
0
Session recordings, heatmaps, or individual profiles. Ever.
Country
Geo granularity by default. Region and city are opt-in per site.

Aggregate by principle, not by default.