> Content index: https://quillly.com/docs/llms.txt
> Canonical page: https://quillly.com/docs/analytics-web-vitals

---
title: Core Web Vitals in Quillly: p75 LCP, CLS and INP
description: Read your site's Core Web Vitals in Quillly: p75 LCP, CLS and INP from real page loads, what Good and Needs work mean, and the slowest page.
keywords: core web vitals, web vitals, LCP
published: 2026-09-24
updated: 2026-09-24
url: https://quillly.com/docs/analytics-web-vitals
word_count: 717
---

# Core Web Vitals: LCP, CLS and INP from real visits

> Read your site's Core Web Vitals in Quillly: p75 LCP, CLS and INP from real page loads, what Good and Needs work mean, and the slowest page.

Canonical: https://quillly.com/docs/analytics-web-vitals
Published: 2026-09-24

The Web Vitals strip shows how fast your pages feel to real visitors: how quickly they load, how steady the layout stays and how fast they answer a tap. It uses the three Core Web Vitals that Google uses, measured by your own analytics tag.

![The Web Vitals strip showing p75 LCP, CLS and INP with their ratings, and the slowest page by LCP.](https://quillly.com/serve/v1/019c64a2-a62f-7793-aa68-2c78316d3309/images/ab2d3611fc3f305f914cf0d9a50560fa92b9e17f.webp)

## Where to find Web Vitals

Open **Analytics** and scroll past the **Geography** and **Technology** cards. The **Web Vitals** strip appears once your own tag has reported in the last 30 days.

[Open Analytics](https://quillly.com/dashboard/analytics)

Pages Quillly serves don't send Web Vitals, so a site measured only through them never shows the strip. [Install analytics on your website](https://quillly.com/docs/analytics-install) adds the tag to your own pages.

## What the Web Vitals numbers mean

Each number is the 75th percentile, marked **p75**: three in four page loads in the range were as good or better. The count beside it, such as **p75 · 2,418 page loads**, is how many page loads sent a measurement.

| Metric | What it measures | Good | Poor |
| --- | --- | --- | --- |
| **LCP** | Time until the main content appears | 2.5 s or less | Over 4 s |
| **CLS** | How much the layout jumps while loading | 0.1 or less | Over 0.25 |
| **INP** | Delay before the page answers a tap or click | 200 ms or less | Over 500 ms |

Anything between the two limits is rated **Needs work**. Hover a metric to see what it measures. Google's [guide to Web Vitals](https://web.dev/articles/vitals) explains each metric and why these limits were chosen.

## The slowest page

Under the three numbers, the strip names the page with the worst p75 LCP, such as **Slowest page /pricing 4.31s LCP**. It appears only when that page's LCP isn't rated **Good**, so a fast site shows no line at all.

## How the tag measures Core Web Vitals

- **One sample per page load.** The tag sends it when the visitor hides or leaves the page. In a single-page app, moving between routes doesn't send a new sample.

- **LCP** is the time until the largest element on the page is painted.

- **CLS** adds up every layout shift the visitor didn't cause, over the whole visit. On long visits it can read higher than Google's figure, which keeps only the worst burst of shifts.

- **INP** is the slowest interaction that took 40 ms or more. A page load where every tap was faster sends no INP value.

- **Browsers that can't measure a metric** send nothing for it, and paths you exclude with `data-qa-exclude` send no samples.

## When a number needs work

The strip tells you which metric to look at, and the slowest page tells you where to start. Common fixes:

- **LCP:** make the main image or heading load first. Compress large images, and avoid loading them late with JavaScript. Google's [guide to LCP](https://web.dev/articles/lcp) goes deeper.

- **CLS:** give images, videos and embeds a width and height, and reserve space for anything that loads late, such as banners.

- **INP:** keep the page's JavaScript light during taps and clicks, and split long tasks into smaller ones.

After a fix, compare the next weeks with the weeks before. The numbers move only as new visitors load the changed page.

> [!NOTE]
> Web Vitals come from real visits, so a page needs visitors before it has numbers. A new page, or a range with little traffic, can show a quiet strip for a while.

## Common questions

### Why don't my numbers match PageSpeed Insights?

[PageSpeed Insights](https://pagespeed.web.dev/) reports Google's data from Chrome users over the past 28 days, next to a lab test. Quillly measures your own visitors in the range you pick and adds up CLS over the whole visit, so the two can differ.

### Why is the Web Vitals strip missing?

It shows only when your own tag has reported in the last 30 days. Pages Quillly serves don't send Web Vitals, so check that the tag is on the pages you host yourself.

### Can my AI assistant read Web Vitals?

Not yet. The `get_website_analytics` tool doesn't include Web Vitals, so your assistant can't see them. Read them on the **Analytics** page, and paste the numbers into the chat when you want its help.

## Related

- [Read the Analytics dashboard](https://quillly.com/docs/analytics-overview): the rest of the numbers on the page.

- [Install analytics on your website](https://quillly.com/docs/analytics-install): the tag that measures Web Vitals.

- [Analytics limits, retention and excluding traffic](https://quillly.com/docs/analytics-limits): `data-qa-exclude` and how long data is kept.
