Speed measured on your visitors’ actual devices.

LCP, CLS, INP, TTFB and FCP collected from real visits by the same sub-6 kB tracker, graded at the 75th percentile, broken down page by page, and never metered.

What is Core Web Vitals monitoring?

Core Web Vitals monitoring measures how a page actually performed for the people who loaded it: how long the main content took to appear, how much the layout moved under them, and how quickly it responded to a tap. Mrkr collects these from real visits and grades each page at the 75th percentile, which is where the published thresholds are set.

The distinction that matters is field against lab. A synthetic audit runs your page once, on a machine you chose, on a network you chose. Field data is what happened to real people on the devices and networks they have. Only the second one is what the thresholds are judged on.

For a one-off look at a single URL, the free Core Web Vitals checker runs in the browser with no account. Continuous field data across every page and every visitor is what the rest of this page describes.

The five metrics, and where the lines are.

Mrkr grades against the published thresholds at the 75th percentile. Three of these are the Core Web Vitals proper; the other two are diagnostics that usually explain them.

MetricWhat it measuresGoodPoor above
LCPTime until the largest visible element finishes rendering2,500 ms or less4,000 ms
CLSHow much visible content shifts around during load0.1 or less0.25
INPLatency from a tap or click to the next paint200 ms or less500 ms
TTFBHow fast the server returns the first byte800 ms or less1,800 ms
FCPWhen the first piece of content paints1,800 ms or less3,000 ms

Thresholds are the published web.dev values. A metric between the good line and the poor line is graded as needs work rather than being rounded to a pass.

Field data against a lab run.

A synthetic audit

  • One run, on one machine, on a network you picked.
  • Reproducible, which makes it good for testing a fix.
  • Tells you what to change, in specific terms.
  • Does not tell you what any real visitor experienced.

Mrkr, from real visits

  • Every visit that reported a metric, on the devices your audience actually has.
  • Graded at p75, with p95 alongside so the tail is visible.
  • Broken down by page, so a slow template is identifiable.
  • Filterable by device, country, source and campaign like everything else.

Performance sits next to the traffic.

The reason to have vitals in your analytics rather than in a separate performance tool is that the questions are joined. A page that is slow only for mobile visitors from one country is a CDN question. A page that is slow for everyone is a page question. You need the segment to tell them apart, and the segment lives in your analytics.

Every filter that works elsewhere works here, so a vitals number can be put behind one device class, one country, one campaign or one saved cohort.

Slow pages lose people quietly: no error, just a worse scroll depth and a conversion rate you assume is a copy problem. Vitals and engagement are the same dataset here, so put per-page LCP next to per-page scroll depth and read the correlation directly.

The Mrkr overview dashboard showing visitors, sources, and top pages over time.
The overview dashboard. Performance is one of its sibling views, reading from the same filters and the same date range. Open it in the live demo.
metrics captured per pageview, from the browser's own observers
5
metrics captured per pageview, from the browser's own observers
the percentile the thresholds are graded at, with p95 shown too
p75
the percentile the thresholds are graded at, with p95 shown too
busiest paths broken out individually in the per-page table
20
busiest paths broken out individually in the per-page table
extra cost for web vitals: billing counts pageviews only
0
extra cost for web vitals: billing counts pageviews only

Pageviews are the metered unit and the only one. Web vitals, session replay, custom events, goals, scroll depth and engaged time are all stored and never counted, so instrumenting more of your product never costs more.

Reading vitals without chasing ghosts.

Look at p75, then at p95

Passing at p75 and catastrophic at p95 means one broken case, often a device class or a third-party script.

Segment before you optimise

Slow on mobile, slow in one region, and slow everywhere are three different bugs with three different fixes.

CLS is usually images and fonts

Missing image dimensions and late-swapping webfonts account for most layout shift, and visitors report it least.

Fix in the lab, verify in the field

Iterate with a synthetic audit, then watch the field p75 move over the following days. Neither replaces the other.

See the dashboard

The live demo includes the performance view alongside traffic, engagement and revenue on real demo data. No signup, no card.

Open the live demo
The Mrkr overview dashboard showing visitors, sources, and top pages over time.

The honest limits.

Browser coverage is not uniform

LCP, CLS and INP need observers only Chromium implements. True of every field-data source, Google's included.

INP is approximated

Mrkr reports the longest interaction latency observed, not a full distribution. It moves with the metric without matching its formal definition.

No synthetic monitoring, no alerting

Mrkr does not run Lighthouse, crawl on a schedule, or page you when a p75 crosses a line. Pair it with a tool built to page.

The read is capped on wide ranges

Vitals come from samples, not counters, and the read is bounded. Percentiles reflect the samples read.

Questions, answered.

Keep reading

Your first visitor is already here.

Drop in the script and watch them land. It takes about a minute.