Web analytics that answer
to you, not to an ad network.
One script tag. Every number lands in a database inside your own Cloudflare account — goals, funnels, revenue and real-time included, because there is no plan to be on.
Free for one site, with no expiry and no card. Paid tiers from
$99 $79 when you outgrow it — the installer re-runs against the same
database, so you keep every row.
Everything on one screen, in one query.
No report builder, no segments to define before you can see anything. Visitors, sources, countries and conversions arrive together, because they were counted together.
Those numbers are illustrative. Here is this site's own dashboard, live and public — the same screen you get, with our real traffic in it.
Most analytics make you pay twice.
Once in page weight, and again in liability — a consent banner, a data-processing agreement, and a copy of your visitors in someone else's warehouse. This removes both.
No cookie, so no banner
Visitors are recognised by a salted hash that is regenerated every day and never stored. Nothing is written to the device, so in most jurisdictions there is nothing to ask consent for.
Your database, your rows
Everything lands in a D1 database in your own Cloudflare account. Export it as CSV at any time, or query it with SQL. There is nothing to migrate away from.
Every number is a real number
No sampling, ever, and bots are filtered at the edge before they are counted — so a busy month and a quiet one both tell you the truth.
Everything it measures → How the counting works → Next to GA4, Plausible and the free options →
Every analytics tool waits
for a browser to cooperate.
A tracking script only counts once the page has loaded and the script was allowed to run. GhostPane can also count the request itself — because it runs in your Cloudflare account, it can sit in front of your site rather than inside the page.
Blocked scripts still count
The pageview is recorded as the HTML is requested, so an ad blocker has nothing to block. You also get the size of the gap: how many visits your script alone was missing, measured on your own traffic rather than quoted as an industry average.
See the AI crawlers reading you
No crawler runs JavaScript, so no script-based product has ever been able to show you one. GhostPane names them — ChatGPT, Claude, Perplexity and the rest — and separates harvesting for training from a live read, where someone has just asked an assistant about that page.
And which pages earn traffic back
The crawls sit next to the visits each page brought in from an assistant, so you can see what was read and never cited. Failed crawls are counted separately — an AI crawler spending its budget on your 404s is a fact you can act on.
This needs your domain's DNS on Cloudflare. Your site itself can be hosted anywhere — a VPS, Vercel, shared hosting — because Cloudflare is already the proxy in front of it and this adds nothing to the page. If your DNS is elsewhere, the tag keeps working exactly as it does for everyone else.
It runs alongside the tag rather than replacing it. Engagement time, bounce rate, single-page-app navigation and your custom events only exist in a browser, so the tag is what reports them — while a pageview both see is counted once, never twice. You can drop the tag and run on the request path alone if you want zero client-side JavaScript; pageviews, visitors and every breakdown carry on, and bounce and duration go quiet.
Four steps, about two minutes.
Nothing to install on your machine, no terminal, no repository to clone. The wizard talks to Cloudflare's API on your behalf and shows you every step as it happens.
Pay
Card or wallet, through Polar — the merchant of record, so VAT is charged correctly for your country and you get a proper invoice. Your licence key arrives immediately.
Connect Cloudflare
Paste a Cloudflare API token. The wizard lists the accounts it can reach so you never have to find an account id, and the token is used for this run only — never stored, never logged.
Watch it build
Database, schema, your login, the Worker, your domain and edge rate-limiting — each step reported as it completes. Every step is repeatable, so a hiccup means "run it again".
Add one tag
Paste the snippet below into your site and the dashboard starts filling up. That is the only thing that touches your own codebase.
<script defer data-site="YOUR_SITE_KEY" src="https://ghostpane.com/gp.js"></script>
One payment. Then it is yours.
GhostPane is software you run, not a service you rent. Buy it and the setup wizard installs it into your own Cloudflare account in about two minutes — you keep the account, the data and the domain, and there is nothing to run on your own machine.
Free
$0 · forever, not a trialBetter than the free ones on GitHub — edge mode included — and it upgrades in place. One site, unlimited history, and no card — the paid features are absent from the build rather than dangled behind a nag.
- Runs in your Cloudflare account
- Set up in about two minutes, no terminal
- Pageviews, visitors, bounce and engagement time
- Every breakdown, real-time, and custom events
- Edge mode — count the visitors a script never sees
- Unlimited history — nothing expires
- Upgrade later without losing a row of data
Single site
A blog, a shop, one product site.
Save $20 at the checkout
One site
- Runs in your Cloudflare account
- Set up in about two minutes, no terminal
- Your own domain, configured for you
- Import your Google Analytics history
- 30 days of setup support
Team
A business running a few properties.
Save $80 at the checkout
Up to five sites
- Runs in your Cloudflare account
- Set up in about two minutes, no terminal
- Your own domain, configured for you
- Import your Google Analytics history
- Team accounts with per-site access
- Public dashboards for clients or stakeholders
- 60 days of setup support
Agency
You run sites for other people.
Save $250 at the checkout
Unlimited sites
- Runs in your Cloudflare account
- Set up in about two minutes, no terminal
- Your own domain, configured for you
- Import your Google Analytics history
- Unlimited sites, added yourself at any time
- Team accounts with per-site access
- White-labelled — your name on it, not mine
- 90 days of setup support
30 days to change your mind. Email and you are refunded in full, no reason needed — how refunds work. Or start on the free tier and pay nothing until you have seen it working on your own site.
No subscription, no per-pageview fees, no renewal — the same software either way; the tier only sets how many sites it is set up for.
The four people ask first
Do I need a cookie consent banner for this?
In most jurisdictions, no. Consent rules like the EU's ePrivacy Directive are triggered by storing or reading information on someone's device. GhostPane stores nothing on the device — no cookie, no localStorage, no fingerprint. Data protection law still applies to the processing itself, and you remain the controller for it, so check your own position if you have a specific obligation.
How does it count unique visitors without a cookie?
It hashes the visitor's IP address and user-agent together with a secret salt that is different for every site and regenerated every day. The salt is derived at the moment of use and never stored, and the raw IP address is never written anywhere. Within a day the same person produces the same id, so sessions and unique counts are real. Across days the salt has changed, so the ids cannot be linked.
Why does my visitor count look different from Google Analytics?
Two reasons, and both mean GhostPane is closer to the truth. It counts a returning visitor once per day rather than linking them across weeks, because the identifier is deliberately re-salted daily. And it filters bots at the edge using Cloudflare's network-level signals before anything is stored, which typically removes traffic GA never noticed.
What does it actually cost to run?
For most sites, nothing. It runs entirely inside Cloudflare's free tier: Workers, D1 and Durable Objects. Because pageviews are counted into pre-grouped rows rather than stored one by one, a busy site writes a fraction of the rows you would expect. There is no per-pageview fee because there is no vendor in the middle.
Your visitors. Your database. Your call.
Start on the free tier, paste a Cloudflare token, and the dashboard is yours a couple of minutes later — running in your account, with nothing reporting back to me.
Free tier, no card · no recurring charge · no data leaves CloudflareQuestions, or something unusual?
The tiers above set themselves up — buy one and you are running in a couple of minutes. Use this instead if you want it white-labelled, have something unusual to migrate, or would simply rather I did the install for you. I read everything that arrives here.
Thanks — that's arrived.
I read every one of these myself and will reply to you directly, usually within a day.