Somebody wants to know what works
Analytics goes on. It is one script, it is free, and refusing it means arguing against evidence.
01The 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.
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.
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.
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.
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
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.
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.
A ceiling agreed in advance is a decision. A number measured afterwards is a report, and reports lose arguments to deadlines every time.
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.
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.
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.
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.
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.
A summary can replace an article. It cannot replace an experience. That distinction is now the difference between a page worth building and a pageā¦
Half your readers stop at the halfway mark, a quarter never get near the end, and the ones who share it are not the ones who read it.