SHORT ANSWER
On mobile devices, three Core Web Vitals metrics determine how a website feels: LCP (time to display the largest element), INP (response to interaction) and CLS (layout stability). The most common causes of poor scores are unoptimized images, blocking third-party scripts and no reserved height for elements loaded later.
- LCP measures the time it takes to display the largest element in the viewport.
- INP measures how responsively a page reacts to user interactions.
- CLS measures unexpected layout shifts during loading.
- WebP images with width and height attributes eliminate most layout shifts.
- Third-party scripts should be loaded asynchronously or only after an interaction.
The order of fixes matters
Start with images: the right format, responsive variants and explicit dimensions. This is usually the cheapest improvement and the biggest boost to LCP and CLS.
Next, third-party scripts — chats, pixels, review widgets. Each sounds harmless until you add them all up on a phone with poor reception.
Visual effects without the cost
Animations and effects don’t have to hurt your scores if they use the transform and opacity properties, respect the prefers-reduced-motion setting and are disabled on less powerful hardware.
A practical rule: an effect the user won’t notice on a phone but that eats up 20% of the frame budget is a cost, not a benefit.
Measure on a real phone
A score from a laptop on a fiber connection tells you nothing. Test on a mid-range phone and in the conditions your customers actually open the site in — usually on the move, one-handed, with poor reception.