counter.md3 min read

← index

Most of the data you collect is a web counter

Tracking users you never intended to learn anything from.

3 min

Tracking people is almost always a bad idea, even when they get something back for it and even when they’ve said they don’t mind.

The part that makes it worse is that most sites gathering the data never use it. They put the script in because it’s what you do, and then the numbers accumulate in somebody else’s database and get looked at roughly never. Analytics gets installed on an enormous number of sites and ends up functioning as a web counter which is a thing you could have built in an afternoon in 1998 without telling anybody’s browser to phone home.

That’s infuriating if you think privacy is worth defending. Not because collecting data is automatically wrong but because the trade everyone keeps defending is supposed to have a benefit on the other side of it. If you’re going to violate my privacy, at least do it for a reason. Do something with the data you took. Learn something you couldn’t have learned otherwise and change the product because of it.

There are cases where hoovering up detailed information about real users is genuinely justified. Real user performance monitoring is one of them because the thing you’re trying to understand is what actually happens on the devices and networks people have rather than on the machine you build on, and no synthetic test can tell you that.

But be honest about who that applies to. Unless you’re a large company with real resources behind it, all of that performance data is going to sit in a database while a senior person occasionally opens the dashboard overview, thinks that the images could be smaller, notices that Android users are having a rough time, and then closes the tab. Those are not good reasons to be collecting real user data instead of running Lighthouse and reading the output.

Lighthouse is good enough for most people and the group it covers is a great deal larger than the group who believe they are in it. It runs locally and it costs nobody their privacy and the things it tells you are broadly the things a small team will have the capacity to act on anyway.

I suspect the frustrating part of working in web performance is watching exactly this happen. The small companies and startups don’t have the resources to do the real user measurement well so they cargo cult what the big companies do without ever spending the time to make good on whatever they might learn from it. You get the collection without the analysis which is the worst combination available, because it has all of the cost and none of the benefit.

To be fair to anyone writing about this seriously, they’re usually addressing people who do have the resources and the intent, and I’m the one turning up to apply their advice to an audience they weren’t talking to. That’s my fault more than theirs.

It’s still where most of the tracking on the web comes from. Not from careful teams with a plan for the data, but from everyone else copying the shape of what careful teams do, and leaving the script in place for years afterwards because nobody remembers who added it or why.

The test is easy enough to apply to your own site, and look at whatever you’re collecting and find the last time a decision changed because of it. If you can’t point at one, you aren’t measuring anything, you’re just paying a privacy cost on behalf of your users and getting a number you glance at when somebody asks how traffic is doing.

Turning it off is free. That’s the part that makes it awkward.