Digital Measurement Metadata: Difference between revisions

From Engineering Client Portal

No edit summary
 
(25 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}}  {{CurrentBreadcrumb}}
{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|US DCR & DTVR}}  {{CurrentBreadcrumb}}
[[Category:Digital]]
[[Category:Digital]]
__NOTOC__
= Digital Metadata =
Digital Metadata can passed through key-values using the Nielsen reserved keys. The keys and values are listed by product below.


The metadata received for each asset is used for classification and reporting. There are reserved Nielsen keys for collecting the required metadata.
== Digital Content Ratings (DCR) Metadata ==
=== Video Metadata ===
{{DCR Content Metadata}}


=== Reserved Keys ===
==== Example Video Metadata Object ====
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.
<syntaxhighlight lang="javascript">
var contentMetadataObject =
  type:          'content',
  assetid:        'VID-123456',
  program:        'The Big Bang Theory',
  title:          'The Pants Alternative S03E18',  //no abbreviations or shorthand
  length:        '1320',  //lengths in seconds
  airdate:        '2021-03-21T12:00:00Z',
  isfullepisode:  'y',
  adloadtype:    '2',
  segB:          'custom segment B', // optional
  segC:          'custom segment C', // optional
  crossId1:      'Standard Episode ID', // optional
  crossId2:      'Content Originator' //optional
};
</syntaxhighlight>
 
=== Ad Metadata ===
The Ad Metadata (if applicable) should be passed for each individual ad.
{| class="wikitable"
|-
! Keys !! Description !! Values !! Required
|-
| type || type of Ad ||  <code>'preroll'</code>,  <code>'midroll'</code>,  <code>'postroll'</code> <br> <code>'ad'</code>  - If specific type can not be identified.|| ✓
|-
| assetid || unique ID assigned to Ad || custom <br>(no [[Special Characters]]) || ✓
|}
 
==== Example Ad Object ====
<syntaxhighlight lang="javascript">
var adMetadataObject =
  type:    'preroll',
  assetid: 'AD-1'
};
</syntaxhighlight>
 
=== Static Metadata ===
{| class="wikitable"
|-
! Key !! Description !! Data Type !! Value !! Required?
|-
| type || asset type || fixed || <code>'static'</code> || Yes
|-
| assetid || Unique ID for each article || dynamic || custom <br>(no [[Special Characters]]) || Yes
|-
| section || section of each site (e.g. section value should be first level in page URL: website.com/section). Limit to 25 unique values || dynamic || custom <br>(no [[Special Characters]]) || Yes
|-
| segA || custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) || dynamic || custom || No
|-
| segB || custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) || dynamic || custom || No
|-
| segC || custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) || dynamic || custom || No
|}
 
The values passed through the Nielsen keys will determine the breakouts that are seen in reporting. The custom segments (A, B & C) will roll into the sub-brand. To not use custom segments A, B and C, do not pass any value in these keys.
 
==== Example Static Metadata Object ====
<syntaxhighlight lang="javascript">
var contentMetadataObject =
  type: 'static',
  assetid: 'HHF887465-9486', // *DYNAMIC METADATA*: unique ID for each article **REQUIRED**
  section: 'SPORTS', // *DYNAMIC METADATA*: section of site **REQUIRED**
  segA: 'HD Videos', // *DYNAMIC METADATA*: custom segment
  segB: '', // *DYNAMIC METADATA*: custom segment
  segC: ''  // *DYNAMIC METADATA*: custom segment
};
</syntaxhighlight>
 
== Digital TV Ratings (DTVR) Metadata ==
=== Content Metadata ===
{| class="wikitable"
|-
! Key !! Description !! Values !! Required
|-
| adModel || linear vs dynamic ad model || * 1) - Linear – matches TV ad load * 2) Dynamic – Dynamic Ad Insertion (DAI)    || ✓
|-
|}
====Example Content Object====
<syntaxhighlight lang="javascript"> var contentMetadataObject =
  adModel: '1'
};
</syntaxhighlight>
 
==== Custom Variables Extension ====
If you are looking for additional reporting options, reach out to us. We have a [[Custom Variables Extension]] and can work with you to obtain your desired reporting.
 
 
<!--


