> For the complete documentation index, see [llms.txt](https://docs.cstplus.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cstplus.org/documentation/feature-reference/analytics.md).

# Analytics

The Analytics page gives you a historical view of how your channels are performing: who is watching, for how long, from where, and how much traffic is being delivered.

***

### Accessing Analytics

Click **Analytics** in the sidebar. The page defaults to the last 7 days. Use the date range picker at the top to change the window.

***

### Overview metrics

The four headline cards at the top of the page:

| Metric           | What it means                                                   |
| ---------------- | --------------------------------------------------------------- |
| Total sessions   | Number of individual viewer connections in the period           |
| Total watch time | Sum of all session durations across all channels and lines      |
| Peak concurrent  | The highest number of simultaneous viewers at any single moment |
| Data delivered   | Total bytes sent to viewers (HLS segments + continuous TS)      |

***

### Traffic chart

The chart below the cards shows **concurrent viewers** and **outbound bandwidth** over time, plotted by minute. Use it to spot:

* Peak hours (when to schedule re-renders or maintenance)
* Unusual traffic spikes (potential credential sharing or bot activity)
* Drops in viewership (channel issues or content problems)

***

### Per-channel breakdown

The channels table shows each channel's share of total sessions, watch time, and bytes. Sorted by sessions descending by default.

{% hint style="info" %}
A channel with high bytes but low sessions usually means a small number of viewers watching a high-bitrate stream for a long time. A channel with high sessions but low watch time may have a content or buffering problem causing early drop-off.
{% endhint %}

***

### Protocol breakdown

Shows the split between **HLS** (adaptive, most IPTV apps) and **continuous TS** (set-top boxes, some players). Useful for understanding your audience's device mix.

***

### Geographic breakdown

If geo data is enabled (MaxMind key or ip-api.com fallback), the analytics page shows a breakdown of viewers by country. Useful for checking that geo-blocking rules are working as expected.

***

### Ad performance

Available on **Pro and Business** plans. Shows below the viewer data:

| Metric               | What it means                                               |
| -------------------- | ----------------------------------------------------------- |
| Total impressions    | All ad breaks that fired across all channels                |
| Fill rate            | Percentage of breaks filled by a paid VAST ad (vs house ad) |
| Avg viewers at break | How many people saw a typical ad break                      |
| By channel           | Per-channel breakdown of impressions and fill rate          |

{% hint style="info" %}
Fill rate below 50% usually means your VAST ad server is returning no-fill for many requests. Check your ad server targeting settings or add more house ads as fallback.
{% endhint %}

***

### Exporting data

Click **Export CSV** to download a file with one row per viewer session. Each row contains:

* Line username
* Channel slug
* IP address
* Country
* Protocol (HLS or TS)
* Session start time
* Watch duration in seconds
* Bytes delivered

{% hint style="success" %}
The CSV export can be imported into any spreadsheet tool or BI platform (Google Sheets, Tableau, Metabase) for custom reporting.
{% endhint %}

***

### Data retention

Session records are kept for 30 days by default. Change this in **Settings > General > Session retention days**.

{% hint style="warning" %}
Reducing retention deletes old records permanently. Increasing it does not recover already-deleted records.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cstplus.org/documentation/feature-reference/analytics.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
