All in the <head> – Ponderings and code by Drew McLellan –

Ad Blocking and the Future of Web Analytics

This morning I caved and installed an ad blocker in my primary browser. I’d resisted for years, believing that advertising was paying for the sites I enjoyed, so subverting that advertising was tantamount to stealing. I also both run a site that sometimes gets support from advertisers, and pay to advertise our business on other people’s sites. So I’m culpable, and blocking felt at best hypocritical. But enough is enough.

Large parts of the commercial web have become unusable due to advertising. Diminishing revenues have resulted in more ads per page, and ridiculous over-pagination of content, resulting in less engagement and diminishing revenues. It’s a good old fashioned race to the bottom. And at the bottom it’s all ads.

I haven’t, by the way, installed an ad blocker in the browser I use for web development. I don’t use anything in my development browser that could affect or influence the results I’m seeing. The last thing you need is your browser lying to you – that way madness lies.

But I wasn’t intending to write about ad blocking, so much as an unfortunate side effect of it. We block ads because they’re annoying, they burn through bandwidth and they make page loads tediously slow. Once you start blocking ads, it quickly becomes apparent that there’s a whole bunch of non-visual trackers in pages that exhibit most of the same problems. Trackers from ad networks, social networks, all sorts of crap that follows you around the web and records your browsing habits. I’m not particularly tin foil hat about privacy, but they’re annoying and slow. Because of this, most ad blockers also block invisible trackers, including things like Google Analytics.

Wait, what.

Including Google Analytics. And including a myriad of other analytics and monitoring tools that many of us use harmlessly on our own sites to gather useful information. I use one called Gauges on this site (it gets blocked) and prior to that I used Mint (also gets blocked). And it’s right that they get blocked – I’ve asked the ad tracker to do just that. This isn’t an ad blocker problem. But it is a problem.

If you run a website, or work with clients to do things like redesign websites, you’ll be used to using web analytics tools all the time. They tell us which parts of our site are working well, and which are failing. They tell us what sort of technologies our visitors have access to, enabling us to make informed decisions about development approaches. They help us figure out where traffic is coming from and to. It’s the primary method of measuring if a website is doing the job it’s designed for. This isn’t sinister user tracking or manipulative growth hacking, this is just Running a Website 101.

As ad blocking becomes more mainstream (it was very publicly added to iOS yesterday – the publicly being the interesting part) tracker-based web analytics are going to become less and less reliable. The landscape has shifted and this is the new reality. Your web stats aren’t going to be useful. So what’s next?

In my first web job 18 years ago, I used to spend every Monday morning running a week’s worth of Apache server logs through Webalizer to produce ugly, static HTML reports. I’m not sure I could even do that today – by the time each request goes through Nginx to Varnish to (then maybe) Apache, I’m not sure if those logs would be of any use for anything.

I’m unclear as to the solution, but I suspect it’s server-side rather than client-side, and I suspect we’re going to need it in 2016. So we’d best get thinking.