fastmon Docs
Web Vitals

Web Vitals

The Web Vitals and the other metric pages fastmon has, what they measure, and how they are rated.

Web Vitals are Google's standard metrics for how fast and stable a page feels, measured here in your real visitors' browsers. This page lists them and the other metric pages in fastmon.

The five metrics

LCP, INP, and CLS are the Core Web Vitals Google uses for ranking. FCP and TTFB help you find out why LCP is slow.

MetricWhat it measuresGood (p75)
LCP, Largest Contentful PaintTime until the largest visible element renders.≤ 2,500 ms
INP, Interaction to Next PaintWorst-case latency from user interaction to next paint.≤ 200 ms
CLS, Cumulative Layout ShiftSum of unexpected visual shifts during the page's life.≤ 0.1
FCP, First Contentful PaintTime until the first text or image appears.≤ 1,800 ms
TTFB, Time to First ByteTime until the first response byte arrives.≤ 800 ms

Other metric pages

Five more pages share the layout of the LCP page: the value with its trend, the pageviews by rating, a summary, the history beside the distribution, and where the metric is worst.

PageSidebarGood (p75)Poor (p75)
TBTPerformance → TBT≤ 200 ms> 600 ms
Page load timePerformance → Page loadnot ratednot rated
DNS lookupNetwork → DNS≤ 60 ms> 100 ms
TCP connectNetwork → Connect≤ 200 ms> 600 ms
Transfer sizeNetwork → Transfer sizenot ratednot rated
  • DNS and connect count only pageviews that did a lookup (performed_dns_lookup) or opened a new connection (new_tcp_connection). The summary gives the unrated share that skipped the lookup or reused a connection.
  • TBT lists the scripts in long animation frames over 50 ms, as the INP page does.
  • Transfer size splits the weight by resource type and lists the third-party domains.

Every rating comes from GET /metric-thresholds.

How to read a percentile

Web Vitals are reported at the 75th percentile: 75 % of the pageviews in the window had a better value, 25 % a worse one. If your LCP at p75 is 2,400 ms, the slowest quarter of your traffic waits at least that long.

How fastmon collects them

The tracker reads the same browser APIs as the web-vitals library: PerformanceObserver entries, Navigation Timing for TTFB, and the browser's attribution data for INP. Each value is final at its own moment, usually when the page is hidden, and travels in a few beacons per pageview. See The RUM Beacon.

Where they show up in the product

  • Performance dashboard: p50/p75/p95 for every metric, sliceable by URL, device, country, and release.
  • Experience Score: LCP, INP, CLS, FCP, TTFB, and the first-party error rate as one 0–10 number. See Experience Score.
  • Notification rules: alert when a metric crosses a threshold or worsens against the previous window.
  • Analytics API: query any metric programmatically. See the Analytics endpoints.

What's next

  • Start with LCP, then INP, which often regresses when a fix for LCP adds JavaScript.
  • For one number to track over time, see Experience Score.

On this page