Core Web Vitals for Agencies: The Client-Friendly Guide

LCP, INP, and CLS decide rankings and conversions, but most client conversations about them go sideways. How to explain, measure, and fix Core Web Vitals without the jargon.

Core Web Vitals for Agencies: The Client-Friendly Guide
On this page
  1. The three metrics, translated
  2. Where the problems actually live
  3. Why I build on Astro by default
  4. The renewable part

Your client doesn’t care about “Largest Contentful Paint.” They care that their site feels slow on their phone and that a competitor outranks them. Core Web Vitals is just Google putting numbers on those two feelings — and agencies that can move the numbers have an easy, renewable pitch.

The three metrics, translated

  • LCP (Largest Contentful Paint) — “How long until the page looks loaded?” Target: under 2.5 seconds.
  • INP (Interaction to Next Paint) — “When I tap something, does it respond?” Target: under 200 ms.
  • CLS (Cumulative Layout Shift) — “Did the button move as I was about to press it?” Target: under 0.1.

That’s the entire vocabulary a client meeting needs.

Where the problems actually live

After auditing more sites than I can count, the same four offenders show up in nearly every failing report:

  1. Unoptimized images — a 2 MB hero PNG on a 4G connection is most of a bad LCP all by itself. Modern formats (AVIF/WebP), responsive sizes, and lazy loading below the fold fix the majority of cases.
  2. Third-party scripts — chat widgets, heatmaps, and five analytics tags competing for the main thread are the usual INP story.
  3. Fonts loading late — text that swaps or shifts mid-read hurts both CLS and trust.
  4. Unsized media and injected banners — anything that pushes content down after paint.
<!-- The single highest-ROI line in web performance -->
<img src="hero.avif" width="1200" height="675" fetchpriority="high" alt="…" />

Explicit dimensions kill layout shift; fetchpriority tells the browser the hero matters. Small changes, measurable wins.

Why I build on Astro by default

Framework choice is a performance decision. Astro ships zero JavaScript by default — components render to plain HTML at build time, and interactivity is opted into per-island. Combined with build-time image optimization, a typical marketing site lands in the green on every metric without heroics.

The renewable part

Core Web Vitals aren’t a one-time fix — every new plugin, banner, and campaign page can regress them. A quarterly performance check-in is a small retainer that keeps you in the account and keeps the site fast. Green scores, happy client, recurring line item. Everyone wins.