Free Tool
    Updated 6 June 2026

    Third Party Scripts Checker

    Find every third-party script on your page. Measure bytes, blocking time, and which ones are killing INP.

    By Deepak Shukla — Founder & CEO, Pearl Lemon

    What This Tool Checks

    • Every external script origin (analytics, ads, chat, tag managers)
    • Total third-party transfer size
    • Scripts blocking the main thread on load
    • Long tasks contributing to INP
    • Scripts loading synchronously without async/defer
    • Cookie-dropping origins (GDPR/CCPA exposure)

    Why This Matters

    Third-party scripts are the leading cause of poor INP and the most common reason teams fail Core Web Vitals after their own code has been optimised. A single misbehaving tag manager can add 800ms to every interaction.

    How to Fix Issues

    1. 1.Add `async` or `defer` to every non-critical `<script>`
    2. 2.Move analytics to a server-side container (e.g. Stape, Cloudflare Workers)
    3. 3.Lazy-load chat widgets until the user scrolls past the fold
    4. 4.Audit Tag Manager — remove tags that fire but nobody reads
    5. 5.Use Partytown to move third-party scripts to a worker thread

    By the time the marketing team has added analytics, ads, chat, A/B testing, session replay, conversion tracking, and a tag manager to coordinate it all, third-party scripts are usually the heaviest thing on the page. This checker inventories every external script and tells you which ones are paying their way.

    Why third-party scripts kill INP

    INP measures the worst interaction latency on the page. Most third-party scripts attach global event listeners — Tag Manager fires on every click, analytics tracks every form interaction, chat widgets check session state on every input. Each of these adds milliseconds to every interaction, and the worst single one becomes your INP number. Removing or deferring one bad tag can cut INP in half overnight.

    Async vs defer vs neither

    A bare <script src="..."> blocks HTML parsing while it downloads and executes. async lets parsing continue but executes the script the moment it arrives (in any order). defer lets parsing continue and runs scripts in document order after parsing. For analytics and almost every third-party script, defer is the right answer — it can't make the page slower and it preserves execution order.

    Server-side tagging is the real fix

    Google Tag Manager runs in the browser by default — every page load downloads 100KB+ of GTM and runs every tag client-side. Server-side GTM (or Stape, or Cloudflare's server-side container) moves the tag execution to your edge, dropping the client payload to ~30KB and removing the third-party scripts from the user's critical path entirely. It's the highest-ROI infrastructure change for any site with a heavy marketing stack.

    The chat widget pattern

    Intercom, Drift, Crisp, and similar chat widgets typically ship 200–500KB of JavaScript and open a WebSocket connection before the user has decided whether they want help. The pattern that works: show a lightweight CSS-only "Chat with us" button immediately, and lazy-load the real widget on first click or after 30 seconds of session time. Same UX, 95% bandwidth saved.

    Partytown — when you can't remove the script

    When marketing refuses to give up a tag, Partytown moves it to a web worker so it runs off the main thread. The script keeps working (analytics still fires, ads still load) but its long tasks no longer block your INP. It's a clever compromise for the political stalemate every perf engineer has lived through.

    Methodology

    We render the page in a headless Chromium and record every network request. Anything not on your origin (or on a known subdomain you control) is classified as third-party and grouped by the second-level domain. For each origin we capture transfer size, main-thread blocking time, long-task count, cookies set, and async/defer presence. The INP impact is estimated by attributing each long task to its initiating script using the Performance Observer Long Tasks API. Cookie-dropping origins are flagged for GDPR/CCPA exposure.

    Frequently Asked Questions

    Monitor this continuously with LemWatch

    A one-off free third-party scripts checker shows you today. LemWatch re-runs the same checks around the clock and alerts you the moment something breaks — free for up to 10 sites, no card needed.

    HTTP Status Code Reference

    Understanding HTTP status codes helps you diagnose issues found by this tool: