HitKeep
July 8, 2026 · View on GitHub
Privacy-first web analytics with conversion reporting, AI visibility, and optional Ask AI, self-hosted or in EU/US cloud.
HitKeep is open source web analytics for teams that want useful product reporting, conversion analytics, and AI-era search visibility without running PostgreSQL, Redis, ClickHouse, or a separate queue. It ships as a single Go binary with an embedded Angular dashboard, DuckDB storage, and in-process NSQ queueing.
Website · Live Demo · Docs · Cloud · AI Performance · API · Releases

Why HitKeep
- Low-ops self-hosting: one binary, one data directory, embedded DuckDB and NSQ — no external services to run
- Useful reports: multi-site Overview, top pages, landing and exit pages, events, goals, funnels, ecommerce, UTM attribution, QR campaigns, Web Vitals, email reports, and Google Search Console aggregates
- Privacy defaults: cookie-less tracking, Do Not Track support, and focused data collection
- AI visibility: server-side crawler fetch analytics, AI-referred visits, on-site chatbot outcomes, and correlation reports
- Ask AI: optional dashboard assistant that answers site-scoped aggregate questions with citations, small charts, and safe dashboard actions
- Team controls: passkeys, TOTP, site and team permissions, share links, audit logs, scoped API clients, and a read-only MCP analytics server
- Deployment choice: run it yourself or use managed cloud in the EU or US
Quick Start
Docker
Save this as compose.yml:
services:
hitkeep:
image: pascalebeier/hitkeep:latest
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- hitkeep_data:/var/lib/hitkeep/data
environment:
# any flag can also be set as an environment variable
HITKEEP_JWT_SECRET: replace-this-with-a-long-random-string
command:
- "-public-url=http://localhost:8080"
volumes:
hitkeep_data: {}
Then start it:
docker compose up -d
Open http://localhost:8080 and create your first account. More compose examples — including Caddy, nginx, and Traefik setups — live in examples/.
Binary
Download the latest release for your platform (hitkeep-linux-amd64 or hitkeep-linux-arm64) and run it:
curl -LO https://github.com/PascaleBeier/hitkeep/releases/latest/download/hitkeep-linux-amd64
chmod +x hitkeep-linux-amd64
export HITKEEP_JWT_SECRET="$(openssl rand -hex 32)" # keep this stable across restarts
./hitkeep-linux-amd64 -public-url="http://localhost:8080"
Open http://localhost:8080 and create your first account.
Going to production
For reverse proxies, SMTP, systemd, Kubernetes, S3 archiving, and every configuration flag, use the docs instead of this README:
Track Your Site
Create a site in the dashboard, then add the tracker to your pages:
<script async src="https://your-hitkeep-instance.com/hk.js"></script>
Send a custom event:
<script>
window.hk = window.hk || {};
window.hk.event?.("signup", { plan: "pro", source: "landing-page" });
</script>
Teams can also serve the tracker from their own verified domains, for example https://analytics.example.com/hk.js, via Team Settings → Tracking domains. DNS verification, TLS options, and ready-made Caddy, nginx, Traefik, and Helm configurations are covered in the custom tracking domains guide and examples/.
More tracking guides:
- Tracking docs
- Custom events
- Ecommerce analytics
- AI visibility analytics
- CloudFront AI crawler tracking
- WordPress integration
Product Tour
Documentation
The maintained reference lives on hitkeep.com.
- Getting started
- Installation
- Configuration
- REST API reference
- Ask AI analytics assistant
- Google Search Console integration
- AI chatbot analytics
- Read-only MCP server for web analytics
- Compliance
- Comparison pages
- Agent Skills
Cloud
If you want the same product without running it yourself, start here:
Development
The fastest way to a working contributor setup is Docker — one command starts the Go backend, Angular dashboard, Mailpit, and seeded demo data:
make dev-docker-seed
Open http://localhost:4200 and sign in with demo@example.com / demo1234.
For native builds you need Go 1.26+, Node.js 24+, Make, and a working C toolchain for DuckDB:
git clone https://github.com/pascalebeier/hitkeep.git
cd hitkeep
make build
./hitkeep
For day-to-day native development with live reload on http://localhost:4200:
make dev # Go backend + Angular dashboard
make dev-seed # the same, plus seeded demo data
Contributor docs and local development guides:
License
Distributed under the MIT License. See LICENSE.




