GhostStat vs Cloudflare Web Analytics: free counts or full answers?
Cloudflare Web Analytics is free and cookie-free, but counts only page views and visits, without events or campaigns. GhostStat keeps the privacy and adds the why. Here is an honest comparison.

Cloudflare Web Analytics is free, cookie-free and takes a minute to switch on, which makes it a popular first step away from Google Analytics. It is also deliberately simple: page views and visits, without custom events or campaign tags. This comparison of GhostStat vs Cloudflare Web Analytics shows where that simplicity is enough and where you will want more, with every claim about Cloudflare linked to Cloudflare’s own pages.
Last checked: 11 October 2026. If something here is out of date, tell us.
Cloudflare Web Analytics vs GhostStat at a glance
| GhostStat | Cloudflare Web Analytics | |
|---|---|---|
| Cookies and local storage | None | None for analytics |
| What it counts | Visitors, sessions, pageviews, events | Page views and visits; no unique visitors |
| Custom events | Yes | Not yet |
| UTM campaigns | Yes | No; query strings are not logged |
| History | Per plan, see pricing | Previous six months; detail aggregated after 7 days |
| Heatmaps, recordings, funnels | Every plan | Not offered |
| Price | Free plan; paid plans on pricing | Free |
What Cloudflare Web Analytics does well
Cloudflare’s launch post is clear about the approach: “We don’t use any client-side state (like cookies or localStorage) for analytics purposes”, Cloudflare “doesn’t track users over time via their IP address, User Agent string, or any other immutable attributes”, and the analytics are free, without limits on traffic. Instead of counting unique people, it counts page views and visits, where a visit is someone arriving from another website.
If your site already runs through Cloudflare, you can switch it on from the dashboard without touching your code. For a personal site or a small blog that only needs to know which pages are read and where traffic comes from, that is hard to beat.
Where it stops
The Web Analytics FAQ lists the limits honestly:
- No custom events yet, so sign-ups, purchases and button clicks are not counted.
- No UTM parameters: query strings are not logged, so campaign tags do not show up.
- History: you can access the previous six months; unsampled beacon data is kept for 7 days and then aggregated to around 10%, and queries may be sampled.
- Ad blockers can block the beacon, which Cloudflare acknowledges.
Its limits page adds that you can add 10 sites that are not proxied through Cloudflare; proxied sites have no limit.
The same privacy promise, with the why
GhostStat stores nothing on the visitor’s device: no cookies, no localStorage, no sessionStorage and no fingerprinting. The IP address is used in memory to look up an approximate location, then dropped; it is never written to disk. Visitors are counted with an identifier that is salted per site and rotates daily, and the data is stored in Dronten, the Netherlands. Our privacy policy lists exactly what is collected.
On top of that, GhostStat counts visitors and sessions, tracks your campaigns and events, and shows what people do on the page. Every tool is available on every plan, Free included:
- Heatmaps for clicks, scrolling and movement, per device.
- Session recordings with every form input masked by default.
- Funnels, goals, form analytics and A/B tests.
- Ecommerce, cohorts and retention.
- Visitor intelligence: intent, friction and attention per visit.
- Public stats pages and counters to share your numbers.
On the Free plan each plugin has a monthly view allowance; paid plans remove it. The live numbers are on the pricing page.
Installing each tool
If your domain is proxied through Cloudflare, Web Analytics can inject its beacon for you from the dashboard; otherwise you paste a small snippet into your pages. The FAQ notes that automatic setup only works when traffic is proxied through Cloudflare, and that single-page applications send extra data on each route change.
GhostStat is installed with one snippet before </head>; the install page in the app fills in your site key for you. It works on any host, follows route changes in single-page apps, batches events and queues them while a visitor is offline. Plugins load only on the sites where you switch them on, so a simple blog stays as light as Cloudflare’s beacon until you ask for more.
Questions to ask before you choose
- Do you need to count conversions? Without custom events, Cloudflare cannot tell you how many people signed up or bought.
- Do you run campaigns? Without UTM data you cannot see which newsletter or ad sent the traffic.
- How far back do you look? Six months is fine for a blog; a shop comparing seasons needs more.
- Do you want to see behaviour? Heatmaps, recordings and funnels explain why pages work or fail.
Trying GhostStat next to Cloudflare Web Analytics
You do not have to switch in one go. Add the GhostStat snippet next to your Cloudflare Web Analytics code, leave both running for a few weeks and compare. Numbers will differ, because each tool counts visitors in its own way, so watch the trends rather than exact totals. Switch on one or two plugins, such as heatmaps on your most important page, to see what they add. If you decide to stay with Cloudflare Web Analytics, remove the GhostStat snippet and nothing else changes on your site. Setup help is here.
Cloudflare Web Analytics or GhostStat: how to choose
Choose Cloudflare Web Analytics if you want free, cookie-free page view counts with zero setup, and you do not need events, campaigns or long history.
Choose GhostStat if you want the same cookie-free approach plus visitors, events, campaigns, heatmaps, recordings, funnels and visitor intelligence, with data stored in the Netherlands. Start free.
More comparisons: GhostStat vs Plausible, GhostStat vs Simple Analytics and the best privacy-first analytics tools.
Sources
- Cloudflare: Privacy-first web analytics
- Cloudflare: Web Analytics FAQ
- Cloudflare: Web Analytics limits
Frequently asked questions
Is Cloudflare Web Analytics cookie-free?
Yes. Cloudflare says it uses no client-side state such as cookies or localStorage for analytics. GhostStat is cookie-free too; see the privacy policy.
Does Cloudflare Web Analytics track events or UTM campaigns?
Not today. Its FAQ says custom events are not yet supported and query strings are not logged, so UTM parameters do not appear. GhostStat tracks both.
How long does Cloudflare keep Web Analytics data?
Its FAQ says you can access the previous six months, with unsampled data kept for 7 days and then aggregated. GhostStat’s history per plan is on the pricing page.
Can I use GhostStat on a site behind Cloudflare?
Yes. GhostStat is a normal script, so it works on any site, proxied through Cloudflare or not. Setup help is here.
Is GhostStat free like Cloudflare Web Analytics?
GhostStat has a Free plan for one site with every tool under a monthly view allowance, no card needed. See pricing.


