Monitoring

Real User Monitoring for Operations Teams

Every measurement discussed elsewhere on this site is taken from a machine you control, over a connection you chose, at a moment you picked. That is a feature — it is what makes those measurements reproducible and comparable — but it is also a hard limit. Your probe cannot tell you that a third of your traffic is on mobile networks in a region your delivery does not reach well, because your probe has never been there. Real user monitoring is the measurement taken from the other side: what your actual traffic experienced, on hardware and networks you did not select.

Field data and lab data are different measurements

The distinction is worth being precise about because it explains most of the confusion. A scheduled check produces lab data: controlled, repeatable, and it keeps producing numbers whether or not anyone is visiting. Real user monitoring produces field data: noisy, uncontrolled, only covering pages people actually loaded, and the only measurement that reflects your real distribution of devices, networks and geography.

Neither is more correct. They answer different questions, and the mistake is treating a disagreement between them as an error to reconcile. When your probe loads a page in under a second and your field data says the slowest quarter of visits take four, both are accurate; the gap is the finding, and what it tells you is that the cost is in the last mile rather than in your origin.

Why an operator should care about a front-end metric

Core Web Vitals arrive labelled as a front-end concern, and a good deal of what they measure is not. Time to first byte is a component of load performance and it is entirely yours: origin latency, connection setup, TLS negotiation, redirect chains. A field measurement that shows time to first byte dominating in one region and not others is an infrastructure finding that no amount of front-end work will address — it is a CDN coverage or routing problem, and it is visible in field data and invisible in a probe run from beside the origin.

The device dimension does similar work. If the field data separates cleanly by device class rather than by geography, the constraint is client-side processing and the fix belongs to whoever owns the page weight. If it separates by network or country, it is yours. Being able to make that attribution from evidence rather than argument is most of the practical value.

What it cannot do

Field data only exists where there is traffic. A page nobody visited produces nothing, a flow behind a login that ten people a week use produces too little to be meaningful, and an outage at 4am on a low-traffic path is invisible because there was nobody there to measure. This is the exact inverse of a scheduled check, which runs whether or not anyone is watching, and it is why the two are complementary rather than competing.

It is also not error monitoring. Core Web Vitals describe how a page felt, not whether it worked — a page that renders instantly and fails to submit the form scores well. And percentiles need volume: a figure derived from a handful of visits will swing enough to send you chasing noise, which is why the site-wide number stabilises long before any individual page's does.

The comparison is where the value concentrates

Owning both halves for the same page enables a question neither answers alone. When the scheduled check is fast and real users are slow, the server is demonstrably capable of serving the page quickly, so the problem is what the page costs on real devices and networks — and that redirects the investigation away from your origin entirely. When both are slow, it is reproducible and yours to fix. When the check is slow and users are fine, the check is measuring something unrepresentative and probably needs rethinking.

That triage is not available from either measurement in isolation, and it is the reason to run them against the same URLs rather than treating them as separate programmes owned by separate teams.

A note on what gets collected

Worth knowing before you deploy anything: measurement of this kind does not require identifying anyone. Core Web Vitals can be collected with no cookies, no local storage, no visitor identifier and no retained IP address, which removes most of the consent conversation and all of the argument with whoever reviews what you put on the page. Tools that build cross-page sessions or profile individuals are a different proposition with a different review — it is worth confirming which one you are deploying rather than assuming.

Related reading