Analytics that respect your visitors.
Monoid gives you useful traffic insights with a tracker designed to avoid cookies, browser storage, and persistent visitor profiles.
Why Monoid?
No tracker cookies, no browser storage, no fingerprinting, and no raw IP or User-Agent stored. Designed to reduce consent friction while keeping your own compliance obligations clear.
Drop a single async script tag into your <head> — or use the no-JS tracking pixel for static emails and JS-disabled environments. No npm package, no build step.
Runs on globally distributed edge infrastructure. Visitor identifiers are minimized at the collection layer before analytics rows are stored.
Unique visitors are counted with a one-way hash that includes the date, so the same visitor is not given a stable cross-day identifier.
See a live visitor feed, pageviews, average time on site, top pages, countries, devices, referrers, and custom events. Everything you need, nothing you don't.
Start on the free plan when slots are available. Paid plans are straightforward with no per-seat fees or hidden costs.
How it works
Paste one <script> tag in your site's <head>. Works with any stack — static sites, Next.js, WordPress, or raw HTML. Prefer no JavaScript? Use the tracking pixel instead.
Each pageview is collected at a nearby edge location. The visitor hash is computed and the raw IP is discarded immediately.
Open your Monoid dashboard and see real-time traffic — including who is active right now. No 24-hour delay, no sampling, no data held hostage behind a paywall.
Technical transparency
Monoid runs on serverless edge compute with an embedded SQL datastore, with transactional email and paid subscriptions handled by managed services. The analytics pipeline stays small: collection, minimization, storage, and dashboard reads.
Unique visitors are counted using SHA-256(IP + User-Agent + SALT + YYYY-MM-DD). The daily date in the input makes the identifier change every midnight UTC, so a visitor from yesterday is not assigned the same stored identifier today.
Country and device type are derived at the edge from coarse request metadata and the User-Agent string respectively. Neither the IP nor the full User-Agent is ever written to the database.
The tracker is a small, dependency-free vanilla JavaScript file. It sends one POST request per pageview, reports page duration on route changes and page unload, exposes window.monoid('event', name, value) for manual custom events, and optionally auto-tracks clicks and form submissions via data-autotrack="true" — without ever reading field values. For environments where JavaScript cannot run, the GET /pixel.gif endpoint accepts a site ID, path, and optional referrer as query parameters and returns a 1×1 transparent GIF — zero client-side code required.
No credit card · No tracker cookies · No raw IP storage