No cookies · No fingerprinting · No profiles
Analytics without
the surveillance.
Rational Metrics shows you what's actually working on your site: pageviews, sources, top pages, countries. No cookies, no consent banner, no profile that follows anyone around.
Free forever up to 10,000 views/mo · No credit card
How it works
Three steps. No tag manager required.
Drop in one line
Add a single 2KB script tag. No npm package, no build step, no configuration. SPA route changes and custom events work out of the box.
We count, we don't track
Each request becomes a salted, daily-rotating hash. No cookies, no profiles, no cross-site identifiers. Nothing that outlives the day.
Read the room
A clean dashboard with the numbers that matter: traffic over time, where it came from, your top pages, and country-level geography.
<!-- one tag, every page -->
<script defer data-site="YOUR_SITE_ID"
src="https://metrics.app/script.js"></script>Privacy by construction
Privacy you can
actually verify.
Most “privacy-friendly” analytics still quietly build a profile of your visitors. We don't. Here is exactly how a visitor is counted, in full:
- The raw IP is used only to compute the hash and look up a country. It is never written to disk.
- The salt rotates every day, so yesterday's visitors can't be re-identified today.
- No cookies, no localStorage, no fingerprinting. Query strings are stripped from every path.
visitor_id = sha256( daily_salt + site_id + ip_address // hashed, not stored + user_agent )
Not stored: IP, name, email, cookie, device ID.
What you get
Small script. Serious analytics.
One script, every page
SPA route changes are tracked automatically, with no manual pageview calls in your router.
Custom events
Call window.rm('signup') to track conversions and goals. No tag manager, no bloat.
Multi-site & teams
Organizations, roles, and site groups. Manage every property your team owns in one place.
Country-level geo
Region derived from request headers. Accurate enough to be useful, never precise enough to track.
Known bots filtered
Self-identifying crawlers, spiders, and uptime monitors are dropped before they count. Bots that pose as real browsers can still slip through, and we won't fingerprint to chase them.
Soft limits
Hit a plan cap and we still count every event. Ingest is never blocked, so you never lose data.
You own retention
Keep your data from six months to five years depending on plan, then it's pruned automatically.
Insights
AI that isn't allowed to guess.
Most analytics tools now bolt a chatbot onto the dashboard and let it improvise. Ours works the other way round: the numbers are settled before a model sees them.
It stays quiet unless something real happened
Every finding clears a volume floor and a 99% significance test before it is reported. A slow week reads as a slow week instead of a manufactured trend.
The model explains, it doesn't calculate
Every figure is computed from your own data first. Generated prose is then checked number by number against it. Anything we didn't measure is thrown away rather than printed.
Findings go to OpenAI to be written up: site names, counts, referring domains. Never anything about a person, because we don't hold anything about a person. Switch it off in settings and the analysis keeps working.
On every plan, including Free.
Engagement fell to 31% on acme.com
Down from 46% in the previous period.
↑ Measured · 412 pageviews vs 388 prior
What to do
Compare the pages that previously held attention against this period, and roll back any recent layout or content change on the ones that slipped.
↑ Written by the model · from the figures above
Client reports
Something to send, not another login.
Your client doesn't want a tour of a dashboard. They want to know how the month went. Publish a report at its own address and send them the link.
One site, one month, one page. No account to create and nothing to install. It reads properly on a phone, and printing it gives you the PDF if that is what the relationship runs on.
The figures are frozen the moment you publish, so the document can't quietly change after you've sent it. Regenerate and the same link updates. Revoke and it stops resolving.
Every report ends by explaining how the numbers were collected, to someone who has never heard of us. Your privacy argument arrives with the work, already made.
On Growth and Scale.
Traffic report
acme.com
June 2026 · prepared by Northsound Studio
Pageviews
12,480
+18.2% vs May
Visitors
8,301
+12.4% vs May
Engagement
46.1%
−2.1% vs May
In short
Traffic grew steadily through the month, with most of the gain arriving from search rather than referrals. Engagement slipped slightly against a larger audience, which is normal at this rate of growth.
Collected without cookies, without local storage, without fingerprinting. No personal data is stored.
Pricing
Honest pricing. No surprises.
Start free, upgrade when you outgrow it. Every plan includes the full dashboard and AI insights. Growth adds client reports and the read API.
Starter
or $90/yr, two months free
- Pageviews / mo
- 100K
- Sites
- 10
- Data retention
- 1 year
- Client reports
- No
- Read API + MCP
- No
Growth
or $290/yr, two months free
- Pageviews / mo
- 1M
- Sites
- 10
- Data retention
- 3 years
- Client reports
- Included
- Read API + MCP
- Included
Scale
or $590/yr, two months free
- Pageviews / mo
- 5M
- Sites
- 50
- Data retention
- 5 years
- Client reports
- Included
- Read API + MCP
- Included
Free
free forever
- Pageviews / mo
- 10K
- Sites
- 1
- Data retention
- 6 months
- Client reports
- No
- Read API + MCP
- No
Stop asking permission
to count.
Set up your first site in under five minutes. No credit card, no consent banner, no profiles.