List every external domain your site requests, identify what each one is for, and remove anything nobody can justify. Most sites find several from campaigns and tools that ended years ago.

How they accumulate

Never all at once. One at a time, each with a good reason.

A tracking pixel added for a campaign in 2018. A chat widget trialled and kept. A review badge from a directory. A font service. A heat-mapping tool somebody signed up for. A booking widget from a supplier you no longer use.

Each was a small decision, and none of them included a decision to remove it afterwards.

Three years later a site that nobody would describe as complicated is loading code from eleven external domains, and no single person can say what all of them do.

What each one actually costs

More than it appears, because a third-party script is not simply a file.

It requires a connection to a new server, which on a mobile connection has a real delay before anything is transferred.

The file itself then arrives and runs, and frequently requests further files, sometimes from additional domains.

So one line in your page can produce four requests to three servers. A chat widget is commonly several hundred kilobytes by the time it has finished, which is larger than the page it was added to.

The part you do not control

The more serious issue, and the one that turns a performance question into a reliability one.

When you load a script from somebody else's server, your page's behaviour depends on that server responding.

If it is slow, your page is slow. If it is unreachable, and the script is loaded in a blocking way, your page can be held blank waiting for it.

Small businesses do occasionally experience their site becoming unusable because a widget provider had an outage, and the cause is difficult to identify from inside, since the site itself is working perfectly.

Finding all of them

The audit is straightforward and most people have never run it.

Open your browser's network view, load your homepage with an empty cache, and sort or group by domain.

Every domain that is not yours is a third party. Write down each one, what it appears to be, and how much it weighs.

Then repeat on a service page and on a contact page, since scripts are often added to specific pages and forgotten there.

Performance tools will also list third-party usage with the time each one occupied, which is the quickest way to see which are expensive rather than merely present.

The list that comes back

The last is worth opening rather than counting as one, since a tag manager is a container and what it holds is frequently a longer list than anybody expects.

The question to ask of each

Not whether it is useful, since almost anything can be argued to be useful.

Ask who looks at its output, how often, and what decision it has changed in the last year.

A heat-mapping tool nobody has opened since it was installed fails that test. An advertising pixel for a platform you stopped using two years ago fails it plainly.

A chat widget generating two conversations a month, weighing more than your homepage and loading on every page, is a judgement rather than an obvious answer, and the judgement should be made deliberately rather than by default.

A worked example

A veterinary practice audited a site nobody considered heavy and found nine external domains on the homepage.

Two analytics tools, one of which nobody had logged into for over a year. Advertising pixels from two platforms, one of which had never run a campaign. A chat widget at about four hundred kilobytes. A font service loading two families where the design used one. A review badge. A map embed. And a tag manager containing three further items.

They removed the second analytics tool, both pixels, the unused font, and the map embed, replacing the map with a static image linking to directions.

The chat widget stayed, moved to load after everything else and only on pages where it was actually used.

Homepage weight fell by roughly half and the time before the page became usable dropped from about nine seconds to under three on a throttled connection.

Nothing a customer valued was removed.

Load them late, or on demand

For the ones that survive the audit, when they load matters as much as whether.

Almost nothing in this category needs to run before the page is drawn. Analytics can record a visit a second later without losing anything meaningful.

Chat widgets can load after everything else, or only when somebody indicates interest by tapping a button that looks like chat.

Maps and video players can be replaced by a static image that loads the real thing when clicked, which removes the cost entirely for the large majority who never interact with them.

And anything only needed on one page should be loaded on that page rather than site-wide, which is a common and easily corrected mistake.

Set a review date

The reason this problem returns is that removal is nobody's job.

Adding a script is a five-minute task with an obvious owner. Removing one requires somebody to notice it is no longer needed, which nothing prompts.

An annual audit, in the same hour as testing your forms, keeps the list short.

Keeping a note of what each one is for and who asked for it also helps considerably, since the usual obstacle to removing something is nobody being certain what it does.

The counter-case

Removing third parties on principle is not the goal, and some of them earn their weight comfortably.

Analytics that genuinely informs decisions is worth its cost. A booking or payment widget that takes money is worth almost any amount of loading time. A chat widget producing real enquiries for a business whose customers prefer it is doing its job.

There is also a risk in removing tracking that supports advertising you are actually running, since a broken pixel produces campaign data that is wrong rather than absent, which is worse.

Check what is running before removing anything advertising-related, and remove one thing at a time so a change in results can be attributed.

The audit

  1. Load your homepage with an empty cache and list external domains.
  2. Repeat on a service page and the contact page.
  3. Open the tag manager and list what is inside it.
  4. For each, ask who reads it and what it changed this year.
  5. Remove the unjustifiable ones, one at a time.
  6. Defer the survivors, or load them on interaction.
  7. Diarise the same audit in twelve months.

Most sites remove three or four things in an afternoon and lose nothing anybody misses.

Fonts you are paying for and not using are covered in fonts you are loading and not using.


Frequently asked questions

What is a third-party script?

Code your page loads from somebody else's server: analytics, chat widgets, tracking pixels, fonts, maps, and review badges. Each requires a new connection before anything transfers.

Why do they cost more than their file size?

Because one line in your page can produce several requests to several servers, and each new connection has a real delay on a mobile connection before any data arrives.

What happens if the provider goes down?

Your page depends on their server responding. If it is slow, your page is slow, and a blocking script from an unreachable server can hold your page blank.

How do I find all of them?

Load your homepage with an empty cache in your browser's network view and list every domain that is not yours. Repeat on a service page, and open your tag manager.

How do I decide what to remove?

Ask who reads its output, how often, and what decision it changed in the last year. Tools nobody has opened and pixels for platforms you no longer use fail that immediately.

Should I remove tracking pixels?

Check what campaigns are actually running first. A broken pixel produces wrong data rather than no data, which is worse. Remove one at a time so changes can be attributed.

West Coast Media Solutions Inc. provides web design, web development, hosting, digital marketing, and business consulting to organisations across Canada, drawing on more than twenty-five years in the field.

Never counted your external scripts?

Empty cache, network view, list every domain that is not yours. Most sites find three or four nobody can account for.

Start a Conversation