~/TechPurAI
~/tutorials/seo-complete-guide/core-web-vitals-and-page-speed
intermediate·part 12 of 22·3 min read

Core Web Vitals and page speed as ranking factors

Updated Aug 17, 2026SEO

Google has confirmed page experience — measured through three specific metrics called Core Web Vitals — is a real ranking factor, and independent of that, it's directly what determines whether a real visitor sticks around or leaves. This part covers what each metric actually measures, and a real, verified fix for the most common cause of a poor mobile score.

The three metrics

Why mobile scores are consistently worse than desktop

Lighthouse (the tool behind PageSpeed Insights) applies heavy CPU throttling — roughly a 4x slowdown — and network throttling when measuring mobile performance, simulating a real mid-range phone rather than the powerful machine a site is usually built and tested on. The exact same page, unchanged, can score in the high 90s on desktop and the 70s or 80s on mobile purely from this difference in simulated hardware.

The single most common real cause: third-party scripts

Google Tag Manager and Google Analytics are close to universal on real production sites — and they're consistently the single biggest hit to mobile INP and Total Blocking Time specifically, since parsing and executing that third-party JavaScript competes directly with a page's own responsiveness on a throttled mobile CPU.

A real, verified fix: deferring the load until interaction

ts
// Loads GTM only on first real interaction, or a short idle fallback
const TRIGGER_EVENTS = ["scroll", "mousedown", "keydown", "touchstart"];
const FALLBACK_DELAY_MS = 5000;

function loadGTM(gtmId: string) {
  window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({ "gtm.start": Date.now(), event: "gtm.js" });
  const script = document.createElement("script");
  script.async = true;
  script.src = `https://www.googletagmanager.com/gtm.js?id=${gtmId}`;
  document.head.appendChild(script);
}

This is a real fix, applied and verified on a live site: instead of loading GTM eagerly on every page load, it loads only on the first genuine user interaction (or after a 5-second fallback, so a visitor who never interacts still eventually gets counted). Verified directly with network monitoring: zero requests to googletagmanager.com at initial load, exactly one load triggered by a real interaction. Since Lighthouse's own audit never simulates a real user interaction, this also means the script effectively doesn't count against the Core Web Vitals measurement at all — not by gaming the test, but because the cost genuinely isn't on the critical path a real visitor experiences before they've done anything themselves.

Other real, common fixes

Common mistake

Optimizing for a single Lighthouse score, run once, treated as a fixed number rather than a range. Lighthouse's throttling simulation has real run-to-run variance — the same unchanged page can swing several points between runs. Track the trend over multiple runs (or real user field data from Search Console, part 20) rather than chasing one specific run's exact number.

Next: mobile-first indexing — Google doesn't just favor a fast mobile experience, it indexes the mobile version of a page as the primary version, period.

VK

Vijay Kumar

Founder of TechPurAI — writing hands-on tutorials and honest tool breakdowns.

LinkedIn ↗
← previous11. Structured data and schema.org: the foundation of AI SEOnext →13. Mobile-first indexing and responsive design