All posts

What counts as a visitor in cookieless analytics?

Every analytics tool reports unique visitors, and not one of them can measure the thing that phrase describes. A web server cannot see people. It sees requests. Everything else is inference.

That is true with cookies too. The difference is that cookieless analytics is usually more honest about it, because the limitation is impossible to hide.

What is actually available

When a request arrives, the server can see the address it came from, the user-agent string, what was asked for, and roughly when. That is close to the whole list. None of it identifies a person: an office shares one address between fifty people, a phone changes address between wifi and mobile, and millions of people run identical browser versions.

So a visitor count is always a heuristic applied to those signals, and the interesting question is which heuristic.

The three common answers

A cookie. Write an identifier to the device, read it back later. It works well and it is the thing that makes a tool a tracker: the identifier persists, it is tied to a device, and it can follow somebody for as long as it survives. It also now requires consent in a lot of places, which means it only counts the people who agreed.

A hash of request attributes. Combine the address and user agent, hash them, count distinct hashes. No cookie, works immediately, counts everybody. The catch is that the same inputs produce the same hash tomorrow, so the identifier is durable whether or not you wanted it to be.

A hash with a rotating salt. The same, plus a random value mixed in and replaced on a schedule. While the salt is current, two visits from the same browser produce the same hash. Once it is replaced and the old one destroyed, the link is gone permanently.

Honest Analytics uses the third, with the salt overwritten in place every 24 hours. Not rotated and archived. Overwritten. After that, yesterday’s identifiers cannot be recomputed by anyone, including somebody holding the database and the original address, because the key no longer exists. The address itself is never written down: it exists as a variable inside one function, gets hashed, and is gone.

So what does the number mean?

A daily estimate of distinct browsers. Precisely that, and it is worth saying the whole phrase occasionally rather than the shorthand.

  • Someone who reads you on Monday and again on Thursday counts once on each day, and twice in a weekly total.
  • Someone on a laptop and a phone counts as two.
  • Two people sharing a device and a browser count as one.
  • A private window counts separately.

None of that is a defect being worked around. It is what the measurement is.

What it cannot tell you

Be clear about this before you build a report on it:

  • No cross-day uniques. A monthly “unique visitors” figure built by summing daily ones is overcounted, and any tool presenting it as a true monthly unique count is guessing.
  • No returning-visitor rate, for the same reason.
  • No lifetime user value or long journeys. Funnels work within the daily window unless you deliberately opt into something longer-lived.

Why a worse number is often the right number

The instinct is that a durable identifier gives a better answer. Sometimes. But the cookie-based number has its own distortion, and it is usually larger and less visible: it only counts the people who accepted the banner.

If forty per cent of your visitors decline, your precise, cross-day, cookie-based unique count is a precise measurement of a self-selected sixty per cent. A daily estimate covering everybody may describe your actual audience considerably better, even though it sounds less rigorous.

Precision and accuracy are not the same thing, and analytics dashboards are very good at presenting the first as though it were the second.

How to use it

Use it comparatively, which is how you should use analytics anyway:

  • Is this week’s daily average higher than last week’s?
  • Did the post that did well bring more distinct browsers, or the same ones more often?
  • Which day of the week is consistently busiest?

Every one of those questions survives a systematic undercount, because the undercount applies equally on both sides of the comparison. The absolute total is the least useful number analytics gives you and the one everybody fixates on.

Counting things honestly means saying what the number is. This one is a daily estimate of distinct browsers, and it is a deliberate trade: less precision, no permanent profile.