Server-Side Analytics Datasets

Through Data Sharing, JWP shares server-side analytics to help broadcasters create informed monetization and engagement strategies by providing data on how viewers consume content.

The datasets for server-side analytics contain play sessions, which are rows of data containing attributes that pertain to a specific user watching a specific video fetched from the JWP content delivery network (CDN).

This reference provides all play session metrics and dimensions available for server-side analytics.


Primary Dimensions

The following dimensions are sourced directly from the CDN logs and define a unique play session. The fields correspond to the GROUP BY query clause that populates the table. These dimensions do not include other fields from the CDN logs.

Name Column Name Description
API Key api_key string Unique key that accessed the CDN through the JWP API

This value is identical to the site ID.
Has Manifest has_manifest boolean Indicator of a unique play

JWP determines a unique play using the manifest request preceding the segment request.

When the value is false, the play does not indicate its own session. Rather, the play could not attach to an existing session due to the user switching devices or continuing to watch the media later.
Media ID media_id string Unique identifier of the media that was fetched

If the Media ID is not included in the CDN logs, this value will be null.
User Agent user_agent string User agent header that the client application used when fetching content from JWP
UTC Date utc_date string Date of the play session in UTC format

NOTE: The CDN logs do not account for sessions that cross UTC day boundaries. All sessions are assumed to represent a single play by a single viewer.
Viewer ID viewer_id string Unique identifier of the viewer

JWP assigns the viewer ID based on the client IP address and the user agent.

NOTE: This field is temporary and decays within 2-4 weeks.

Secondary Dimensions

The following dimensions are sourced from the CDN logs or enriched from other sources but do not define a unique play session. Dimensions from the CDN logs are assumed to be constant across the entire session.


Name Column Name Description
Streaming Type streaming_type string Type of stream of the play session

JWP determines the streaming type using the media CDN.

Possible values:
  • LIVE
  • VOD
User ID user_id string Unique identifier of the user account that fetched the media

JWP assigns the user ID based on the manifest request parameter.


Name Column Name Description
Continent Code continent_code string Two-character code of the continent from which the viewer accessed a media item

Possible values:
  • AS: Asia
  • AN: Antarctica
  • AF: Africa
  • EU: Europe
  • SA: South America
  • OC: Oceania
  • NA: North America
Country Code country_code string Two-letter country code from which the viewer accessed a media item

The value is the ISO 3166-1 alpha-2 country code.
Region region string Two-letter region code from which the viewer accessed a media item

The value is the ISO-3166-2 region code.


Name Column Name Description
Browser browser string Browser used to fetch the content from JWP servers

Example values:
  • Safari
  • Chrome
  • Firefox
  • Edge
  • Roku
  • AppleCoreMedia
  • Silk

JWP determines the browser based on the user agent.
Device Type device_type string Type of hardware used to retrieve the content from JWP servers

Possible values:
  • TV
  • Desktop
  • Phone
  • Tablet
  • Console
  • Ebook Reader
  • Car Entertainment System
  • Other
  • Unknown

JWP determines the device type based on the user agent.
Operating System operating_system string Operating system of the device used to fetch content from JWP servers

Possible values :
  • iOS
  • iPadOS
  • Windows
  • RokuOS
  • Tizen
  • Android
  • FireOS

JWP determines the operating system based on the user agent.
Referrer Host referrer_host string URL of the web page that is playing the video

JWP determines the host using the client referer header.


The following server-side play session metrics are available through Data Sharing.

Name Column Name Description
UTC Start Time start_utc_time string Start time of the play in UTC

JWP uses the first retrieved video segment to mark the start time.
UTC End Time end_utc_time string End time of the play in UTC

JWP uses the last retrieved video segment to mark the end time.
Media Duration media_duration_min float Length of the video content in minutes

Media duration is associated with the media item belonging to the retrieved segments. This metric returns empty for live streams.
Minutes Delivered minutes_delivered float Total minutes of video content successfully streamed by the JWP server to the viewer's video player

JWP determines minutes delivered by counting video segments retrieved.
Unique Minutes Delivered unique_minutes_delivered float Minutes of video content streamed where replaying segments of the video does not lead to an accumulation of extra minutes

JWP calculates unique minutes delivered based on the number of unique segments retrieved.
Percentage Delivered percentage_delivered float Percentage of the total video content that was delivered to the end viewer

JWP uses the percentage delivered to determine the completion rate of the media. This metric returns empty if the content is a live stream.


Device Type

What is the AppleCoreMedia browser?

The AppleCoreMedia browser is the player used in apps within the Apple ecosystem.

BrowserDevice TypeOSDescription
AppleCoreMediaTVtvOSApp on an Apple TV
AppleCoreMediaPhoneiOSApp on an iPhone
AppleCoreMediaTabletiPadOSApp on an iPad

Minutes Delivered

What are minutes delivered?

Minutes delivered refers to the total video content retrieved on a viewer's device from the JWP servers. It is a measure of the video segments streamed and downloaded by the player.

Key points:

  • Minutes delivered is near-100% accurate in calculating total streamed minutes for a piece of content over a period.
  • This metric can exceed content duration if viewers rewind or rewatch portions of a video.
  • This metric may not perfectly reflect watch time due to buffering, connectivity issues, or background and shared playback.
  • For long-form content, minutes delievered provides a good approximation of total engagement.

What are unique minuted delivered?

Unique minuted delivered refers to unique minutes streamed within a play session.

A rewind does not result in higher unique minutes delivered. This metric cannot exceed the duration of the video nor the length of the play session. Unique minutes delivered helps track the percentage of viewers who watch to a certain point of the video.

Why are minutes delivered helpful to broadcasters?

Minutes delivered provides an accurate measure of the total viewing time across all viewers for a given piece of content. It allows broadcasters to track engagement metrics like video completion rates (percentage of viewers watching 25%, 50%, 75%, or the entire video). While not a perfect proxy for watch time, minutes delivered serves a good approximation, particularly for long-form content.

How does JWP determine minutes delivered?

When a video is played, the video player retrieves it in small segments from JWP servers. Each retrieval of a segment is recorded, with the segment length contributing to the total minutes delivered count. This allows JWP to accurately track the total minutes of video streamed and downloaded across all viewers, which approximates the total watch-time.

User ID

Why is the User ID missing in the streaming metrics?

The User ID is sourced from the external identity management system and must be incorporated by the application. You must configure user tracking in your app to view the User ID.

Why is the User ID missing in certain dataset rows?

The User ID may not appear when the following events occur:

  • The Viewer ID changes during playback. Each row represents minutes delivered to a particular Viewer ID. The User ID is appended during the player's first call to JWP servers. Subsequent calls with a different Viewer ID cannot be linked to the same User ID.
  • Playback crosses the UTC day boundary. Play logs are processed daily. A new row is created for each new day of the play. The User ID is only appended during the player's first call to JWP servers.

Viewer ID

How stable is the Viewer ID?

JWP creates the Viewer ID based upon the IP address and user agent of the viewer.

Both the IP address and user agent change over time. Most playback devices receive a Viewer ID within two days due to IP address changes and device updates.

Is the Viewer ID the same as in player and OTT metrics?
Web PlayerYes, the Viewer ID of a web play session is identical to the Viewer ID of server-side play sessions.
OTTNo, the Viewer ID of OTT play sessions is not the same as the Viewer ID of server-side play sessions.