# Core Web Vitals monitoring

> Monitor real-user Core Web Vitals (LCP, INP, CLS, FCP and TTFB) at the 75th percentile by page, device, browser and country, with automatic regression notes.

Turn on the [`vitals` module](/docs/tracker/modules#vitals-web-vitals):

```html
<script defer src="https://privatusanalytics.com/js/pa.js" data-site="pa_YOURSITEID" data-modules="engage,vitals"></script>
```

## Scorecard

For each metric, the **75th percentile** (p75) over the range, the share
of page views rated good / needs improvement / poor, and the trend:

| Metric | Good | Poor |
|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2.5 s | > 4 s |
| INP (Interaction to Next Paint) | ≤ 200 ms | > 500 ms |
| CLS (Cumulative Layout Shift) | ≤ 0.1 | > 0.25 |
| FCP (First Contentful Paint) | ≤ 1.8 s | > 3 s |
| TTFB (Time to First Byte) | ≤ 0.8 s | > 1.8 s |

These are Google's thresholds. Between good and poor is "needs
improvement".

## Breakdowns

By page (worst first, weighted by traffic), device, browser and country.
The [page detail](/docs/dashboard/page-detail) view shows Vitals for one
page by device.

## Regressions

Every day, each metric's p75 for the last 7 complete days is compared with
the 7 days before. A rise of more than 20% (with at least 20 samples)
adds an automatic [note](/docs/dashboard/notes) to your charts. Create a
**Vitals regression** [alert](/docs/reports/alerts) to be notified.

## Sampling and usage

Vitals are sampled on the server at the site's sample rate (Site settings
→ Tracking). The Free plan allows up to 10% and paid plans up to 100%. The
current rate is shown on the report. Web Vitals never count toward your
event usage.
