Skip to content
Castreon
Monitoring & server

Audience statistics

Updated 12 Oct 2026

The Audience page shows who watches your channels, for how long and from where — for each channel and each output. Every channel also has its own Audience tab.

Available from Castreon 1.5.0. The basics are in all plans; the advanced statistics are in Pro and Enterprise (and in the free trial).

All plans Pro and Enterprise
Viewers now, by channel and output ✓ ✓
Chart: average and peak over 24 hours, 7 days, 30 days, 12 months ✓ ✓
Channel ranking ✓ ✓
Unique viewers per day and per month ✓
Watch hours, sessions, average session ✓
Countries, apps and devices, outputs ✓
Session list with IP and CSV export ✓

How viewers are counted

A viewer is a session: one channel, one output, one IP address and one app.

  • HTTP-TS — the session is the connection; it is counted exactly, with the traffic sent.
  • HLS, LL-HLS, DASH, the web player, the archive — players request pieces every few seconds; the session lasts as long as requests keep coming and ends after 60 seconds without any.
  • WebRTC — sessions come straight from the WebRTC server.

Archive viewers (catch-up, timeshift) are counted separately, under the Archive output, not as live viewers.

CDN: viewers who come through a CDN never reach the server, so they do not appear in the statistics — the CDN counts them. Castreon only sees the CDN that pulls the stream.

The Audience page

  • Now, Peak, Average, Unique today — the main figures for the chosen interval.
  • The chart — the average of concurrent viewers (the area) and the peak (the dashed line), over 24 hours (every 5 minutes), 7 days (per hour), 30 days or 12 months (per day / month). Hover over the chart for the exact figures.
  • Now by channel — refreshes every 10 seconds, with the viewers on each output.
  • Ranking — channels by watch hours and peak.

Details (Pro and Enterprise)

Choose Today, 7 days, 30 days or 90 days:

  • Sessions, watch hours, average session (how long a viewer stays), concurrent peak;
  • the days, with the unique viewers of each day;
  • Countries — by IP address;
  • Apps and devices — recognised by the player identification (User-Agent);
  • Outputs — HLS, LL-HLS, DASH, web player, archive, HTTP-TS, WebRTC.

Sessions (only for operators and administrators) shows every finished session: the start, the duration, the channel, the output, the IP, the country, the app and the traffic. You can filter by IP, and CSV export downloads all sessions in the interval.

Unique viewers are counted by IP and app, per day and per month. Castreon does not keep the IP addresses for this: it keeps only fingerprints made with a key that changes every month, and deletes them at the end of the day or the month respectively.

What is kept and for how long

Data Contains IP? How long
Viewers per minute no 48 hours
Viewers per hour and per day, unique viewers, watch hours, countries, apps, outputs no 2 years
Sessions with IP (Pro and Enterprise) yes as long as you choose: 30 days (default), 7, 90 or none

Session retention is chosen in Settings → Statistics. When you shorten the period, older sessions are deleted right away; with None, no session with IP is kept any more, only the figures.

IP addresses are personal data. As the operator, you decide whether and how long to keep them, and you are responsible for the legal basis and for informing viewers (for example in your service's privacy policy). Castreon only applies your choice on the server; the data goes nowhere.

Countries

The country comes from the free DB-IP IP to Country Lite database, included in every Castreon release and updated with it. The database stays on the server — addresses are never sent anywhere for a lookup. Without the database, the country shows as Unknown; the rest of the statistics work the same.

If you want a newer database than the one in the release, put the dbip-country-lite.mmdb file in the data folder, under geo/, and restart the service.

IP Geolocation by DB-IP (CC BY 4.0 licence).

Prometheus and Grafana

The castreon_channel_viewers{channel, slug, output} metric gives the current viewers by channel and output, at the /metrics address (see Metrics and Grafana).

Privacy

Cookies & local storage

Strictly necessary cookies are always active. Analytics and marketing use Google services and only start if you accept them — until then nothing is sent to Google. You can withdraw your consent here at any time.

Strictly necessary

Without them, sign-in, forms and your chosen language don’t work. They don’t require consent (§ 25(2) no. 2 TDDDG).

Always active
Name Purpose Duration Type
castreon-session Keeps your session: sign-in and chosen language 2 hours, renewed on every visit Cookie
XSRF-TOKEN Protects forms against forged requests 2 hours, renewed on every visit Cookie
remember_web_… Only if you tick “Remember me” at sign-in Until you sign out, max. 400 days Cookie
__cf_bm Cloudflare: tells visitors and bots apart, only when traffic is being checked 30 minutes Cookie · Cloudflare
castreon:consent Remembers your cookie choice 12 months Local storage
theme Customer account appearance: light, dark or system Until you change it Local storage

Analytics

Google Analytics 4 (Google Ireland Ltd.): which pages are visited, where visits come from and on which type of device — with pseudonymous identifiers, without storing your IP address. Helps us improve the website.

Name Purpose Duration Type
_ga Google Analytics: recognises the visitor (pseudonymous ID) 13 months Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: keeps the state of the visit 13 months Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): measures whether visits from Google ads lead to a trial or a plan, and allows Castreon ads to be shown on other websites (remarketing).

Name Purpose Duration Type
_gcl_au, _gcl_aw Google Ads: links the visit to the ad click (conversions) 90 days Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing and ad measurement, on Google domains (doubleclick.net) Up to 13 months Cookie · Google (third party)