Checkout Performance (Core Web Vitals)
LCP, INP and CLS measured from real checkout visits, how they are scored, and exactly when an alert is raised.
On this page
What you see
Open Commerce Health → Performance for three bars: LCP (how fast the main checkout content appears), INP (how quickly checkout reacts to clicks and typing) and CLS (how much the layout jumps while loading). Each shows a 0–100 score, the raw value (for example “2.3 s”), a Good, Needs improvement or Poor rating, and the change since the previous period.
How it is measured
A small script on the checkout page measures these from real visitors with the browser’s own performance tools. It sends one short report when the visitor leaves the page: up to three numbers and a mobile or desktop flag. Nothing about the visitor is collected, and the data goes only to your own site. A metric the browser can’t measure is left out, never recorded as zero.
The script runs on the checkout page only. It is not loaded on the cart, product pages, or the order-received page that follows checkout.
Ratings
These are Google’s boundaries and are fixed in this version.
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
| LCP | 2.5 s or less | over 2.5 s up to 4 s | over 4 s |
| INP | 200 ms or less | over 200 ms up to 500 ms | over 500 ms |
| CLS | 0.1 or less | over 0.1 up to 0.25 | over 0.25 |
Values are the 75th percentile of real visits, the standard Google uses: three out of four visits were this good or better. The 0–100 score is 100 to 90 up to the “good” limit, 90 to 50 up to the “poor” limit, and falls to 0 at twice the “poor” limit. A score of 90 or more is Good, 50 to 90 is Needs improvement, and below 50 is Poor.
Small stores
You see a number from the very first visit, marked “Only 1 visit so far”. If the last 7 days hold fewer than 5 visits, the screen automatically looks back 30 days.
When an alert is raised
PRO looks at the last 24 hours. Once at least 3 visits have measured a metric:
| 75th percentile is… | Result |
|---|---|
| Poor | A Critical issue |
| Needs improvement | A Medium issue |
| Good | The issue resolves |
- A Poor result is raised at Critical at most once per metric every 24 hours. If a metric improves to Needs improvement and then goes Poor again within 24 hours of that, it is raised at High instead. Once a metric has been judged Good, that wait resets. Whether each level emails you depends on the Issue Emails setting.
- With fewer than 3 visits measuring a metric, nothing changes: an open issue stays open, and a quiet period never resolves an issue by itself.
- Each metric has its own issue (LCP, INP and CLS).
- Performance samples are kept for 60 days.
What it cannot see
- Visitors’ real devices are all it knows. It does not run lab tests, so it can’t tell you how a page would perform before anyone visits.
- Browsers that don’t report a metric. Safari, for example, doesn’t provide LCP or INP, so those rows fill in more slowly if most visitors use it.
- Visitors who never interact. INP needs a click or keystroke, so it can stay empty.
- Cached checkout pages. A cached copy can carry an expired security token, which makes the report get rejected.
- Speed problems outside the checkout page, such as slow product pages or a slow admin.
If a metric shows “Not measured yet”, see The Performance tab says “Not measured yet”.
Still need help?
Search the docs first — or open a ticket and our team will pick it up from the Support screen.