The Quiet Cost of Third-Party Scripts
Third-party scripts arrive one at a time, each with a reasonable justification, each adding a small amount of weight. Nobody ever removes one, because nobody is sure what it does.
Three years later the homepage loads code from fourteen different companies and takes six seconds to respond to a tap.
What you're actually taking on
Every third-party script is a dependency on someone else's infrastructure, executed on your visitors' devices with full access to your page.
That means:
- Their downtime is your downtime. A slow tag server can block your page from becoming interactive. It's not hypothetical — a single unresponsive third party has taken large sites down more than once.
- Their code runs on your main thread, competing with your own interface. This is the usual cause of a page that looks loaded but doesn't respond.
- Their privacy posture is now yours. Whatever they collect, they collect from your visitors, on your site, under your policy.
- They can change without telling you. A script you vetted in 2023 is not the script running today.
The audit
Open your tag manager and your page source, and list every external domain the page loads from. For each one, four questions:
- What business decision does it inform? Not "it collects data" — what did someone do differently because of it?
- When was that last true? Heatmap tools are the classic case: intensely useful for a fortnight, then loading for three years.
- Does it need to load on every page? The chat widget probably doesn't belong on the checkout. The scheduling embed doesn't belong on the blog.
- Does it need to load immediately? Almost nothing does.
In our experience roughly half the tags on a typical site fail question one or two.
What to do with the survivors
Defer them. Analytics can load after the page is interactive. Chat widgets can load on interaction — a lightweight button that fetches the real widget when clicked cuts hundreds of kilobytes for the 95% of visitors who never open it.
Scope them. Load the booking script only on pages with booking, the map only on the contact page.
Self-host what you can. Fonts especially. Self-hosted fonts are faster, more private, and immune to a third party's outage.
Set a budget. A hard limit on how much third-party weight the site carries, checked when someone asks to add another tag. Without one, the answer to "can we add this?" is always yes, and the cost is always invisible.
The uncomfortable conversation
The pushback is always the same: marketing needs the data, so the tags stay.
The reframe that works: those tags are being paid for in visitors. If the pixel that measures your conversions is slowing the page enough to reduce your conversions, it isn't a measurement tool — it's a tax.
Measure the page with and without. On most sites we audit, removing the dead tags is worth a second or more of load time, and nothing of value is lost — because nobody had looked at the data in two years anyway.