CoreDash vs Cloudflare Web Analytics

Cloudflare Web Analytics gives you real-user Core Web Vitals for free, which is a lot better than nothing. Once you start debugging, CoreDash does more. Below is where, and when you're better off sticking with Cloudflare.

Free trial

Trusted by market leaders · Client results

fotocasaharvarderasmusmccomparesnvmy work featured on web.devmarktplaatsdpg mediaadevintaebayloopearplugskpnmonarchworkivanina carewhowhatwearvpnhappyhorizonnestleperionsaturnaleteia

I built CoreDash so keep that in mind. I actually like Cloudflare Web Analytics though. It's free, sets no cookies, and on a lot of sites behind Cloudflare it might already be running without anyone having installed it.

If you have it running and it tells you what you need, keep it. You're measuring real visitors, and plenty of sites don't. This page is for when you start asking questions it can't answer.

What Cloudflare Web Analytics does well

The price, obviously. Web Analytics costs nothing on any Cloudflare plan, and your site doesn't even need to go through Cloudflare's proxy. On a proxied zone Cloudflare injects the beacon at the edge (and adds SRI automatically). On Cloudflare Pages it's one toggle.

Cloudflare Web Analytics product page, October 2026

cloudflare.com, October 2026.

The measuring is done properly. The beacon wraps Google's web-vitals library and Cloudflare keeps it up to date (the changelog shows the upgrade to v6.2.1 on 2 September 2026). Single page apps are handled with the Soft Navigations API in Chromium, then the Navigation API, with History pushState as fallback. I didn't expect that much SPA support from a free beacon.

The Debug View is handy too. Under each metric you get the top 5 elements that hurt it, as CSS selectors, with P50, P75, P90 and P99 for each. For LCP you see the resource URL and its size, for CLS the element that shifted and where it moved from and to. You can filter by navigation type (bfcache, prerender and soft navigations included), and filtering out bots is one toggle. The GraphQL API has more than the dashboard: LCP subparts (resource load delay, load time, render delay), INP phases (input delay, processing, presentation), the fetchpriority of the LCP resource and quantiles up to P99.9.

Privacy is good as well. According to Cloudflare's docs there are no cookies, no localStorage and no fingerprinting, so usually you don't need to put it behind a consent banner.

Better than Lighthouse and Search Console alone

Most sites I audit only look at Lighthouse and Search Console. Lighthouse loads your page once on a simulated phone and never clicks anything, so it can't measure INP. CrUX only counts opted-in Chrome users and shows nothing until a page has enough of them (see not enough data in Search Console). Cloudflare Web Analytics measures the visitors you actually have. So if it's Cloudflare Web Analytics or nothing, turn it on.

CoreDash and Cloudflare Web Analytics side by side

Pricing and features checked September 2026. CoreDash prices are per month, billed annually, in USD.

CoreDashCloudflare Web Analytics
Built forCore Web Vitals monitoring and debuggingPrivacy-first traffic analytics with Core Web Vitals included
PriceFrom $16 (75K pageviews, 1 site), 14-day trialFree on every plan
InstallScript tag under 2 KB, or the WordPress pluginAuto-injected on proxied zones, one click on Pages, or a snippet
CookiesNone by default, optional for repeat-visitor trackingNone
MetricsLCP, INP, CLS, FCP, TTFBLCP, INP, CLS in the dashboard, FCP and TTFB in the API
LCP and INP phasesYes, in the dashboard and the APIYes, in the GraphQL API
Element attributionLCP, INP and CLS element, LCP element type and priority, INP input type and load stateTop 5 elements per metric with P50 to P99, LCP resource URL and size, CLS shift rects
Script attribution for INP (LoAF)YesNo
Custom segments (page type, A/B, logged-in, query string)YesNo, query strings are not recorded
History6 months to 8 years, depending on plan7 days unsampled, then aggregated to around 10%. Dashboard shows 6 months
EU visitorsAll RUM data processed and stored in the EUExcluded by default when RUM is auto-enabled on a free proxied zone
Core Web Vitals alertsCustom alerts and AI Auto Alerts, email and SlackNone. A weekly email with visits, page views and median load time
APIJSON-RPC, three tools: metrics, time series, histogramsGraphQL Analytics API, 300 queries per 5 minutes
MCPDedicated read-only MCP server, same endpoint as the API, included on every planThrough Cloudflare's general API MCP, the agent writes the GraphQL
AI agentCWV Superpowers: free, MIT licensed, writes code fixes from field dataNone for Core Web Vitals
Synthetic testsPre-deploy check in CI against your budgetsObservatory (beta), Lighthouse tests on paid plans
Multiple sitesAgency plans for 10 to 50+ client sites, Agency APISoft limit of 10 non-proxied sites, proxied sites unlimited

Something to check if you run Cloudflare Web Analytics on a European site: when Cloudflare turns RUM on automatically for a free proxied zone, it leaves out visitors from the EU, EEA, UK and Switzerland. And it goes by the data center that handled the request, whatever country the visitor is actually in. I get why they do it, but a European shop can end up looking at a dashboard where most of its visitors are missing. Check that setting before you trust the numbers.

