Lab conditions flatter you

A local test uses a fast device on a fast connection close to the origin, without the third-party scripts that only load in production. Every one of those differences moves in the same direction, so the lab number is systematically optimistic.

Measure real visits, not simulations

Field data from actual sessions is the only number that reflects your audience’s devices and networks. Watch the slower end of the distribution rather than the average — averages conceal exactly the visitors having a bad time.

Your median visitor is not you, on your laptop, on your office wi-fi.

Third-party scripts are the usual gap

Analytics, chat, consent tools, and pixels frequently do not run in a local test but always run for the visitor. This is the invisible half of what actually makes a site fast and the part nobody re-audits after launch.

First visits are the ones that matter

Repeat testing measures a warm cache; a prospect arriving from a search result has none of your assets. Test with the cache disabled, because that visit is the one that decides whether they stay.

Layout shift is felt more than load time

Content that moves as fonts and images arrive is experienced as slow even at good load times, and it causes mis-taps. Reserving space — explicit image dimensions especially — fixes most of it.

Set a budget and check it on deploys

Performance regressions arrive one reasonable addition at a time. An agreed limit, checked automatically, is what stops the slow accumulation that turns a fast site into an average one over a year — the same drift that makes AI features expensive after launch.