What actually differs,
line by line.
25 rows, no asterisks. Where something is a paid add-on somewhere else, it says so — and where GhostPane is genuinely the same as an alternative, it says that too. The last column is the free self-hosted projects on Cloudflare, because that is the honest comparison and it is better made than dodged.
| GhostPane | Google Analytics 4 | Plausible Cloud | Free self-hosted | |
|---|---|---|---|---|
| Counts pageviews an ad blocker hides | Yes, in edge mode | No | No | No |
| Shows which AI crawlers read your pages | Yes, in edge mode | No | No | No |
| Cookies required | No | Yes | No | No |
| Consent banner needed | No | Yes | No | No |
| Data sampling | Never | Above thresholds | Never | Varies |
| History kept | Unlimited | 14 months by default | Unlimited | 90 days to unlimited |
| Script size (gzipped) | 1.8 KB | ~50 KB | ~1 KB | ~1–2 KB |
| Where the data lives | Your Cloudflare account | Their servers | Your Cloudflare account | |
| Raw data export | CSV, any range | BigQuery only | CSV | Varies |
| Conversions + properties | Yes | Yes | Paid plans | Varies |
| Goals & funnels | Yes | Yes | Paid plans | No |
| Revenue per conversion | Yes | Yes | Paid plans | No |
| Saved segments | Yes | Yes | Paid plans | No |
| Stats API | Yes | Via BigQuery | Paid plans | No |
| Scheduled reports & alerts | Yes | Yes | Yes | No |
| Import GA4 history | Yes | — | Yes | No |
| Core Web Vitals | Yes | Partial | No | No |
| Video & audio engagement | Yes | Manual setup | No | No |
| Scroll depth & rage clicks | Yes | Manual setup | No | No |
| Real-time visitors | Yes | Yes | Yes | Yes |
| Self-hostable | Yes | No | Yes | Yes |
| Set up without a terminal | Yes | Yes | Yes | Varies |
| Someone to ask when it breaks | Included | Community forum | Email support | GitHub issues |
| Recurring cost | None, ever | Free, paid in data | $9–19/mo | None |
| Free tier | Yes, one site, no expiry | No | Free trial | The whole product |
The top two rows are the ones that are not a question of budget. Every other product on this page measures from a script in the browser, so a blocked script is a pageview that never happened, and a crawler — which runs no JavaScript at all — is invisible to every one of them. GhostPane runs in your own Cloudflare account, so it can count the request itself. That part needs your DNS on Cloudflare; your site can be hosted anywhere.
Counterscale, Edgemetry and Cloudflare Web Analytics, by name →
What it costs to run afterwards.
Usually nothing
It is built to fit inside Cloudflare's free tier — Workers, D1 and Durable Objects — and pageviews are counted into pre-grouped rows rather than stored one at a time, so the write budget goes a very long way.
Past roughly a million pageviews a month across all your sites, you would move onto Cloudflare's own usage pricing, which is a few dollars — paid to Cloudflare, not to me.
How this compares over time
Plausible Cloud runs about $228 a year and Fathom about $180, every year. The Team tier costs less than two years of either and then stops costing anything — and unlike both, the database stays in your account.
Prefer to do it yourself?
The whole thing deploys with one command. If you are comfortable with Wrangler and a Cloudflare API token, you do not need me at all.
One payment, then it is yours.
No subscription, no per-pageview fee, and no vendor between you and your own numbers.
20% off, applied at the checkout · runs in your own Cloudflare account · nothing reports back