Pageview
URL, referrer, UTM params, viewport size. Fires on navigation including SPA route changes.
7 categories // privacy-first by design
Galor's tracker captures 25 distinct signals in a single <13KB script. No cookies by default. Every signal serves a purpose — no vanity metrics, no noise.
URL, referrer, UTM params, viewport size. Fires on navigation including SPA route changes.
Fires every 15s while the page is active. Measures true time-on-page, not just load time.
Fires at 25%, 50%, 75%, 90%, and 100% scroll milestones. One event per threshold per page load.
Records element text, tag, href, and coordinates. Powers heatmap overlays. Throttled for performance.
Tracks when users switch tabs or minimize the browser. Deducts from engaged time calculations.
Largest Contentful Paint — measures perceived load speed. Threshold: <2.5s good, >4s poor.
First Contentful Paint — first pixel rendered. Early indicator of server response time.
Time to First Byte — server response speed. Critical for SEO and perceived performance.
Cumulative Layout Shift — visual stability score. Penalized by Google Core Web Vitals.
Full Navigation Timing API data: DNS, TCP, request, response, DOM interactive, load event.
Device memory, CPU cores, connection type, screen resolution, pixel ratio, browser, OS.
Detects ad blocker presence without being blocked itself. Reports blocker rate per site.
Fires when a user first interacts with a form. Tracks which field was first touched.
Fires when a user stops interacting with a form without submitting. Includes field-level data.
Optional: attach known user IDs to sessions after explicit consent. `__galor.identify(userId)`.
Tracks consent grant/deny events from `__galorConsent.grant()` and `.deny()`. GDPR audit trail.
Unhandled JS exceptions with message, filename, line, column. Surface frontend bugs automatically.
`__galor.revenue({ amount, currency, orderId })` — ties Stripe/Paddle webhooks to user sessions.
`__galor.track(name, props)` — send any event with arbitrary metadata. Queryable in ClickHouse.
Enriched click coordinates normalized to element position for cross-viewport heatmap overlay.
Server-side scoring: time-on-site, scroll depth, page count, form interactions. Updated every heartbeat.
Server-side: 58+ patterns including headless browsers, AI crawlers, known bots. Never stored in analytics.
Detects traffic from ChatGPT, Perplexity, Claude, Gemini, and other AI sources by referrer patterns.
Sessions with no engagement signals (0 scroll, 0 clicks, 0 heartbeats) — likely bots or crawlers.