# fivebar vs Cloudflare Web Analytics

Cloudflare Web Analytics is free and good on speed. fivebar counts what happened once the page loaded: goals, campaigns, errors, and how long people stayed.

Neither [needs cookies](https://www.cloudflare.com/web-analytics/). For speed alone, Cloudflare goes deeper than fivebar. Beyond speed, it counts [visits and pageviews](https://developers.cloudflare.com/web-analytics/data-metrics/high-level-metrics/), and [where they came from](https://developers.cloudflare.com/web-analytics/data-metrics/dimensions/), and the browser, device and country they were in.

## Goals and campaigns

Cloudflare counts no goals or events: asked whether it supports custom events, [its FAQ says](https://developers.cloudflare.com/web-analytics/faq/) “Not yet”. It doesn’t log query strings either, so a link’s `utm_` tags are lost. fivebar counts [goals](https://fiveb.ar/docs/goals.md) and [events](https://fiveb.ar/docs/events.md) with their properties, sign-ups and purchases among them, and groups every visit into [channels](https://fiveb.ar/docs/sources-and-campaigns.md), by its source and its campaign tags: Organic Search, Email, AI Assistants and the rest.

![fivebar’s Channels for djangodocs.dev: Direct, Organic Search, AI Assistants and Organic Social, with each one’s pageviews](https://fiveb.ar/img/vs/channels-light.webp?v=3f75fbf4)

djangodocs.dev’s visits by channel, from 22 September to 18 October 2026, AI Assistants among them.

## Every visitor, every time

[Since October 2025](https://blog.cloudflare.com/the-rum-diaries-enabling-web-analytics-by-default/), Cloudflare switches Web Analytics on itself for sites on its Free plan, [with EU traffic left out](https://developers.cloudflare.com/speed/observatory/rum-beacon/): visits through its data centres in the EU and the EEA, the UK and Switzerland. A site that never changed the setting sees none of them. Beyond seven days, [its figures are sampled](https://developers.cloudflare.com/web-analytics/faq/), from a store cut to about a tenth, and it keeps six months.

fivebar counts visitors from every country, samples nothing, and keeps the counts until you delete the site.

## The bots it left out

Cloudflare has a filter to [exclude bots](https://developers.cloudflare.com/web-analytics/data-metrics/dimensions/), without saying how it finds them, and no report of what it found. fivebar counts everything it leaves out on a [Bots page](https://fiveb.ar/docs/bots.md): how many pageviews, which pages, which networks, and why each was taken for a bot, by rules its docs set out.

![fivebar’s Bots page for djangodocs.dev: 94 pageviews taken for bots, 30% of them all, by day, and why: a hosting network, an automated browser or a crawler](https://fiveb.ar/img/vs/bots-light.webp?v=af2f5515)

Nearly a third of djangodocs.dev’s pageviews that week were bots’, most of them from servers.

## Pages that fail

To Cloudflare, [a pageview](https://developers.cloudflare.com/web-analytics/data-metrics/high-level-metrics/) is a successful response, and Web Analytics has no report of the rest. Chrome, Edge and Firefox tell fivebar’s script the status of every page they load, so the [Errors page](https://fiveb.ar/docs/error-pages.md) fills itself: which addresses fail, how often, and where their visitors came from, which is how a broken link shows up.

## How long they stayed

Cloudflare’s [four measures](https://developers.cloudflare.com/web-analytics/data-metrics/high-level-metrics/) are visits, pageviews, page load time and Core Web Vitals. fivebar adds time on page, scroll depth, bounce rate and visit duration, and plots each page by how long it was read and how far down ([Engagement](https://fiveb.ar/docs/engagement.md)).

## Asking an app

Cloudflare’s [MCP server](https://github.com/cloudflare/mcp) covers its whole API, through tools that write and run code against it, its GraphQL Analytics API among it, where Web Analytics’ figures are. fivebar’s [MCP server](https://fiveb.ar/docs/mcp.md) is made for your stats alone. Its tools answer in figures, with the rules that say what each one means, and its caveats, such as that visitors don’t add up across sites.

## Past the blockers

Cloudflare’s script [loads from its own address](https://developers.cloudflare.com/web-analytics/data-metrics/data-origin-and-collection/), even where the counts go through your domain, and its FAQ says [some ad blockers stop it](https://developers.cloudflare.com/web-analytics/faq/). fivebar’s script, and its counts, can both go [through your own domain](https://fiveb.ar/docs/proxy.md), through Cloudflare itself among others.

## Where your stats are kept

Cloudflare is [an American company](https://www.cloudflare.com/privacypolicy/), and Web Analytics doesn’t work with its option to [keep data in the EU](https://developers.cloudflare.com/data-localization/compatibility/). Nothing fivebar keeps is at rest outside the EU, or on a US company’s server, and your stats are on its servers in Germany, at Hetzner ([Infrastructure](https://fiveb.ar/docs/infrastructure.md)).

## Prices

Cloudflare’s is free, with [no limit on traffic](https://blog.cloudflare.com/privacy-first-web-analytics/). fivebar’s plans start at $5 a month for 10k pageviews, and $50 for a million ([Pricing](https://fiveb.ar/pricing/index.md)), for up to 1,024 sites, where Cloudflare [takes 10](https://developers.cloudflare.com/web-analytics/limits/) that aren’t on its network, a limit its support can raise.

## What Cloudflare has that fivebar doesn’t

- **Deeper speed**: the page elements behind a slow LCP or a layout shift, in its [Debug View](https://developers.cloudflare.com/web-analytics/data-metrics/core-web-vitals/), and each page load [split into DNS, connecting, the request and the rest](https://developers.cloudflare.com/web-analytics/data-metrics/page-load-time-summary/).
- **Nothing to install** on a site Cloudflare already serves: it [adds the script itself](https://developers.cloudflare.com/web-analytics/get-started/).
- **No price**, however much traffic you have.

## Switching

You can keep Cloudflare’s for speed if you like: the two don’t get in each other’s way. [Add fivebar’s tag](https://fiveb.ar/docs/install.md) to every page, or, if Cloudflare serves your site, have it [serve fivebar’s script](https://fiveb.ar/docs/proxy.md) from your own domain. Then add the goals you want counted.

Checked on 19 October 2026, on Cloudflare’s own pages, each linked where it’s used.
