Documentation
Everything you need to install vibestat and ship custom events.
1. Install the snippet
Add this to your <head> on every page you want to measure:
<script defer src="https://vibestat.app/tracker.js" data-key="wk_••••••••••••••••••••••"></script>
Options
data-key— your site write key (required).data-endpoint— override the ingestion endpoint (defaults to the script's origin +/api/collect).data-allow-local— set totrueto track onlocalhost(off by default).data-exclude-search— set totrueto drop query strings from URLs (preserves UTM tags).
2. Custom events
Track conversions, signups, clicks — anything that matters:
window.vibestat("signup_clicked", { plan: "pro" });
window.vibestat("video_completed");
document.querySelector("#cta")?.addEventListener("click", () =>
vibestat("cta_clicked", { variant: "hero-v2" })
);Event names are capped at 64 chars. Properties must be strings, numbers, or booleans.
3. Single-page apps
No setup required. The tracker patches history.pushState, history.replaceState, and listens for popstate + hashchange to fire pageviews automatically.
4. Web Vitals
LCP, FCP, CLS, INP and TTFB are sent automatically on pagehide. No extra config.
5. Self-hosting
Clone github.com/Niki92i/vibestat, set VIBESTAT_SALT_SEED, and deploy with the included Dockerfile.
6. API
All endpoints are documented in the README. Owner-token authentication via Authorization: Bearer ot_….