Third-party script impact on main thread is within budget
Why it matters
Marketing pages accumulate third-party scripts faster than any other page type — analytics, heatmapping, chat, A/B testing, and advertising pixels each run JavaScript on the main thread, and their combined effect on ISO-25010 resource-utilisation is additive. Five third-party script domains loading synchronously or with beforeInteractive strategy can contribute 300–500ms of main thread blocking time on a mid-range Android device, which directly causes INP failures above the 200ms threshold. Beyond user experience, each additional third-party domain adds a DNS lookup and TLS handshake — typically 100–300ms per new origin — before any bytes are received. Google's CrUX data consistently shows that pages with four or more synchronous marketing scripts have significantly worse INP distributions.
Severity rationale
High because synchronous third-party marketing scripts collectively cause main thread blocking that exceeds Google's INP threshold on mid-range mobile, degrading Core Web Vitals and page experience rankings.
Remediation
Consolidate all marketing pixels into Google Tag Manager so they fire through a single script tag, then defer GTM itself with afterInteractive. Load the chat widget on-demand rather than on page load.
import Script from 'next/script'
import { useState } from 'react'
// One tag for all pixels — consolidate in GTM dashboard
<Script
src="https://www.googletagmanager.com/gtm.js?id=GTM-XXXXX"
strategy="afterInteractive"
/>
// Chat widget — load only when user signals intent
const [chatReady, setChatReady] = useState(false)
const initChat = () => !chatReady && setChatReady(true)
{chatReady && (
<Script src="https://cdn.intercom.com/widget.js" strategy="lazyOnload" />
)}
<button onMouseEnter={initChat} onClick={initChat}>Chat with us</button>
Aim for no more than 3 third-party script domains on initial page load. Run npx lighthouse --output=json and check the "Third-Party Summary" section for main thread blocking time per origin.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Page Speed Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · performance-efficiency.resource-utilization — Third-party script budget — main-thread resource-utilisation
Taxons
History
- 2026-04-18·v1.0.0·Initial import from marketing-page-speed·automated