Blog · web · 10 min read

Core Web Vitals in 2026: Why SaaS Marketing Sites Lose Rankings (and How to Fix It)

Google now uses INP, LCP, and CLS as direct ranking signals. Most SaaS marketing sites fail INP because of marketing JS bloat. Here's a practical playbook to fix it.

Core Web VitalsSaaS marketingPerformanceNext.js

Published 2026-04-28 by Milton Acosta III

The state of Core Web Vitals in 2026

Google's Core Web Vitals — Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) — are direct ranking signals. Pages failing the "good" threshold for these metrics are deprioritized in mobile search results, where most B2B research now happens.

INP replaced First Input Delay in March 2024 and is the metric most SaaS marketing sites silently fail. INP measures the longest interaction-to-paint delay across the entire session, not just the first interaction. Heavy marketing JavaScript — Google Tag Manager, intercom-style chat widgets, video players, A/B testing frameworks, multiple analytics platforms — all contribute INP debt that surfaces only when users scroll, click menus, or engage forms.

The thresholds Google enforces

MetricGoodNeeds ImprovementPoor
LCP≤ 2.5s2.5-4.0s> 4.0s
INP≤ 200ms200-500ms> 500ms
CLS≤ 0.10.1-0.25> 0.25
A page failing on the 75th percentile of real-user data for any metric is flagged. Mobile and desktop are scored separately; mobile is harder.

Why SaaS marketing sites fail INP specifically

Three culprits dominate:

  1. Marketing tag stack loading synchronously — GTM, GA4, Hotjar, Mixpanel, Intercom, Drift, Calendly, and 8+ other scripts can each parse 100-300KB of JavaScript on the main thread.
  2. Chat widgets injecting iframes on first paint — instead of after meaningful interaction.
  3. A/B testing flicker prevention — hides content until variants load, blocking LCP.
The fix is not removing tools — it's deferring them.

The 2026 playbook

1. Defer all tracking to lazyOnload

Next.js Script with strategy="lazyOnload" is the safest default for GTM/GA/Clarity/etc. Even afterInteractive blocks the main thread during hydration; lazyOnload waits for the browser idle window.

2. Self-host or eliminate web fonts

Google Fonts requires a third-party DNS lookup, TLS handshake, and additional roundtrip. Self-host with next/font or use system fonts. Both LCP and CLS improve.

3. Add preconnect for unavoidable third parties

For tools you can't lazy-load, preconnect early in : . Removes the TCP/TLS overhead from the critical path.

4. Mark hero images priority

The LCP element on most pages is the hero image. next/image with priority and proper sizes preloads it before render-blocking resources.

5. Eliminate render-blocking CSS

Inline above-the-fold critical CSS, defer the rest. Modern Tailwind builds with PurgeCSS and content-aware bundling do this well; check your bundle size with @next/bundle-analyzer.

6. Reduce framer-motion / heavy animation library use

Animation libraries are large. Use CSS animations or Motion One for simple cases; reserve framer-motion for genuinely complex orchestrated motion.

7. Code-split aggressively per route

Next.js App Router splits per-route by default; verify with the build output. Components imported but used only on certain pages should be dynamic-imported.

8. Replace third-party iframes with façades

Chat widgets, embedded videos, calendar embeds — replace with a static placeholder until the user clicks. Cuts INP and LCP simultaneously.

9. Run weekly Lighthouse CI on the deploy pipeline

Catch regressions before they hit production. Treat a 5-point performance drop as a build failure.

10. Monitor real-user metrics, not lab metrics

Lighthouse and PageSpeed Insights give synthetic results. Real-user CWV (via web-vitals JS library reporting to GA4 or your own pipeline) reflects actual user experience and is what Google ranks against.

Empire325's web development practice routinely ships sites with median mobile Lighthouse 95+ at launch. The combination of Next.js architecture, image optimization, deferred tracking, self-hosted fonts, and continuous Lighthouse CI makes Core Web Vitals a non-issue rather than a chronic project.

Share this article

Ready to talk strategy?

Empire325 partners with enterprise companies on the engagements we write about. Schedule a call to discuss your situation.

Schedule a strategy call