Skip to main content
Winning on conversion but tanking page speed is a real, common way to lose money quietly. ABTestly collects Largest Contentful Paint (LCP) per pageview and shows it per variant, per device, so a winner that harms speed cannot slip through.

Where you see it

On the results page, below the primary and guardrail goals, look for the Performance panel. One row per device (Desktop, Mobile, Tablet) with each variant’s p75 LCP, delta vs baseline, and the sample size the number is based on. The panel is quiet when there is no meaningful data yet, each row says “Collecting speed data”.

What p75 LCP means

  • LCP, the moment the largest element in the visitor’s viewport finished rendering. Roughly, “the page looks done”.
  • p75, the 75th percentile of the distribution. Three-quarters of visitors saw an LCP faster than the p75. This is the standard core-web-vitals bar.
Google’s threshold for “good” is 2.5 seconds. Above 4 seconds is “poor”. A variant that pushes p75 LCP from 2.4 s to 3.1 s is a guardrail alert even if conversions went up.

Per device

The panel is per device because mobile and desktop LCP are qualitatively different. A change that costs desktop 50 ms and mobile 800 ms can win overall while quietly killing your mobile experience.

How the number is collected

Standard PerformanceObserver LCP API on the visitor’s browser. Sent piggybacked on the /e exposure beacon, no extra requests, no third-party service. Vitals are attributed per-experiment: the LCP recorded on a pageview is credited to the variant the visitor was in.

When the guardrail warns you

If a variant’s LCP is meaningfully worse than baseline on a device type, the results page calls it out, even if the primary goal shows a win. The verdict copy is explicit: “Variant B wins on X but harms LCP on mobile.”

Why you might see nothing yet

  • The test has not run long enough. LCP data accumulates per pageview; the panel needs a few hundred loads per (variant, device) before it shows anything.
  • Vitals reset on republish. Any republish of the experiment resets the vitals dataset for it, a new variant code should be measured on its own numbers, not blended with the pre-fix code.
The panel makes this explicit: “Speed data resets when you publish a change.”

What to do with a bad LCP

  • Small regression, big conversion win. Judgment call.
  • Big regression, small conversion win. Almost never worth it. the regression will slowly eat future traffic (search ranking) and the conversion win will regress to the mean.
  • Any regression on mobile. Take it seriously. Mobile is where LCP matters most.
The panel does not decide for you. It shows the data.