When are custom thresholds worth it for Page loads fast enough?
When are custom thresholds warranted?
Override `maxLcpMs` when you know something about your audience or your origin that the default cannot. Tighten it — 1500 or 2000 — when you are enforcing an internal performance budget and want the lab test to fail before field data would, which is the whole point of a budget. Loosen it when the audited page is genuinely heavy by design and your goal is regression detection rather than a grade, so the check fires when the page gets worse instead of failing constantly.
When should you stay on Standard?
Stay on 2500 when you want a defensible external number rather than a local one, especially if the result is going into a report someone outside the team will read. Keep the default when you are comparing many pages or sites, since a shared threshold is what makes those numbers comparable at all. If your real problem is that visitors on slow networks suffer, changing this number does not address it — that needs field measurement, not a different lab boundary.
What do you trade away?
A tightened threshold produces failures on pages that real users would find acceptable, and the team has to be willing to treat a budget breach as work rather than noise. A loosened threshold costs you the external reference: the finding no longer maps to a published boundary, so "we pass" means only that you cleared your own bar. Either direction breaks comparability with earlier runs, so change the value deliberately and note when you did, or a trend line will show an improvement that was really an edit.
Community Standard vs org Custom
The Standard value is a transcription of a published web performance boundary, which is precisely why it is worth keeping when the audience for the result is external. A Custom value is your performance budget and should come from wherever that budget is agreed and reviewed, with the reasoning recorded — a threshold loosened once during a bad release tends to stay loosened. Because this is the only judged number on the check, it deserves an owner.
Worked override examples
A team with a published 2-second budget sets `maxLcpMs` to `2000`, so the lab check fails before field data would and the budget is enforced in the pipeline rather than in a monthly review. A media site with an intentionally heavy interactive feature sets `maxLcpMs` to `4000` on that page only, using the check as a regression detector while keeping the default everywhere else. A team preparing an external performance report keeps `2500` unchanged, because the value of the result there is that the boundary is not theirs.
How does an agent call it with parameters?
{
"type": "url",
"url": "https://example.com",
"validations": [
{
"id": "page-load-speed",
"parameters": {
"maxLcpMs": 2500
}
}
]
}