Digital Measurement Metadata

From Engineering Client Portal

Revision as of 22:52, 30 July 2019 by ColinBrown (talk | contribs)

Engineering Portal / Digital / DCR & DTVR / Digital Measurement Metadata

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:

  • audio / video – "content"
  • page – "static"
  • ad – "preroll", "midroll" or "postroll"
"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
  • "y" or "lf" - full episode
  • "n" or "sf" - short form
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" if audio / video measurement is displayed in PIP mode
  • "false" if audio / video measurement is displayed in regular mode
"true", "false" Optional Not Required Audio / Video Measurement
adloadtype

Type of ad load:

  1. Linear - matches TV ad load
  2. Dynamic - Dynamic Ad Insertion (DAI)
"1" - Linear

"2" - Dynamic

Mandatory for DCR Not Required DCR
adModel

Type of ad model:

  1. Linear - matches TV ad load
  2. Dynamic - Dynamic Ad Insertion (DAI)
"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.

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 through setPlayheadPosition.

loadMetadata The object can then be passed when calling loadMetadata.

    loadMetadata(jsonMetadataObject);