Advanced
Playback stats

Playback Statistics

Fastevo MP2 provides comprehensive playback statistics for both individual content and entire projects. This guide will help you understand how to retrieve and interpret these statistics.

Overview

Playback statistics can be queried for specific content or for the entire project. The statistics include various metrics such as total impressions, total playbacks, total play time, and more. These metrics can help you understand viewer behavior and the performance of your media content.

Retrieving Playback Statistics for Specific Content

To retrieve playback statistics for a specific piece of content, you need to perform a GET request to the following endpoint:

Endpoint

GET https://api.fastevo.net/api/v1/projects/mediaProtection/contents/{contentId}/generalStats

Replace {contentId} with the actual contentId of the media content you wish to retrieve statistics for.

Query Parameters

  • startDate (string, query): The start date for the statistics query.
  • endDate (string, query): The end date for the statistics query.
  • contentId (string, path): The ID of the content you want to retrieve statistics for.

Example Request

GET https://api.fastevo.net/api/v1/projects/mediaProtection/contents/65e8ddc52f41619f1815a083/generalStats?startDate=2023-01-01&endDate=2023-12-31

API Response

The API will return a response with a status code of 200 and a JSON body containing the playback statistics.

Example Response

{
  "totalImpressions": 0,
  "totalPlaybacks": 0,
  "totalPlayTimeInSeconds": 0,
  "totalPauseTimeInSeconds": 0,
  "averagePlayTimeInSeconds": 0,
  "averagePauseTimeInSeconds": 0,
  "averageCompletionPercent": 0,
  "impressionsPerCountry": [
    {
      "country": "string",
      "count": 0
    }
  ],
  "impressionsPerOsAndVersion": [
    {
      "osAndVersion": "string",
      "count": 0
    }
  ],
  "impressionsPerOS": [
    {
      "os": "string",
      "count": 0
    }
  ],
  "impressionsPerDevice": [
    {
      "device": "string",
      "count": 0
    }
  ],
  "impressionsPerBrowser": [
    {
      "browser": "string",
      "count": 0
    }
  ]
}

Explanation of Response Fields

  • totalImpressions: The total number of impressions.
  • totalPlaybacks: The total number of playbacks.
  • totalPlayTimeInSeconds: The total play time in seconds.
  • totalPauseTimeInSeconds: The total pause time in seconds.
  • averagePlayTimeInSeconds: The average play time in seconds.
  • averagePauseTimeInSeconds: The average pause time in seconds.
  • averageCompletionPercent: The average completion percentage.
  • impressionsPerCountry: An array of objects representing impressions per country.
    • country: The country name.
    • count: The number of impressions.
  • impressionsPerOsAndVersion: An array of objects representing impressions per OS and version.
    • osAndVersion: The OS and version.
    • count: The number of impressions.
  • impressionsPerOS: An array of objects representing impressions per OS.
    • os: The OS name.
    • count: The number of impressions.
  • impressionsPerDevice: An array of objects representing impressions per device.
    • device: The device name.
    • count: The number of impressions.
  • impressionsPerBrowser: An array of objects representing impressions per browser.
    • browser: The browser name.
    • count: The number of impressions.

Retrieving Playback Statistics for the Entire Project

To retrieve playback statistics for the entire project, you need to perform a GET request to the following endpoint:

Endpoint

GET https://api.fastevo.net/api/v1/projects/mediaProtection/stats/general

Query Parameters

  • startDate (string, query): The start date for the statistics query.
  • endDate (string, query): The end date for the statistics query.

Example Request

GET https://api.fastevo.net/api/v1/projects/mediaProtection/stats/general?startDate=2023-01-01&endDate=2023-12-31

API Response

The API will return a response with a status code of 200 and a JSON body containing the playback statistics.

Example Response

{
  "totalImpressions": 0,
  "totalPlaybacks": 0,
  "totalPlayTimeInSeconds": 0,
  "totalPauseTimeInSeconds": 0,
  "averagePlayTimeInSeconds": 0,
  "averagePauseTimeInSeconds": 0,
  "averageCompletionPercent": 0,
  "impressionsPerCountry": [
    {
      "country": "string",
      "count": 0
    }
  ],
  "impressionsPerOsAndVersion": [
    {
      "osAndVersion": "string",
      "count": 0
    }
  ],
  "impressionsPerOS": [
    {
      "os": "string",
      "count": 0
    }
  ],
  "impressionsPerDevice": [
    {
      "device": "string",
      "count": 0
    }
  ],
  "impressionsPerBrowser": [
    {
      "browser": "string",
      "count": 0
    }
  ]
}

Explanation of Response Fields

  • totalImpressions: The total number of impressions.
  • totalPlaybacks: The total number of playbacks.
  • totalPlayTimeInSeconds: The total play time in seconds.
  • totalPauseTimeInSeconds: The total pause time in seconds.
  • averagePlayTimeInSeconds: The average play time in seconds.
  • averagePauseTimeInSeconds: The average pause time in seconds.
  • averageCompletionPercent: The average completion percentage.
  • impressionsPerCountry: An array of objects representing impressions per country.
    • country: The country name.
    • count: The number of impressions.
  • impressionsPerOsAndVersion: An array of objects representing impressions per OS and version.
    • osAndVersion: The OS and version.
    • count: The number of impressions.
  • impressionsPerOS: An array of objects representing impressions per OS.
    • os: The OS name.
    • count: The number of impressions.
  • impressionsPerDevice: An array of objects representing impressions per device.
    • device: The device name.
    • count: The number of impressions.
  • impressionsPerBrowser: An array of objects representing impressions per browser.
    • browser: The browser name.
    • count: The number of impressions.
ℹ️

By analyzing these statistics, you can gain valuable insights into how viewers are interacting with your media content. This information can help you make data-driven decisions to improve viewer engagement and content performance.