Web Vitals & Real User Monitoring
Measure real-world performance with Core Web Vitals and detailed RUM data.
What are Core Web Vitals?
Core Web Vitals are a set of metrics defined by Google that measure real-world user experience for loading performance, interactivity, and visual stability. They directly influence your search rankings.
| Metric | Name | What it measures |
|---|---|---|
| LCP | Largest Contentful Paint | Loading performance — how long until the largest visible element renders |
| CLS | Cumulative Layout Shift | Visual stability — how much the page layout shifts unexpectedly |
| INP | Interaction to Next Paint | Interactivity — how long until the page responds to user input |
| FCP | First Contentful Paint | Perceived load speed — how long until the first content appears |
| TTFB | Time to First Byte | Server responsiveness — how long until the browser receives the first byte |
How it works
Abner collects Web Vitals automatically through abner-vitals.js, a lightweight companion script that is lazy-loaded after your page finishes loading. This means it has zero impact on your page load performance — the vitals script is only fetched once the main content is ready.
No additional installation is needed beyond the standard Abner script tag. The vitals module is loaded automatically.
Opting out
If you do not want to collect Web Vitals data, add data-vitals="false" to the Abner script tag:
<script defer data-site="YOUR_SITE_ID" data-vitals="false" src="https://www.abner.app/abner.js"></script>
Querying Web Vitals data
Abner's web dashboard is deliberately minimal and doesn't include a Web Vitals view. Query p75 Web Vitals via GET /api/v1/vitals on the REST API, or the MCP query_vitals tool. Both return p75 values for LCP, FID, CLS, FCP, TTFB, and INP for a site — available to every account, with no plan gating.
Rating thresholds
Each metric is rated as Good, Needs Improvement, or Poor based on the following thresholds:
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP | ≤ 2500 ms | ≤ 4000 ms | > 4000 ms |
| CLS | ≤ 0.1 | ≤ 0.25 | > 0.25 |
| INP | ≤ 200 ms | ≤ 500 ms | > 500 ms |
| FCP | ≤ 1800 ms | ≤ 3000 ms | > 3000 ms |
| TTFB | ≤ 800 ms | ≤ 1800 ms | > 1800 ms |
These thresholds follow Google's official Web Vitals guidelines. For more details on the base script setup, see the Installation guide.