Side by side

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.

 GhostPaneGoogle Analytics 4Plausible CloudFree self-hosted
Counts pageviews an ad blocker hidesYes, in edge modeNoNoNo
Shows which AI crawlers read your pagesYes, in edge modeNoNoNo
Cookies requiredNoYesNoNo
Consent banner neededNoYesNoNo
Data samplingNeverAbove thresholdsNeverVaries
History keptUnlimited14 months by defaultUnlimited90 days to unlimited
Script size (gzipped)1.8 KB~50 KB~1 KB~1–2 KB
Where the data livesYour Cloudflare accountGoogleTheir serversYour Cloudflare account
Raw data exportCSV, any rangeBigQuery onlyCSVVaries
Conversions + propertiesYesYesPaid plansVaries
Goals & funnelsYesYesPaid plansNo
Revenue per conversionYesYesPaid plansNo
Saved segmentsYesYesPaid plansNo
Stats APIYesVia BigQueryPaid plansNo
Scheduled reports & alertsYesYesYesNo
Import GA4 historyYes—YesNo
Core Web VitalsYesPartialNoNo
Video & audio engagementYesManual setupNoNo
Scroll depth & rage clicksYesManual setupNoNo
Real-time visitorsYesYesYesYes
Self-hostableYesNoYesYes
Set up without a terminalYesYesYesVaries
Someone to ask when it breaksIncludedCommunity forumEmail supportGitHub issues
Recurring costNone, everFree, paid in data$9–19/moNone
Free tierYes, one site, no expiryNoFree trialThe 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 →

The money

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