Scroll World 0%
Third parties, 2026

Everyone added one thing

The median mobile home page now weighs 2,559 KB and pulls in 79 third party requests. No single person approved that. It was assembled one defensible decision at a time by people who never met, and a good share of it was never chosen by anyone at the company at all.

Scroll World 26 August 2026 7 min read

There is no meeting where this gets decided

Ask anyone at a company why their site is slow and you will get a shrug and a name. Marketing added the tags. Legal required the consent banner. Sales wanted the chat widget. Product wanted the session recorder. Every one of those people was right, on the day, about the thing they asked for.

What nobody owns is the total. There is no role whose job is the sum, no meeting where somebody looks at all of it at once and asks whether the page is still a page. So the page grows the way a garage fills: nothing arrives without a reason, nothing leaves without one, and only one of those two things happens regularly.

2,559 KB
Median mobile home pageHTTP Archive, 2025
79
Median third party requests on that pageHTTP Archive, 2025
22 KB
Of that page which is the actual writingthe HTML, at the median

The words are a rounding error

That last number is the one worth sitting with. On a median mobile home page the HTML, which is to say every word anybody wrote, every heading, every link and every paragraph, comes to 22 KB. The images come to 911 KB. The JavaScript comes to 632 KB. Fonts take 122 KB and stylesheets take 77 KB.

So the thing the reader came for is under one percent of what they downloaded to get it. The other ninety nine percent is delivery, measurement, decoration and consent, and almost none of it was requested by the person waiting.

How a page gets to two and a half megabytes

Reasonable

Somebody wants to know what works

Analytics goes on. It is one script, it is free, and refusing it means arguing against evidence.

01
Reasonable

Somebody wants to add tags without a deploy

A tag manager goes on. Now anyone in marketing can add a script to every page without touching the codebase, which is exactly the point and exactly the problem.

02
Required

The law arrives

A consent platform goes on, because it has to. Eighteen percent of all sites now carry an industry standard consent signal, and it has to load before almost anything else can.

03
Reasonable

Somebody wants to talk to visitors

A chat widget goes on. It is a bundle, a font and a websocket, and it is idle on ninety nine percent of visits.

04
Reasonable

Somebody wants to see where people rage click

A session recorder goes on. It watches the whole page, all the time, on every visit.

05
Reasonable

Somebody wants to test a headline

An experiment framework goes on, and it has to block the render, because a flash of the old headline defeats the test.

06
Never discussed

Nobody asks for the rest

Each of those vendors loads vendors of its own. The median inclusion chain runs three deep.

07
The thing the shrug is hiding

Nobody ever approved the whole page.

Ask who approved the analytics and you get a name and a date. Ask who approved two and a half megabytes and the room goes quiet, because the question has never been asked of anybody.

Each partSigned off by somebody with a good reason, on a normal working day.

The wholeSigned off by nobody, because owning the total is not anyone's job.

The restLoaded by a vendor that a vendor chose. Median chain depth, three.

What a median mobile home page is actually made of

  • Images
    911 KBone third of the page
  • JavaScript
    632 KBthe part that costs time twice, once to download and again to run
  • Fonts
    122 KBbefore a single word can be drawn in them
  • CSS
    77 KBmost of it for rules this page never uses
  • HTML
    22 KBeverything anybody wrote

The part that compounds

A page is not a pile. The order matters, and third party code is unusually good at getting to the front of the queue.

A tag manager exists so that scripts can be added without a deployment, which means the people adding them are not the people who will be asked why the page is slow. A consent platform has to run before the things it governs, so it sits in front of everything. An experiment framework has to block the first paint or it cannot do its job. Each of these is defensible on its own terms and each one puts something between the reader and the writing.

Then there is the layer nobody chose at all. The median third party on a page brings another third party with it, three deep at the middle of the distribution. Whoever signed off on the vendor did not sign off on that vendor's vendors, and in most cases could not name them.

Every individual decision was defensible. Nobody was ever asked about the sum, so the sum is the only part of the page that never had to justify itself.

The shape of the whole problem
The question that has no owner

Somebody has to be responsible for the total, or the total is whatever is left over.

That is the whole intervention. Not a ban on analytics, not a purge of vendors, not a performance sprint that lasts a quarter and decays. One person, one number, and the standing right to say no to the seventh reasonable request.

What actually stops it

  1. Give the total an owner

    Not performance as a shared value. A named person whose job includes the number, who is in the room when the seventh tag is proposed and is allowed to refuse it.

  2. Set the budget before the work

    A ceiling agreed in advance is a decision. A number measured afterwards is a report, and reports lose arguments to deadlines every time.

  3. Enforce it where the work happens

    A budget that fails a build is a rule. A budget on a dashboard is a suggestion, and a suggestion is what you have when nobody owns the total.

  4. Make removal somebody's job too

    Things arrive with an owner and a reason and leave with neither. Until taking something off is somebody's actual work, only one direction is staffed.

  5. Count what the vendor brings

    Ask any new third party what it loads. The median answer is other third parties, and that is the part of the page nobody has ever reviewed.

What we do about it here, including the part we lost

We are not neutral on this, and it is fair to say why. Every page on this site is compiled from a plain text file by our own library of scroll mechanics. There is no framework, no tag manager and no analytics vendor, and the only measurement running is a single reading of how far down the page somebody got, stored as a count with no identifier attached to it.

Then there is the one we did not win. This page loads its typefaces from Google Fonts, which is a third party stylesheet that in turn fetches third party font files, and it is the single most common third party in the entire dataset above. Somebody here decided the typography was worth it. That is precisely the shape of decision this whole page is about, and writing an article on unowned totals while quietly holding one of our own would be the least honest thing we could do. It is on the list. The reason it is still here is that it has not yet been anybody's job to remove it, which is also the point.

That is not an achievement, it is a starting position, and it is easy to hold when the site is new. The reason we can still hold most of it in a year is that the budget is not a value we share, it is a number the compiler enforces. A page over the ceiling does not deploy. Nobody has to win an argument on a Friday.

400 KB
Hard ceiling on raw HTML per pagethe build exits non zero above it
350 KB
Ceiling on the compressed page plus every asset it loadsadded because the first number stopped telling the truth
1
Third party this page loadsthe web font stylesheet, counted honestly

Sources

Every figure on this page comes from the 2025 Web Almanac, an annual analysis of millions of real websites by HTTP Archive. Where we have divided one published figure by another, the page says so at the point where we did it.

If your own page has an owner for the total, we would like to hear how you got one. If it does not, that is the more common answer and the more interesting conversation.

Tell us who owns your total

Sources
  • Page Weight, 2025 Web Almanac by HTTP Archive: https://almanac.httparchive.org/en/2025/page-weight
  • Third Parties, 2025 Web Almanac by HTTP Archive: https://almanac.httparchive.org/en/2025/third-parties
  • HTTP Archive, State of the Web reports: https://httparchive.org/reports/page-weight
Keep reading