How Third-Party Scripts Kill Your INP Score (And What to Do About It)
Third-party scripts are the silent killers of INP scores. Learn which tags hurt the most, how to find them in DevTools, and how to fix without losing data.
# How Third-Party Scripts Kill Your INP Score (And What to Do About It)
A customer taps "Add to Cart" on your site. Nothing happens for half a second. Then it works. To you, that feels normal. To Google, that's a failing Interaction to Next Paint (INP) score. To the customer, that's the moment they start wondering if your checkout is broken.
Almost every time we audit a small business site with a bad INP score, the culprit isn't the site code. It's the pile of third-party scripts the owner installed over the years and forgot about. Chat widgets. Heatmap tools. Old analytics tags. A Facebook pixel from a campaign that ended in 2023.
This article is for non-technical site owners. We'll explain what INP measures, why third-party scripts wreck it, how to find the worst offenders, and how to fix the problem without breaking your tracking or your tools.

What INP Actually Measures
INP stands for Interaction to Next Paint. It's one of Google's Core Web Vitals, and it became an official ranking signal in March 2024, replacing First Input Delay.
In plain English: INP measures how long it takes your site to visually respond after a user clicks, taps, or presses a key. It captures the worst interaction during a visit, not the first one or the average one.
Google's thresholds are:
- Good: under 200 milliseconds
- Needs improvement: 200 to 500 milliseconds
- Poor: over 500 milliseconds
That half-second pause when someone clicks your menu is a poor INP. And it's almost always caused by JavaScript doing too much work on the main thread at the moment of the interaction.
The main thread is the single lane your browser uses to handle clicks, scrolling, rendering, and running JavaScript. When a third-party script hogs that lane, your customer's click has to wait in line.
Why Third-Party Scripts Are Such a Problem
Third-party scripts are pieces of JavaScript loaded from a domain you don't control. The usual suspects on a small business site:
- Google Tag Manager and the tags inside it
- Google Analytics 4
- Facebook/Meta Pixel, LinkedIn Insight Tag, TikTok Pixel, Pinterest Tag
- Live chat widgets like Intercom, Tawk.to, Drift, Tidio
- Heatmap and session replay tools like Hotjar, Microsoft Clarity, FullStory
- A/B testing tools like VWO or Optimizely
- Review widgets like Trustpilot or Yotpo
- Embedded videos, maps, and social feeds
- Ad networks if you run display ads
Each does something useful. But each one also downloads JavaScript from another server, runs it on your visitor's device, and often re-runs work every time the user interacts with the page.
You don't control when these scripts execute or how long they take. A chat widget might fetch fresh data right when your customer clicks "Buy." That fetch and its callback can occupy the main thread for hundreds of milliseconds. Your customer's click sits there, waiting.
The worst offenders share a pattern: they attach event listeners to clicks, scrolls, and key presses across your entire page. Every interaction triggers them. Since INP is measured by the worst interaction, it gets dragged down by whichever script is heaviest.

The Scripts That Cause the Most INP Damage
In our audits, the same culprits show up over and over. Rough ranking, worst to least bad, for small business sites:
1. Tag managers with too many tags inside them. GTM itself is light. But once you've added 15 tags through it, each firing on every page view and every click, you've built a main-thread traffic jam.
2. Live chat widgets. Designed to feel "alive," which means they poll, animate, and listen for interactions constantly. Many load 200KB+ of JavaScript on every page even if nobody opens the chat.
3. Session replay and heatmap tools. Recording every mouse movement and click is expensive. Hotjar and FullStory in particular show up in audits where INP suddenly tanked after install.
4. A/B testing scripts loaded synchronously. To prevent "flicker," these often block rendering and re-evaluate experiments on every interaction.
5. Old, forgotten tags. Pixels from past campaigns. Affiliate trackers from a partner you no longer work with. Scripts for popup tools you replaced two years ago.
6. Embedded video players and social feeds. A single embedded YouTube player can add 500KB+ of JavaScript to your page.
A Specific Scenario: The Local Bakery Site
Here's a real pattern. A small bakery has a Shopify site with a homepage, a menu page, and a contact page. Over the years the owner added:
- Google Tag Manager
- Google Analytics 4 (via GTM)
- Facebook Pixel (via GTM)
- A Pinterest tag (via GTM, from a 2022 campaign)
- Tidio live chat
- A Trustpilot review widget on the homepage
- An embedded Instagram feed at the bottom of the homepage
Field data from the Chrome User Experience Report shows an INP of 480ms — borderline poor.
A lab test reveals what's happening when a visitor taps the menu button on mobile:
- The browser fires a click event
- GTM triggers, re-evaluating all four tags
- The Pinterest tag (no longer used) still runs and pings its server
- Tidio's click listener fires and re-checks chat state
- The Instagram embed re-runs a layout calculation
Total main-thread work: 510 milliseconds. The menu opens almost instantly visually, but Google's INP measurement captures the full processing time. Result: poor INP.
The fix took 40 minutes:
- Remove the Pinterest tag entirely.
- Move the Instagram embed below the fold and lazy-load it.
- Switch Tidio to "load on user interaction" (loads when someone scrolls or after 5 seconds).
- Move Trustpilot to a dedicated /reviews page.
New INP: 180ms. Good. No revenue tracking was lost. The chat widget still works — it just appears slightly later.

How to Find Your INP Killers (Without Being a Developer)
You don't need to read code. Three approaches, in order of effort.
The 10-Minute Approach: Run a Free Audit
Tools like FreeSiteAudit scan your site, identify third-party scripts, flag long main-thread tasks, and rank them by INP impact. Run a free audit on your site and look at the INP and third-party script sections.
The 30-Minute Approach: PageSpeed Insights + Chrome DevTools
- Run your homepage through PageSpeed Insights.
- Open the "Diagnostics" section. Look for:
- "Reduce the impact of third-party code"
- "Reduce JavaScript execution time"
- "Minimize main-thread work"
- Expand each row. PageSpeed lists the actual domains and scripts.
The domains hogging the most time are your prime suspects.
The 60-Minute Approach: Audit Every Script
Open your site in Chrome. Right-click → View Page Source. Search for