Privacy first · Edge native · Cookie free

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?

🔒
Built for privacy-first sites

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.

One line of code

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.

🌍
Edge-native, globally fast

Runs on globally distributed edge infrastructure. Visitor identifiers are minimized at the collection layer before analytics rows are stored.

🕵️
Daily visitor hashing

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.

📊
Actionable, not overwhelming

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 free, scale as you grow

Start on the free plan when slots are available. Paid plans are straightforward with no per-seat fees or hidden costs.

How it works

1
Add the snippet

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.

2
Data flows to the edge

Each pageview is collected at a nearby edge location. The visitor hash is computed and the raw IP is discarded immediately.

3
View your dashboard

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.

Get started free →

No credit card · No tracker cookies · No raw IP storage