Wow. From the article, an example post on the Verge "downloaded 12MB - a little over 7MB in that is JavaScript" and a refresh of the page with things cached still downloaded 8MB again. And key here -- the article HTML content itself was 75k, the rest is ad network Javascript. (apparently over 20 different companies) I don't like tracking scripts either but why can't the ad networks get together and create a shared sc…
This is complicated because of how ad networks work and all the layers involved. We have somewhat of a standard called RTB (real-time bidding) where an exchange will see each impression and run an auction in 100ms for each ad slot and then take the winning bid and render it on the page. That was easy and efficient when it was just an image. Now ad formats have become more "engaging" and require javascript tags to run…
Not to mention that more and more this javascript is spent calculating whether an ad is being viewed are not and phoning that data back home. Ad providers do this in different ways and it's not uncommon to see them send down a full jQuery build with their ad.