==== Content Metadata ====
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 19: Line 114:
| 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
| 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
|-
|-
| vcid || 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
| 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 ||
Line 28: Line 123:
|| "content", "static" || Mandatory || Mandatory ||  
|| "content", "static" || Mandatory || Mandatory ||  
|-
|-
| assetid || ID assigned to content. Must be unique across all content at the episode level. || custom || Mandatory || Not Required ||  
| 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<br>(no [[Special Characters]]) || Mandatory || Not Required ||  
|-
|-
| section || Section of site || custom || Not Required || Mandatory ||  
| section || Section of site || custom || Not Required || Mandatory ||  
Line 41: Line 136:
| title || Episode title || 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. The estimated content length has to be passed for live content. || custom || Mandatory || Not Required ||
| 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
| 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
Line 49: Line 144:
| segC || Segment C || 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 || custom || Optional || Not Required ||
| 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 ||
| crossId2 || Content originator (required only for distributors) || custom || Optional || Not Required ||
Line 67: Line 162:
|| "1" - Linear
|| "1" - Linear
"2" - Dynamic
"2" - Dynamic
|| Mandatory || Not Required ||
|| Mandatory for DCR || Not Required || DCR
|-
| adModel ||
Type of ad model:
#Linear - matches TV ad load
#Dynamic - Dynamic Ad Insertion (DAI)
|| "1" - Linear
"2" - Dynamic
|| Mandatory for DTVR || Not Required || DTVR
|-
|-
| progen || Genre (required only for OTT). See [[DCR OTT Genre List]] for acceptable values. || e.g. DD for Daytime Drama || Optional || Not Required
| 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
|}
|}


Line 107: Line 210:
       "type": "content",
       "type": "content",
       "assetName": "myassetName",
       "assetName": "myassetName",
       "length": "300",
       "length": "300.0",
       "title": "myTitle",
       "title": "myTitle",
       "program": "myProgram",
       "program": "myProgram",
Line 127: Line 230:
       "type": "static",
       "type": "static",
       "assetid": "static123",
       "assetid": "static123",
      "assetName": "Page-Asset",
       "section": "siteSection",
       "section": "siteSection",
       "segA": "segmentA",
       "segA": "segmentA",
