Core Web Vitals

Your lab score says the page is fast. Your real Chrome users disagree. Hoppla reports the number they actually felt.

Lab tests run on a clean machine with a perfect connection. Your users don't. Hoppla pulls your Core Web Vitals from Google's CrUX dataset: p75 LCP, INP and CLS, measured from real Chrome traffic over a real time window. Same field data Google ranks on, read straight off the source, sitting next to the uptime and SSL checks on the same monitor.

CWV / SAMPLE OUTPUT

crux example.com p75 · LCP 2.9s over-good · INP 184ms ok · CLS 0.06 ok · sample 28d · WARNING

Fictional values. Not a live measurement.

01 / What it does

The numbers Google actually ranks on

Hoppla queries the Google CrUX API for your origin and reads the p75 of every Core Web Vital from real Chrome visits: LCP, INP and CLS, plus FCP and TTFB for context. Each core vital gets graded against Google's own thresholds. Once LCP passes 2500ms, INP passes 200ms, or CLS passes 0.1 at the 75th percentile, the check turns to warning. This is field data, not a synthetic run. It's what your slowest quarter of real users sat through, with the sample window stamped on it.

What’s included

  • Pulls real-user field data from the Google CrUX API: actual Chrome visits, not a lab simulation
  • p75 reported for LCP, INP and CLS, the same percentile Google grades on, with FCP and TTFB alongside for diagnosis
  • Google's own thresholds: LCP good ≤2500ms / poor >4000ms, INP good ≤200ms / poor >500ms, CLS good ≤0.1 / poor >0.25
  • Warning if any core vital's p75 is past its good threshold; OK when all three pass
  • CrUX sample date range recorded on every result with data
  • no_data flag for low-traffic origins instead of a false green
  • Advisory only: warning-level, never a downtime incident or an on-call page
02 / How it works

Under the hood.

01

Query CrUX for your origin

On each run, Hoppla calls the Google CrUX API, the Chrome User Experience Report, for your origin. CrUX aggregates real loads from real Chrome users who opted into reporting. So the response is your audience's actual experience, not a probe pretending to be a phone on a clean line.

02

Read the p75 of each vital

Hoppla pulls the 75th-percentile figure for LCP, INP and CLS, the metric Google itself uses, plus FCP and TTFB for diagnosis. p75 means three of four real visits were at least this good. The slowest quarter is where the pain actually lives.

03

Grade against Google's thresholds

Each core vital is scored on Google's published lines: LCP good at 2500ms or under and poor past 4000ms, INP good at 200ms and poor past 500ms, CLS good at 0.1 and poor past 0.25. Any of the three past its good threshold and the check returns a warning. All three in good, it's OK.

04

Record the sample window, or flag no data

Every result with data carries the CrUX sample date range, so you know which weeks of traffic the number describes. Origins with too little Chrome traffic to report come back OK with a no_data flag. Hoppla tells you it can't see you yet instead of inventing a green light.

03 / Why it matters

The part that actually moves the needle.

01p75

Lab scores lie by omission

A synthetic test on a fast machine reports the load it had, not the one your users get on a mid-range Android over hotel wifi. CrUX p75 is the slowest quarter of your real audience. That gap is exactly the slice Google grades, and the slice that bounces.

02field data

This is a ranking input, not a vanity metric

Google uses field Core Web Vitals as a page-experience signal, and CrUX is where that field data comes from. So a creeping LCP isn't just slow. It can cost you rank before any analytics dashboard connects the dots.

03warning-only

Advisory, never a 3am page

A poor CLS is a fix-this-sprint problem, not an outage to wake up for. Web Vitals stays warning-only. It surfaces in your dashboard, but it never opens a downtime incident and never fires on-call. The pager is reserved for things that are actually down.

04 / For every team

Whoever you are, this lands differently.

Solo SaaS founder

You ran PageSpeed once, saw a green 95, moved on. Meanwhile your real visitors are getting a 3-second LCP, and the lab score never showed it. Hoppla reads your actual CrUX p75 next to your uptime check. The first time your field LCP slips past good, it's a dashboard warning you can act on, not an unexplained slide in organic traffic you only notice a quarter too late.

Small agency (5-30 client sites)

A client asks whether the performance work you billed for actually did anything. Lab numbers won't settle it. They were green before you started. With CrUX field data you point at the real-user p75 LCP from before the fix, then at the number once the sample window rolls forward, and show it dropped under 2500ms for the people who actually visit. That's a screenshot a client believes, on a metric you didn't get to cherry-pick.

Large agency (100s of client sites)

Nobody is opening PageSpeed for three hundred clients each month. Each monitor can carry its own Web Vitals check, so you can see across the whole portfolio which origins are warning on LCP, INP or CLS, and which sit clean in good. Account managers walk into the quarterly review with real-user numbers per client, not a one-off lab run, and you catch the site drifting toward a poor INP before the client's traffic does.

Reseller / hosting provider

Real-user performance reporting is an easy upsell, and it runs on data you don't have to collect. Hoppla is white-label, so the CrUX p75 figures, the good/poor grading and the sample window all surface under your brand and your domain. Your customers see real Chrome-user numbers on their own sites and never learn Hoppla is underneath, a new tier of value on the platform you already resell uptime and SSL on.

Switching tools

Monitoring somewhere else? Bring your setup with you.

Import the monitors you already run in another tool. What comes across depends on the provider. Run both side by side for 24 hours or 7 days before you switch.

  • Guided import
  • Shadow run before you switch
  • Coverage varies by provider
Import from
  • Oh Dear
  • Uptime Robot
  • Better Stack
  • Pingdom
  • StatusCakeBeta
  • CronitorBeta
  • Healthchecks.ioBeta
  • Statuspage

The importer opens in your workspace once you have access.

Get early access
FOR HOSTERS & RESELLERS

Bundle real-user Core Web Vitals reporting under your brand.

See the reseller program
05 / FAQ

Straight answers.

How is this different from running PageSpeed Insights or DebugBear?

PageSpeed Insights is a one-off check you run by hand, and DebugBear leads with lab results, a synthetic load on a controlled machine. A lab run tells you what a clean load looks like, not what your users get. Hoppla reads the field side: CrUX p75 from real Chrome traffic, the data Google actually ranks on. It runs on a schedule next to your uptime and SSL checks, so the real-user number is tracked instead of spot-checked when you remember. For lab-side waterfalls and synthetic traces, those tools are still the right call. This is the field-data half, on the monitor you already watch.

Will a poor Web Vitals score page me at night?

No. Web Vitals is advisory and warning-only. It shows up in your dashboard, but it never opens a downtime incident and never triggers on-call escalation. A slow LCP is a fix-it-this-sprint problem, not a wake-up-the-team one. The pager stays reserved for the site actually being down.

My new site shows no data — is the check broken?

No. CrUX only reports an origin once it has enough real Chrome traffic to aggregate anonymously. Below that floor, Hoppla returns OK with a no_data flag rather than pretending everything's green or throwing a false warning. As your traffic grows, CrUX starts reporting and the vitals fill in on their own.

Why p75 and not an average?

Because Google uses p75, and averages hide the users who hurt. The 75th percentile means three of four real visits were at least this fast. It deliberately captures the slow quarter on weaker devices and worse connections. That's the slice Google grades your page experience on and the slice most likely to bounce, so it's the honest number to watch.

Your next step

Stop trusting the lab score. See the Core Web Vitals your real users actually live with.

Checks, alerts and status pages in one workspace. Now in early access: join the list for an invite.