25 SIGNALS. EVERY DATA POINT THAT MATTERS.

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.

01 — Core Tracking

Pageview

URL, referrer, UTM params, viewport size. Fires on navigation including SPA route changes.

Heartbeat

Fires every 15s while the page is active. Measures true time-on-page, not just load time.

02 — User Behavior

Scroll Depth

Fires at 25%, 50%, 75%, 90%, and 100% scroll milestones. One event per threshold per page load.

Click

Records element text, tag, href, and coordinates. Powers heatmap overlays. Throttled for performance.

Tab Visibility

Tracks when users switch tabs or minimize the browser. Deducts from engaged time calculations.

03 — Web Vitals

LCP

Largest Contentful Paint — measures perceived load speed. Threshold: <2.5s good, >4s poor.

FCP

First Contentful Paint — first pixel rendered. Early indicator of server response time.

TTFB

Time to First Byte — server response speed. Critical for SEO and perceived performance.

CLS

Cumulative Layout Shift — visual stability score. Penalized by Google Core Web Vitals.

04 — Performance

Perf Timing

Full Navigation Timing API data: DNS, TCP, request, response, DOM interactive, load event.

Tech Specs

Device memory, CPU cores, connection type, screen resolution, pixel ratio, browser, OS.

Ad Blocker

Detects ad blocker presence without being blocked itself. Reports blocker rate per site.

05 — Forms & Engagement

Form Start

Fires when a user first interacts with a form. Tracks which field was first touched.

Form Abandon

Fires when a user stops interacting with a form without submitting. Includes field-level data.

06 — Identity & Privacy

Identify

Optional: attach known user IDs to sessions after explicit consent. `__galor.identify(userId)`.

Consent State

Tracks consent grant/deny events from `__galorConsent.grant()` and `.deny()`. GDPR audit trail.

JS Error

Unhandled JS exceptions with message, filename, line, column. Surface frontend bugs automatically.

07 — Revenue & Custom

Revenue Event

`__galor.revenue({ amount, currency, orderId })` — ties Stripe/Paddle webhooks to user sessions.

Custom Event

`__galor.track(name, props)` — send any event with arbitrary metadata. Queryable in ClickHouse.

Heatmap Click

Enriched click coordinates normalized to element position for cross-viewport heatmap overlay.

Lead Score

Server-side scoring: time-on-site, scroll depth, page count, form interactions. Updated every heartbeat.

Bot Flag

Server-side: 58+ patterns including headless browsers, AI crawlers, known bots. Never stored in analytics.

AI Referral

Detects traffic from ChatGPT, Perplexity, Claude, Gemini, and other AI sources by referrer patterns.

Ghost Visit

Sessions with no engagement signals (0 scroll, 0 clicks, 0 heartbeats) — likely bots or crawlers.

25 SIGNALS. €49/MO.

START FREE TRIAL →