Line 137: Line 239:
<syntaxhighlight lang="json">    {
<syntaxhighlight lang="json">    {
         "type": "midroll",
         "type": "midroll",
         "length": "30",
         "length": "30.0",
         "assetid": "myMidrollAssetId",
         "assetid": "myMidrollAssetId",
         "adloadtype": "2",
         "adloadtype": "2",
Line 148: Line 250:
The object can then be passed when calling [[loadMetadata]].
The object can then be passed when calling [[loadMetadata]].
<syntaxhighlight lang="java">    loadMetadata(jsonMetadataObject);</syntaxhighlight>
<syntaxhighlight lang="java">    loadMetadata(jsonMetadataObject);</syntaxhighlight>
-->

Latest revision as of 18:07, 21 August 2023

Engineering Portal breadcrumbArrow.png Digital breadcrumbArrow.png US DCR & DTVR breadcrumbArrow.png Digital Measurement Metadata

Digital Metadata

Digital Metadata can passed through key-values using the Nielsen reserved keys. The keys and values are listed by product below.

Digital Content Ratings (DCR) Metadata

Video Metadata

Keys Description Values Required Provider
type Type of asset For Video use: content
For Static or text static
Yes Nielsen
assetid Unique ID assigned to asset
Note: Refrain from using the following special characters (Special Characters).
Examples:
BBT345a234
CBSs5e234F2021
Yes Client
program Complete program or movie title
(no abbreviations or shorthand)
Note: there is a 25 character limit.
The Big Bang Theory
TheBigBangTheory
The Dark Knight
TheDarkKnight
Yes Client
title Episode title with season and episode number (40 character limit)
(Formats accepted: S01E03, S1E3, S1 E3).
Examples:
The Pants Alternative S03E18
The Pants Alternative S3E18
The Pants Alternative S3 E18
Can also accept: S3E18
Not Valid: 318 or 0318
Yes Client
crossId1 Gracenote TMS ID (If available) should be passed for all telecasted content for clients using the Gracenote solution for proper matching purposes.
Note: The TMS ID will be a 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.
The TMS ID will be a 14 character string.
Normally being with 'EV,' 'EP', 'SH', 'SP', or 'MV'
Followed by 12 numbers after the initial two letter prefix.

The Giant Morning Show: SH009311820022
The Pants Alternative Episode : EP009311820061
Optional Nielsen
crossId2 Populated by content distributor to contribute viewing from that distributor to the given content originator. Custom
For a full list of acceptable values, please contact your Nielsen reprentative.
Yes, for distributors Nielsen
length Length of content in seconds
Note: Integers and decimal values are acceptable for the length parameter.
Examples:

For standard VOD content - 300 to represent 5 minutes, 1320 to represent 22 minutes, etc.
If DAI live stream of a discrete program (Live Event/Sporting Event), pass length of content. See example for standard VOD content above.
If unknown DAI live steam, pass a value of 0.

Yes Client
airdate Original broadcast or release date for the program
For USA, date should be EST
Outside USA, date should be local time.
If not applicable or available, original broadcast or release date for the Program.
Acceptable Formats:
YYYY-MM-DDTHH:MI:SS
YYYY-MM-DDHH:MI:SS
YYYY-MM-DDTHH:MI:SS+xx:xx
YYYY-MM-DDTHH:MI:SS-xx:xx
YYYYMMDDHH:MI:SS
YYYYMMDD HH:MI:SS
MM-DD-YYYY
MM/DD/YYYY
YYYYMMDD
Yes Client
isfullepisode Full episode flag to identify differences between long form content. y- full episode, n- non full episode(clip,teaser,promo,etc.)

Also accept:
lf or yes- longform
sf or no- shortform

Yes Nielsen
adloadtype Type of ad load:

1 Linear – matches TV ad load
2 Dynamic – Dynamic Ad Insertion (DAI)

2 - DCR measures content with dynamic ads Yes Nielsen
segB One of two custom segment for the clients granular reporting within a brand. Examples:
Genre - horror, comedy, etc.
Timeslot - primetime, daytime, etc.
News type - breakingnews, weather, etc.
Optional Client
segC One of two custom segment for the clients granular reporting within a brand. Examples:
Genre - horror, comedy, etc.
Timeslot - primetime, daytime, etc.
News type - breakingnews, weather, etc.
Optional Client

Custom segments (segB and segC) can be used to aggregate video and/or static content within a single Brand to receive more granular reports within a brand.

Examples regarding usage of segments within SDK:

  • All comedy clips and stories for a Brand rolled into a "Comedy" segment
  • genre grouping content by Comedy vs. Drama
  • group related Text + Video content - i.e. for a show that has a lot of - static pages associated with it
  • packaging based on how clients sell inventory
  • grouping related types of content either by genre, category or platform.


Example Video Metadata Object

var contentMetadataObject =
{  
  type:           'content',
  assetid:        'VID-123456',
  program:        'The Big Bang Theory',
  title:          'The Pants Alternative S03E18',  //no abbreviations or shorthand
  length:         '1320',   //lengths in seconds
  airdate:        '2021-03-21T12:00:00Z',
  isfullepisode:  'y',
  adloadtype:     '2',
  segB:           'custom segment B', // optional
  segC:           'custom segment C', // optional
  crossId1:       'Standard Episode ID', // optional
  crossId2:       'Content Originator' //optional
};

Ad Metadata

The Ad Metadata (if applicable) should be passed for each individual ad.

Keys Description Values Required
type type of Ad 'preroll', 'midroll', 'postroll'
'ad' - If specific type can not be identified.
assetid unique ID assigned to Ad custom
(no Special Characters)

Example Ad Object

var adMetadataObject = 
{  
  type:    'preroll',
  assetid: 'AD-1'
};

Static Metadata

Key Description Data Type Value Required?
type asset type fixed 'static' Yes
assetid Unique ID for each article dynamic custom
(no Special Characters)
Yes
section section of each site (e.g. section value should be first level in page URL: website.com/section). Limit to 25 unique values dynamic custom
(no Special Characters)
Yes
segA custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) dynamic custom No
segB custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) dynamic custom No
segC custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) dynamic custom No

The values passed through the Nielsen keys will determine the breakouts that are seen in reporting. The custom segments (A, B & C) will roll into the sub-brand. To not use custom segments A, B and C, do not pass any value in these keys.

Example Static Metadata Object

var contentMetadataObject =
{  
  type: 'static', 
  assetid: 'HHF887465-9486', // *DYNAMIC METADATA*: unique ID for each article **REQUIRED**
  section: 'SPORTS', // *DYNAMIC METADATA*: section of site **REQUIRED**
  segA: 'HD Videos', // *DYNAMIC METADATA*: custom segment
  segB: '', // *DYNAMIC METADATA*: custom segment
  segC: ''  // *DYNAMIC METADATA*: custom segment
};

Digital TV Ratings (DTVR) Metadata

Content Metadata

Key Description Values Required
adModel linear vs dynamic ad model * 1) - Linear – matches TV ad load * 2) Dynamic – Dynamic Ad Insertion (DAI)

Example Content Object

 var contentMetadataObject =
{  
  adModel: '1'
};

Custom Variables Extension

If you are looking for additional reporting options, reach out to us. We have a Custom Variables Extension and can work with you to obtain your desired reporting.