@raykolabs/analytics
v0.0.1
Published
Browser SDK for Rayko Analytics. Visitor + session tracking, autocapture, identity stitching.
Readme
@raykolabs/analytics
Browser SDK for Rayko Analytics — a self-hosted, in-house analytics platform.
PostHog-inspired data model and SDK ergonomics, zero PostHog runtime. ~13KB minified, ESM + CJS + IIFE.
Install
npm install @raykolabs/analyticsUsage
import { rayko } from "@raykolabs/analytics";
rayko.init({
apiKey: process.env.NEXT_PUBLIC_RAYKO_KEY!,
apiHost: "/ingest", // first-party proxy path
app: "my-app",
env: process.env.NODE_ENV,
cookieDomain: ".example.com",
});
rayko.page(); // pageview
rayko.track("cta_clicked", { cta: "book_demo" }); // custom event
rayko.identify(userId, { email, name }); // stitch visitor → user
rayko.group("company", companyId, { name, plan }); // B2B
rayko.reset(); // logout
rayko.optOut(); // privacyFeatures
- Visitor + session tracking — 1y cookie + sessionStorage, 30min idle window
- Identity stitching — anon → identified merge done server-side
- First-touch attribution — UTMs + landing page captured on first event, immutable
- Autocapture — clicks + form submits on
<a>,<button>,[role=button] - Pageview tracking — auto-fires on history.pushState (configurable)
- Privacy —
data-rk-no-captureopt-out,optOut()API, DNT support, masked inputs by default - Microsoft Clarity bridge — auto-tags Clarity sessions with the rayko visitor id
- Beacon flush — uses
navigator.sendBeacononpagehideso events survive tab close - Universal — Next.js, Vite, plain HTML, any modern browser
Server-side?
For server-side events (Next.js API routes, Lambda, Edge), use @raykolabs/analytics-server.
License
MIT
