Norsolia

Blog / Why we count plays, not listeners

Why we count plays, not listeners

Most podcast dashboards show “unique listeners”. Ours does not, and the reason is simple: we cannot honestly produce that number, so we do not pretend to.

What we can see

Norsolia runs behind a gateway that terminates TLS. By the time a request reaches the app, it arrives from that gateway, not from the listener, and the client IP is gone. We also do not run third-party analytics. So the inputs that other hosts use to guess at unique people — IP plus User-Agent — are not all available to us.

What we count instead

A play is a request for an episode's audio that starts at the beginning: either a full download or a Range request starting at byte 0, which is what a player sends when you press play. To avoid counting the same player twice when it re-buffers, we record a play at most once every five minutes per episode and per salted hash of the User-Agent string. That hash is kept for seven days and then discarded.

Why not call it listeners

Because a User-Agent is not a person. Two people on the same phone model share one; one person across a phone and a laptop counts as two. The number is a reasonable floor for “this episode got played” and a poor estimate of “this many humans listened”. Labelling it honestly is the whole point.

You will find the method written the same way in the API reference and on the features page. If we ever change how it works, the changelog will say so.

All posts