Open a news homepage on a mid-range phone, count to five, and you have already paid for something. Not with money — with battery, with bandwidth, with seconds nobody itemizes, and with a small lapse of attention while a panel slides in over the sentence you were halfway through. Advertising funds most of the open web, and it carries a running cost that lands on your device.
What follows itemizes that bill, then turns to how ad filtering actually works.
Page weight: what actually arrives
A web page is not one file. It is an HTML document that names other files, and the article text you came for is usually the smallest item on the manifest. Around it sit fonts, images, framework code, analytics, consent tooling, and the advertising stack: a tag manager, an ad server call, bidding scripts, the winning creative, and the pixels that confirm it was seen.
An ad slot is an empty placeholder filled at load time by parties the publisher does not control, so two readers opening the same address can pull down very different amounts. On a metered plan, that variance stops being abstract.
Where the seconds go
Weight and time are related but not the same thing. Bytes must also be parsed, executed and painted, and scripts are the expensive category. Advertising code is script-heavy by design, because targeting and measurement are decided in the browser at the moment of display.
Every script that runs occupies the main thread, the same one that handles your taps and scrolls. That is why a page can look finished and still feel unresponsive: the pixels arrived, but your scroll gesture is waiting its turn behind an auction.
The article you came to read is almost never the heaviest thing on the page it arrives in.
On page weight
Attention, and the trail of requests
The costs above are countable; the one readers complain about is not. Layout shift is the worst of it: a slot reserves no height until its contents arrive, they arrive late, and the paragraph you were reading jumps down the screen as your thumb lands on something you never chose.
The browser also records where every element came from. Group a network panel by domain and the host list runs longer than most people expect, with few of those hosts belonging to the publisher. Cutting tracker requests is a privacy outcome; cutting their number is a performance one.
How ad filtering works
Filtering is unglamorous pattern matching applied at two moments. The first is the network request: before the browser fetches a resource, a filtering engine compares the outgoing address against a filter list — a human-maintained file of rules describing ad and tracking addresses. If a rule matches, the request is cancelled, and that is where most of the saving comes from.
The second moment is the page itself. Some ad containers are served from the article’s own domain, or leave an empty frame once blocked; cosmetic rules hide those so the layout closes up. The lists are revised continually as sites change, which is why filtering behaves like a subscription rather than a one-time switch.
What your browser does — and where an extension fits
Several of the protections people go looking for are already switched on.
- Pop-up blocking is on by default in every mainstream browser.
- Autoplay policies stop most video playing with sound until you interact.
- Tracking protection restricts third-party cookies and some known tracking hosts.
- Reader modes strip a page back to its text, one article at a time.
What they do not do is remove display advertising as a category. A dedicated adblocker extension is a filtering engine plus a subscription to maintained lists, with a per-site allowlist for publications you would rather fund.
The limitations belong in the same breath. Filtering can break a checkout widget or a video player, and the remedy is usually that allowlist entry. An adblocker is not antivirus. Knowing what a page charges you, and deciding how much of that charge to accept, is the whole of the argument.