Why Your LCP Score is Perfect in Lab but Failing in Production
We’ve all been there: Lighthouse gives you a green 100 on desktop, but your Google Search Console is screaming "Poor" for Largest Contentful Paint (LCP) on mobile. The reality is that 75% of your r...

Source: DEV Community
We’ve all been there: Lighthouse gives you a green 100 on desktop, but your Google Search Console is screaming "Poor" for Largest Contentful Paint (LCP) on mobile. The reality is that 75% of your real-world users must hit that 2.5s threshold for Google to count it as a "Good" experience. If you have one slow API region or a heavy hero image that only affects mobile sessions, your score is going to tank. After digging into the data across billions of sessions, here are the two biggest (and often invisible) culprits: 1. The "Hidden" API Latency If your LCP element depends on a data fetch—like a personalized hero image or a product URL returned from your backend—your API latency is your performance floor. On pages with poor LCP, client-side loading delays average around 1,290ms. That is more than half of your entire 2.5s budget gone before a single pixel even renders. 2. The Preload Gap Images represent 72% of LCP elements on mobile. Yet, less than 1% of mobile pages use the single most e