Statistics and logs
See how viewers watch your videos, and find every request and change in the library's logs.
Statistics shows how viewers watch the library's videos and what happened to its requests. Logs lists every request and change one by one. Both sit under Insights in the library sidebar.
Statistics
Open Libraries → your library → Statistics.
Period and export
Choose the Period: Last 7 days or Last 30 days. Every figure is compared with the period just before it, such as "Up 12% vs the previous 7 days". Days are counted in UTC.
Export CSV downloads the statistics of the chosen period.
What you see
| Card | What it shows |
|---|---|
| Views, Watch time, Bandwidth | The totals for the period and their change. |
| Views per day | This period as a line over the previous one. Point at a day for its numbers, or select Show the numbers for a table of every day. |
| Views by country | Each country's views, share and change. |
| Watch time | Average per view, Average completion and the Most watched video, which opens its details. |
| Bandwidth | The data delivered By viewer region: Middle East, North Africa, Europe and other regions. |
| Requests | Requests By status (2xx served, 4xx blocked), By source (player embed, search widget, direct stream URL) and the blocked ones by reason. |
Blocked requests
Under Blocked, by reason, each reason links to the matching entries in Logs:
| Reason | What it usually means |
|---|---|
| OTP expired or reused | The OTP was used after its time window or a second time. Check your OTP rules and that your server requests a fresh OTP for each page view. |
| Domain not allowed | The video was embedded on a site that isn't in your allowed domains. |
| Country blocked | The viewer is in a country your country rule blocks. |
Before the first view
Statistics start when a viewer first plays one of the library's videos. Until then the page says No views yet; select Open API & embeds to put a video on your site.
Count each viewer once
When your server requests an OTP, pass the viewer's user_id. OctaVideo then counts one person as one unique viewer across all their devices. Without it, each browser counts separately. See Secure playback.
Logs
Open Libraries → your library → Logs. Entries are listed newest first, with times in UTC.
Logs are kept for a number of days that depends on your plan; the page says how long. Export them to keep them longer.
Filter the entries
- Saved filters: one-click filters. Four are ready-made: Blocked requests, Encoding failures, DRM errors and Key & settings changes. Select Save current filter to name and keep your own; removing one asks first and never deletes log entries.
- Search: type a query and press Enter.
- Time range: Last hour, Last 24 hours, Last 7 days or Last 30 days.
- Type: All types, Security, Delivery, DRM, Encoding or Settings.
Clear filter resets them all. The filter is kept in the page address, so you can bookmark or share it, and the links from Statistics open the matching entries.
Query syntax
| Query | Finds |
|---|---|
status:403 | Requests that ended with that HTTP status. |
status:4xx | Every refused request. |
status:failed | Failed jobs, such as encodes. |
reason:otp | Requests blocked for that reason: otp, domain or country. |
video:VIDEO_ID | Entries for one video. |
ip:203.0.113.7 | Requests from one IP address. |
| Any words | Entries that contain them. |
Read an entry
Select an entry to open its details: the time, status, video, OTP, referrer, viewer, client, or who made a settings change, and the full Event JSON.
- Copy JSON copies the event, for your own tools or for support.
- Show requests from this IP filters the list to that address.
Live tail
Live tail adds new entries as they happen. If you've scrolled down, they wait behind a Show new entries button so the list doesn't move while you read.
Export
Export downloads the entries that match the current filter as a CSV file.