Analytics > HitKeep
Privacy-first web analytics with goals, funnels, ecommerce tracking, and team management in a single binary with embedded DuckDB (alternative to Google Analytics, Plausible, Umami). (Source Code) MIT Go/Docker
HitKeep
Privacy-first web analytics you can self-host or run in managed EU/US cloud.
HitKeep is an open source web analytics platform built for people who want a simpler stack than the usual PostgreSQL, Redis, ClickHouse, and reverse-proxy pileup.
- Single binary runtime
- Embedded DuckDB and NSQ with batched ingest writes
- Privacy-first tracking
- Goals, funnels, ecommerce, AI visibility, AI chatbot analytics, email reports, and API clients
- Self-hosted or managed cloud with EU/US region choice
Website · Cloud · Live Demo · Docs · API · Releases

Why HitKeep
HitKeep is for teams that want product analytics without adopting a full analytics platform stack.
- Simple to run: one binary, one data directory, no external database required
- Efficient write path: NSQ buffers ingest bursts and DuckDB appender batches smooth out disk-heavy per-row inserts
- Privacy-first by default: cookie-less tracking, Do Not Track support, focused data collection
- Useful out of the box: traffic analytics with countries/languages audience toggles, top/landing/exit page views, custom events, goals, funnels, ecommerce, UTM attribution, and scheduled email reports
- Ready for modern discovery: AI visibility analytics for server-side AI crawler fetches and downstream AI-referred visits, plus on-site AI chatbot analytics built on structured custom events
- Built for teams: passkeys, TOTP, site and team permissions, API clients, share links, and audit visibility
- Flexible deployment: self-host it yourself or use HitKeep Cloud and still keep the migration path open
Quick Start
Binary
Download the latest release for your system:
wget https://github.com/PascaleBeier/hitkeep/releases/latest/download/hitkeep-linux-arm64
chmod +x hitkeep-linux-arm64
export HITKEEP_JWT_SECRET="replace-this-with-a-long-random-string"
./hitkeep-linux-arm64 -public-url="http://localhost:8080"
Open http://localhost:8080 and create your first account.
Docker
services:
hitkeep:
image: pascalebeier/hitkeep:latest
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- hitkeep_data:/var/lib/hitkeep/data
environment:
HITKEEP_JWT_SECRET: replace-this-with-a-long-random-string
command:
- "-public-url=http://localhost:8080"
volumes:
hitkeep_data: {}
docker compose up -d
For production setup, reverse proxies, SMTP, systemd, Kubernetes, S3 archiving, and every configuration flag, use the docs instead of this README:
Tracking Snippet
Once your instance is running and a site is created, add:
<script async src="https://your-hitkeep-instance.com/hk.js"></script>
Custom event example:
<script>
window.hk = window.hk || {};
window.hk.event?.("signup", { plan: "pro", source: "landing-page" });
</script>
Tracker options, ecommerce events, custom events, and advanced tracking examples live here:
Product Tour
See more screenshots
Comparison

Events

Goals

Funnels

Ecommerce

AI Chatbots

AI Visibility

AI Visibility Correlation

Email Reports

API Clients

Create Team

Admin Users

Team Overview

Documentation
The maintained reference lives on hitkeep.com.
- Getting started
- Installation
- Configuration
- REST API reference
- Compliance
- Privacy policy for cloud
- Terms of service
- Comparison pages
Cloud
HitKeep Cloud is live.
If you want the same product without running it yourself, start here:
Development
Prerequisites:
- Go 1.26+
- Node.js 24+
- Make
- A working C toolchain for DuckDB builds
Build from source:
git clone https://github.com/pascalebeier/hitkeep.git
cd hitkeep
make build
./hitkeep
For day-to-day development:
make dev
This starts the Go backend with live reload and the Angular dashboard on http://localhost:4200.
For a seeded local workspace with demo data:
make dev-seed
Contributor docs and local development guides:
License
Distributed under the MIT License. See LICENSE.