SDK · field p75
2.14s
+180msvs 1.96s baseline
38.1M real sessions · 28d
PSI · desktop (lab)
2.08s
+290msvs 1.79s baseline
1 Lighthouse run/day · n=1
PSI · mobile (lab)
3.98s
+670msvs 3.31s baseline
Moto G Power · 4G throttled
Lab ↔ field gap
+1.84s mobile
desktop lab is −60ms from field
field p75 sits beside desktop lab,not mid-way between the two
LCP over time · lab vs field
DayJul 23
SDK field p752.14s
PSI desktop2.08s
PSI mobile3.98s
All three sources rise from Jul 20 — the regression is real, not lab noise. Field p75 crosses 2.10s on Jul 22; mobile lab crossed the budget long before and has been crossing it every day for 28 days.
INC-2284
Why the three numbers disagree
Lab is n=1. Field is a distribution.
PSI mobile is one emulated phone.
Use each for what it is good at.
Current PSI collection reads lighthouseResult.audits only — it never touches PSI's loadingExperience block, so there is a fourth number (Google's own CrUX field data) not yet on this page.
SDK device split
unconfirmed| LCP value + URL + timestamp | present |
| p75 rollup window | present |
| Device class on the beacon | unconfirmed |
If the beacon already sends UA or viewport width, the split is a server-side GROUP BY with no SDK change. If not, it is one field: navigator.userAgentData.mobile with a viewport-width fallback. Either way the LCP measurement itself is untouched.
Preview the split view
shows what the chart gains once the field lands
Caveat: SDK "mobile" will not equal PSI "mobile". Different populations, not different measurements of one thing.
What alerts on this
LCP budget rule reads PSI mobile (lab)
fired 84× in 7d · 2% acted on · auto-muted
Recommended: read SDK field p75
would have fired 2× in 7d · both real
A rule pointed at mobile lab fires every single day, because mobile lab has been above 2.5s for all 28 days. That is not a regression signal — it is a constant.
By URL
| URL / template | SDK p75 | PSI desktop | PSI mobile | Samples | Field vs budget |
|---|---|---|---|---|---|
| /collections/* | 2.48 | 2.31 | 4.18 | 984k | −0.02 under |
| /products/* | 2.21 | 2.08 | 3.84 | 2.31M | 0.29 under |
| / (home) | 2.02 | 1.94 | 3.62 | 1.42M | 0.48 under |
| /search | 1.96 | 1.88 | 3.41 | 143k | 0.54 under |
| /blogs/* | 1.84 | 1.71 | 3.12 | 61k | 0.66 under |
| /cart | 1.78 | 1.62 | 2.94 | 218k | 0.72 under |
Budget is 2.5s on field p75. Every URL passes on field; every URL fails on mobile lab.
PageSpeed runs
- Cadence
- Daily · 03:00 UTC
- Strategies
- mobile + desktop
- URLs per run
- 6 per project
- Last run
- 03:04 UTC · 12 of 12 ok
- Next run
- in 15h 04m
API quota at full fleet coverage
1,284 projects × 6 URLs × 2 strategies. Adding a 7th URL crosses the daily ceiling.