Digital Measurement Metadata
From Engineering Client Portal
The metadata received for each asset is used for classification and reporting. There are reserved Nielsen keys for collecting the required metadata.
Reserved Keys
Content and Ad Metadata can be passed through key-values using the Nielsen reserved keys. The last column in the table below indicates metadata parameters that will be displayed in reporting.
Content Metadata
Key | Description | Values | Required for Audio/Video? | Required for Static (page)? | Reported for |
---|---|---|---|---|---|
clientid | Brand value is automatically populated through the App ID provided. The value passed here will override the default value. (e.g. Multiple brands in App) | custom | Optional | Optional | Audio / Video and Static Measurement |
subbrand | VCID value is automatically populated through the App ID provided. This value passed here will override the default value. (e.g. Multiple Sub-brands in App) | custom | Optional | Optional | Audio / Video and Static Measurement |
type |
Type of measurement:
|
"content", "static" | Mandatory | Mandatory | |
assetid | ID assigned to content. Must be unique and consistent across all content at the episode level, as well as across platforms (e.g. iOS and Android use the same ID). | custom (no Special Characters) |
Mandatory | Not Required | |
section | Section of site | custom | Not Required | Mandatory | |
isfullepisode | Full episode flag |
|
Mandatory | Not Required | |
program | Program name | custom | Mandatory | Not Required | Audio / Video Measurement |
title | Episode title | custom | Mandatory | Not Required | Audio / Video Measurement |
length | Length of content in seconds for VOD. 0 may be used for Live content if the exact content length is not known. | custom | Mandatory | Not Required | |
segA | Segment A (this is not available for audio / video Measurement reporting as the episode title is reported) | custom | Not Required | Not Required | Static Measurement |
segB | Segment B | custom | Not Required | Not Required | Audio / Video and Static Measurement |
segC | Segment C | custom | Not Required | Not Required | Audio / Video and Static Measurement |
crossId1 | Standard episode ID. Gracenote/TMS ID should be used when available. Must be unique per episode. | custom | Optional | Not Required | |
crossId2 | Content originator (required only for distributors) | custom | Optional | Not Required | |
airdate | Original (local) air date and time (Eastern Time for US) | YYYYMMDD HH24:MI:SS | Mandatory | Not Required | |
pipmode |
Current state of picture-in-picture (PIP) mode on device.
|
"true", "false" | Optional | Not Required | Audio / Video Measurement |
adloadtype |
Type of ad load:
|
"1" - Linear
"2" - Dynamic |
Mandatory for DCR | Not Required | DCR |
adModel |
Type of ad model:
|
"1" - Linear
"2" - Dynamic |
Mandatory for DTVR | Not Required | DTVR |
progen | Genre (required only for non-TV originated content). See DCR OTT Genre List for acceptable values. | e.g. DD for Daytime Drama | Required for non-TV content | Not Required |
clientid & subbrand (vcid) By default, clientid and subbrand are setup in Nielsen backend configuration to capture brand and sub-brand information. The fields get populated from backend for a registered client appid. But if an app contains multiple brands and sub-brands and client is willing to give credit to another brand or sub-brand then :
- Client app developer can override the clientid and subbrand (brand and sub-brand info.) in loadMetadata call to get a proper measurement for a desired brand and sub-brand.
- If no clientid and subbrand are specified in CMS of a content and an ad, default values reported in the Configuration will be reported.
- If clientid and subbrand are specified in CMS of the content or ad, the most recent clientid and subbrand will be reported in subsequent pings. To report with a different clientid and subbrand, include the new values for the keys in their subsequent loadMetadata call.
Picture-in-picture (PIP) mode Once the app detects PIP mode, call loadMetadata with the same set of assetids, values and with one additional parameter "pipmode": "true". Once PIP mode is disabled in the device, call loadMetadata again with "pipmode":"false".
Custom Variables Extension
Contact Nielsen Technical Account Manager (TAM) to configure any custom variables, as needed for implementing the application.
See Custom Variables Extension for more information.
Advertisement Metadata
Key | Description | Values | Required for Audio / Video? | Required for Static (page) |
---|---|---|---|---|
type | Type of ad | "preroll"
"midroll" "postroll" |
Mandatory | Not Required |
assetid | An ID assigned to the advertisement. Can be an internal ID, an ID provided by the ad server, or a randomly generated ID. Must be unique across all ads | custom | Mandatory | Not Required |
title | Title of the advertisement | "MyAdName" | Mandatory | Not Required |
Passing Metadata
The required metadata can be passed as key values through the loadMetadata method. The sample code below shows a metadata objects for various assets. Audio / Video Measurement Asset Type should be "content"
{
"type": "content",
"assetName": "myassetName",
"length": "300.0",
"title": "myTitle",
"program": "myProgram",
"censuscategory": "myCensusCategory",
"assetid": "myAssetId",
"channelName": "myChannel",
"adloadtype": "2",
"segB": "segmentB",
"segC": "segmentC",
"isfullepisode":"y",
"crossId1": "Reference11",
"crossId2": "Reference22",
"airdate": "20161013 20:00:00"
}
Static (Page) Measurement Asset Type should be "static"
{
"type": "static",
"assetid": "static123",
"section": "siteSection",
"segA": "segmentA",
"segB": "segmentB",
"segC": "segmentC"
}
For any of the ad types
{
"type": "midroll",
"length": "30.0",
"assetid": "myMidrollAssetId",
"adloadtype": "2",
"tv": "true",
"dataSrc": "cms"
}
Note: In case the individual ad details are not available, send ad pod (presence) details through the
loadMetadata
and playhead position throughsetPlayheadPosition
.
loadMetadata The object can then be passed when calling loadMetadata.
loadMetadata(jsonMetadataObject);