What Core Web Vitals actually cost you in revenue
We instrumented six e-commerce clients to correlate LCP and INP with conversion. The numbers were larger than any of them expected.
Core Web Vitals get treated as an SEO checkbox — a score to turn green so Google stops complaining. That framing badly undersells them. Across six e-commerce clients we instrumented over the last year, the correlation between field performance and conversion was steeper than the correlation between performance and search ranking. The ranking effect is real but modest. The revenue effect is not modest.
How we measured it
We used real user monitoring, not lab tests. Every session recorded its Largest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift alongside whether it converted and its order value. That gives a distribution, not a single number, and it reflects real devices and networks rather than a fast laptop on office wifi.
We then bucketed sessions by LCP and INP and compared conversion rates between buckets, controlling for traffic source and device type so we were not just measuring "mobile is slower and converts worse."
The LCP finding
Sessions with an LCP under 2.5 seconds converted meaningfully better than sessions between 2.5 and 4 seconds, and the gap widened sharply past 4 seconds. The effect was strongest on the first page of a session — if the landing page was slow, a large share of users never reached a second page at all.
The revenue framing that landed with stakeholders: for one client, moving the slowest third of mobile sessions into the "good" LCP bucket was worth more in projected annual revenue than the entire planned redesign it was competing with for budget.
The INP finding
INP mattered most deep in the funnel — filtering a product list, opening a variant selector, applying a promo code. Sluggish interactions there did not just annoy users; they produced measurable drop-off at exactly the steps closest to purchase.
INP problems were also the cheapest to fix. They were almost always a single oversized main-thread task: a heavy third-party script, an unmemoised React tree re-rendering on every keystroke, or a synchronous layout in a scroll handler.
What we changed
On the LCP side: server-render the hero and above-the-fold content, preload the LCP image, cut render-blocking CSS and defer non-critical JavaScript, and move the largest third-party tags behind consent or interaction.
On the INP side: break up long tasks, memoise expensive components, debounce filter inputs, and audit every third-party script for main-thread cost. Several clients removed tags that no one could explain and lost nothing but weight.
The takeaway
Treat Core Web Vitals as a revenue metric with an SEO side effect, not the other way around. Put RUM in place so you are optimising the experience real users get, set budgets, and enforce them in CI so the wins do not erode with the next feature.
