Structured events, session analytics, and conversion rules that live in your repository. No cookies, no fingerprinting.
Clientlog is cookieless analytics for developers. A single script records page views, clicks, scroll depth and time on page as structured events, groups them into sessions, and classifies each session against rules you write. It sets no cookies, builds no profile across sites, and stores no IP address with your data. Your data is stored in the UK.
It tells you what happened on your own site, measured on your own terms.
Facebook pixel conversion and a Google Analytics goal cannot be reconciled. They count different things, at different moments, under different definitions. Clientlog measures both from first principles and treats product friction as a runtime bug.
Read how Clientlog supports GDPR compliant analytics, or how it compares with Google Analytics.
Add the client to your site. Page views, clicks, scroll depth and navigation are captured without further work. Custom events are a single function call. See the client reference.
Every event is enriched with browser, device and coarse location, then aggregated into a session carrying the full action sequence with timings. See events.
Your rules are JSONLogic expressions in a YAML file. A matched rule writes a tag. Tags become segments you can count, filter and be notified about.
A weekly email with referrers, landing pages, tag distribution and journey structure. The same data through the API, the CLI, or the dashboard. See reading the digest.
Your session classification lives in a YAML file in your repository,
reviewed like any other change. plan shows drift against
what is deployed. apply reconciles it.
- rule_id: pricing_visitor
tag: pricing
notification_target: email
requires_events: true
description: Visited pricing, the clearest purchase intent signal
logic:
some:
- var: events
- "==": [{var: payload.path}, "/pricing.html"]
Analytics as code: your definition of a conversion has a history, a reviewer and a test, in the same repository as the pages it measures. Read analytics rules as code or the rules documentation.
Clientlog sets no cookies, performs no fingerprinting, and builds no profile across sites. Session identifiers are generated in the browser and scoped to one site. IP addresses derive a coarse location and are then discarded.
Your data reaches an advertising platform only when you configure a server side conversion relay and nominate the destination. It is off by default.
Event payloads are whatever your site sends. Personal data in an event payload is your responsibility, and the documentation recommends against it.
Privacy and data handling · Analytics without a cookie banner
Projects are registered by hand while the product is shaped with its first users. Start with the quickstart to see what installation involves.