Cloudflare Web Analytics setup docs: the option that excludes visitor data in the EU (marked)

Cloudflare Web Analytics setup docs, October 2026.

Where CoreDash does more

Cloudflare Web Analytics answers "how fast is my site for real visitors", which is the right first question. After a few months you start asking other things. Which script made INP worse? Did last Tuesday's release break something? Is checkout slower for logged-in customers? How does this November compare to last November? Cloudflare can't answer most of those.

Alerts

The only notification in Web Analytics is a weekly email with visits, page views and median load time. No Core Web Vitals alerts. You find a regression when someone happens to open the dashboard, or a month later when Search Console turns red.

CoreDash has two kinds of alerts. Custom alerts watch the p75 of any metric for a device, country, browser or page and go off when it crosses from good to needs improvement to poor, or changes by more than 25% or 50%. AI Auto Alerts are a single toggle: every day they check hundreds of segments across all five metrics and only flag a regression if it affects at least 2% of your traffic, with the segment and the number of users hit. Both go to email or Slack. Your CrUX data is in the same dashboard as your RUM data, so you can compare what Google sees with what your visitors get.

Which script caused it

For INP Cloudflare tells you which element was slow and, through the API, how the time splits over input delay, processing and presentation. Not which script did it. The schema has no Long Animation Frames fields. And that's the part you need. A slow click is usually a tag manager or chat widget hogging the main thread while the button's own handler is fine.

When an interaction triggers a long animation frame, CoreDash records the script URLs from the Long Animation Frames API with it, so you can filter INP by script. You also get the input type, INP load state (did the click happen while the page was still loading) and LCP priority (preloaded, fetchpriority high or lazy loaded). The phase breakdowns are in the dashboard as well as the API, and the Diagnosis view checks for 14 LCP anti-patterns and gives you the fix for your stack.

Segments and history

Cloudflare doesn't record query strings, custom events or custom dimensions, so you can't split your data by UTM, A/B variant, page template or logged-in state. In CoreDash you set a window variable before the snippet runs and page label, A/B variant and logged-in status become dimensions, next to the query string. Put 50,000 product pages under one "product" label and you get one number for the whole template.

Cloudflare keeps raw beacon data unsampled for 7 days. After that it's aggregated down to around 10%, and the dashboard goes back six months. Fine for "how are we doing this week". Comparing this Black Friday with the last one won't work. CoreDash keeps 6 months on Starter, a year on Standard, 3 years on Studio and 8 years on Enterprise.

MCP and AI agents

Cloudflare used to have a dedicated GraphQL MCP server. It's deprecated now in favour of their general API MCP, where an agent reaches the analytics through generic search and execute tools and has to write the GraphQL itself. It works, but the agent has to figure out the RUM schema before it can ask anything.

The CoreDash MCP server is the same endpoint as the API and has three tools: get_metrics, get_timeseries and get_histogram. Your own scripts use the same three, so a report you build shows exactly the numbers your agent sees. It's read-only (there's no write path at all) and included in every plan, Starter too. Connect it to Claude, Claude Code, Cursor, Windsurf, VS Code or Gemini CLI and ask which pages got slower on mobile this week.

There's also CWV Superpowers, a free MIT-licensed agent. It pulls your field data, finds the bottleneck that takes the biggest share of the time, records a Chrome trace with mobile emulation and a 4x CPU slowdown, and ends with a code fix (file, line and diff) or an HTML report. No Lighthouse score anywhere in there. Fixing INP with an AI agent shows it on a real site.

If you look after client sites, the Agency API reads any client project with the same three tools, and agency plans pool pageviews across clients. You pay for pageviews and every plan has every dashboard, so a bigger plan is mostly more volume, more sites and longer retention.

When to pick Cloudflare Web Analytics instead

  • Your budget is zero. Cloudflare's free version is good.
  • You're on Cloudflare and it's already running. Look at what it shows before you buy anything, CoreDash included.
  • You mostly want privacy-friendly visit and page view numbers, with a Core Web Vitals check on the side. That's what it was made for.
  • It's a small site and nobody is debugging performance every week. The top 5 elements in the Debug View will often point straight at the slow hero image.
  • You already pay for Cloudflare Pro or higher and want Lighthouse tests next to your field data. Observatory does that.

Try them next to each other

You can just run both. Cloudflare is free and CoreDash has a 14-day trial without a credit card, so two weeks on the same site costs nothing. Then open your slowest page in both and see which one tells you why it's slow. Want to see the dashboards first? Open the CoreDash demo and check pricing for your traffic. Other tools are on the comparisons page.

Sources: About Web Analytics, Core Web Vitals in Web Analytics, Web Analytics FAQ, limits, changelog, notifications, RUM beacon, Observatory tests, GraphQL API limits, Cloudflare MCP servers.