<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://engineeringportal.nielsen.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DarsanaDinesh</id>
	<title>Engineering Client Portal - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://engineeringportal.nielsen.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DarsanaDinesh"/>
	<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/wiki/Special:Contributions/DarsanaDinesh"/>
	<updated>2026-04-04T05:37:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7438</id>
		<title>Digital Measurement SEI Streaming Content Viewing</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7438"/>
		<updated>2025-10-31T15:36:02Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|US DCR &amp;amp; DTVR}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
&lt;br /&gt;
This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products.&lt;br /&gt;
&lt;br /&gt;
This document describes the log file exposures, to be used in conjunction with [[Digital Measurement Content Audit Beacon]]&lt;br /&gt;
&lt;br /&gt;
== Delivery Specifications ==&lt;br /&gt;
Files should be delivered at a fixed cadence in a dedicated S3 bucket the following prefix and object naming conventions and data formats. &lt;br /&gt;
&lt;br /&gt;
* All prefix labels and file names should be lowercase except for app ids. &lt;br /&gt;
* Supported format are:&lt;br /&gt;
** Apache Parquet format with snappy compression; (preferred)&lt;br /&gt;
** Text files with utf-8 encoding in JSON Lines format;&lt;br /&gt;
* All data files have extensions to indicate the file format (.json | .parquet)&lt;br /&gt;
* Data file can be partitioned into multiple parts with min size of 256MB&lt;br /&gt;
* Data can be delivered separately in multiple splits, if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the SEI system&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-'''&amp;lt;env&amp;gt;'''/'''&amp;lt;filetype&amp;gt;'''/'''&amp;lt;split&amp;gt;'''/'''yyyy/mm/dd/hh'''/'''&amp;lt;object&amp;gt;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|&amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;prod&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|&amp;lt;code&amp;gt;exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dcr-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dar-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio-exposure&amp;lt;/code&amp;gt;, etc., where:&lt;br /&gt;
&lt;br /&gt;
* exposure is reserved for multi-product files&lt;br /&gt;
* &amp;lt;product&amp;gt;-exposure is for single product files, where &amp;lt;product&amp;gt; is [&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.['''json'''|'''parquet''']&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[dar|dcr|dtvr|ctvc|audio]'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty &amp;lt;code&amp;gt;'''_SUCCESS'''&amp;lt;/code&amp;gt; file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in .json format that implements the AWS unload manifest file format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 31337&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Specified'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
!'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;MRC = 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710154800&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710158399&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt;&lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC): ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLA ==&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval. For example, files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Accuracy of Measurement ==&lt;br /&gt;
The reported “wall clock” time of viewing needs to be within 25 seconds of the actual viewing time.&lt;br /&gt;
&lt;br /&gt;
The reported content “reference” time needs to match the actual content that was played out with plus/minus 10 seconds (for clarity: start and end times can each be off by up to 10 seconds, so the combined under/over reporting for each individual viewing segment should be no greater than 20 seconds)&lt;br /&gt;
&lt;br /&gt;
== CTV, Mirroring, and Casting ==&lt;br /&gt;
For apps native to the OTT device ''(i.e. downloading and viewing a streaming app to an Apple TV)'', audit ping should fire from the OTT device, and Viewing data should reside in OTT Viewing file.&lt;br /&gt;
&lt;br /&gt;
[[File:Phone_Playback.png]]&lt;br /&gt;
&lt;br /&gt;
For mirroring, where video playback occurs on the mobile device and OTT device, only one Viewing file row is necessary where, if possible to determine, set: &amp;lt;code&amp;gt;&amp;quot;secondscr&amp;quot;:&amp;quot;MIR&amp;quot;&amp;lt;/code&amp;gt; and include in respective mobile platform Viewing file. &lt;br /&gt;
&lt;br /&gt;
For a casting scenario where content is controlled via the mobile device, but displayed only on the OTT device such as an AppleTV or Chromecast, an audit ping must fire from the mobile device before the casting occurs and at the end of playback from the mobile device only. Viewing data resides in the respective mobile platform Viewing file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx123&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;60&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx303&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;120&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;180&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;60&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;120&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;secondscr&amp;quot;:&amp;quot;OTT&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apn&lt;br /&gt;
|Application name&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;BestAppIOS&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apv&lt;br /&gt;
|Application version&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;21.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. &amp;quot;Session&amp;quot; is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID:&lt;br /&gt;
&amp;lt;code&amp;gt;cdcde33c-b62f-4f17-a9c8-0db4f78e09d6&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamid&lt;br /&gt;
|ID for every new instance of exposure to a different asset&lt;br /&gt;
|Yes, if no sessionid&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &lt;br /&gt;
&amp;lt;code&amp;gt;d7a909f1-5e77-4af7-8a9b-f2…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamended&lt;br /&gt;
|Stream is known to have ended in this file&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (stream continues in subsequent file),&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; (stream closed)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |publisher_user_id&lt;br /&gt;
|Publisher-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;8f434346648f6b96d9dda901c5…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2cf24dba5fb0a30e26e83b2ab9…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |assetid&lt;br /&gt;
|In-house id used for a video asset (TMS ID if available)&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;VID123456789&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Yes&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_load_flag&lt;br /&gt;
|linear or dynamic ad load&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = Default / Unknown &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = linear ad load&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = dynamic ad load&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_support_flag&lt;br /&gt;
|Intended method of monetizing the content&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = (no ads),&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = (content is supported by ads)&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = (not known)&lt;br /&gt;
&lt;br /&gt;
Note: set to &amp;quot;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&amp;quot; if content ad support was intended but did not occur&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |position&lt;br /&gt;
|Array of contiguous content viewing.&lt;br /&gt;
&lt;br /&gt;
For viewing gaps &amp;lt; than 1 second, the gap can be smoothed over&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;position&amp;quot;: [{&lt;br /&gt;
 &amp;quot;referencestart&amp;quot;:&amp;quot;[timestamp]&amp;quot;,&lt;br /&gt;
 &amp;quot;referenceend&amp;quot;:&amp;quot;[timestamp]&amp;quot;&lt;br /&gt;
 &amp;quot;playheadstart&amp;quot;:&amp;quot;[playhead position]&amp;quot;,&lt;br /&gt;
 &amp;quot;playheadend&amp;quot;:&amp;quot;[playhead position]&amp;quot;&lt;br /&gt;
}]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|referencestart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|referenceend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858775&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|playheadstart&lt;br /&gt;
|Content position start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858515&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|playheadend&lt;br /&gt;
|Content position end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858785&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |viewedads&lt;br /&gt;
|Array of ads viewed by client.&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;adpod&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adposition&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;isdarid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adstart&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;adend&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;advisible&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adfocus&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adaudio&amp;quot;:&amp;quot;0&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|adpod&lt;br /&gt;
|AdPod sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment for each AdPod. If the same AdPod is played out twice (due to rewind), still increment the AdPod sequence to reflect the sequence the AdPods are played.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adposition&lt;br /&gt;
|Ad sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment each time a new Ad is encountered. If the same Ad is played out twice (due to rewind), still increment the Ad sequence to reflect the sequence the Ads are played&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adid&lt;br /&gt;
| The unique identifier for this Ad&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
In-house AdId, Industry AdID, AdNetwork ID or DAR placement ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|isdarid&lt;br /&gt;
|Is the AdId being passed a Nielsen DAR placement ID&lt;br /&gt;
|Required if AdID&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = is NOT DAR ID;&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = is a DAR ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adstart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|adend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID&lt;br /&gt;
|Yes,if &lt;br /&gt;
&lt;br /&gt;
available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;55C06A30DAA5D5F382FDEB8C702EC57875CC9D91A7C78BB620053FD81DC…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |luid&lt;br /&gt;
|Living Unit ID - Experian Household ID&lt;br /&gt;
|Yes, for CTV if available&lt;br /&gt;
|&amp;lt;code&amp;gt;B0EOFEDgD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xdua&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, &lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xff&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |psudo_id_sha256&lt;br /&gt;
|Hashed Device User Agent string + IP address&lt;br /&gt;
|No&lt;br /&gt;
|&amp;lt;code&amp;gt;421c76d77563afa1914846b010bd164f395bd34c2102e5e99e0cb9cf173…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |robotic_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot,&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
| ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Required if no IP&lt;br /&gt;
| &amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Audio_File&amp;diff=7437</id>
		<title>Digital Measurement SEI Audio File</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Audio_File&amp;diff=7437"/>
		<updated>2025-10-31T15:35:36Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|US DCR &amp;amp; DTVR}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
&lt;br /&gt;
The Nielsen SEI server-to-server solution ([[Digital Measurement SEI Content Viewing]]) needs audio files for each watermarked source that requires crediting.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Audio Compression Type''' !! '''Tested ideal Compression Rate'''&lt;br /&gt;
|-&lt;br /&gt;
| AC3 Stereo || 192 Kbps or higher&lt;br /&gt;
|-&lt;br /&gt;
| AC3 5.1 || 384 Kbps or higher&lt;br /&gt;
|-&lt;br /&gt;
| Enhanced AC3 || 192 Kbps&lt;br /&gt;
|-&lt;br /&gt;
| MPEG2 audio || 192 Kbps or higher&lt;br /&gt;
|-&lt;br /&gt;
| AAC with ADTS headers || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* If source audio is stereo, include both Left and Right channels&lt;br /&gt;
* If source audio is 5.1, take L + .707C into Left and R + .707C into Right and deliver stereo&lt;br /&gt;
* Audio sampling rate should be 32kHz, 44.1kHz or 48kHz&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;DTVRAudio_&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''AssetId'''&amp;gt;_&amp;lt;'''UTCStart'''&amp;gt;_&amp;lt;'''UTCEnd'''&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|AssetId&lt;br /&gt;
|in-house assetId&lt;br /&gt;
|-&lt;br /&gt;
|UTCStart&lt;br /&gt;
|time in 32-bit unsigned int UTC in seconds from first second of audio captured&lt;br /&gt;
|-&lt;br /&gt;
|UTCEnd&lt;br /&gt;
|time in 32-bit unsigned int UTC in seconds from first second of audio captured&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
*Files should be placed in S3 buckets in a mutually agreed upon folder structure.&lt;br /&gt;
*15 minutes of audio does not have to align with hour boundary. For example for broadcast from 1 AM to 2 AM, 4 audio files each with 15 minutes of audio from 1:00 AM to 1:15 AM, 1:15 AM until 1:30 AM, 1:30 AM until 1:45 AM and 1:45 AM until 2:00 AM, but if the encoder turns on at 1:07, deliver through 1:22, etc. The preference is hourly bound but not required.&lt;br /&gt;
*If difficult to achieve exactly 15m increments, err towards shorter. I.e. 10m instead of 20m&lt;br /&gt;
*Avoid small, fragmented audio files. Watermark decoding algorithms require runway. Too short of a file will result in lost audio codes&lt;br /&gt;
*If file times/audio overlap, ingestion will overwrite the portion of the older file&lt;br /&gt;
*Precision is important for UTC start/end file naming convention. Use UTC timestamp of Server time/encoder&lt;br /&gt;
*The file should not be encrypted.&lt;br /&gt;
*One copy per stream only.&lt;br /&gt;
&lt;br /&gt;
=== Audio Asset Metadata ===&lt;br /&gt;
==== S3 Bucket and Prefix Naming Convention ====&lt;br /&gt;
&amp;lt;code&amp;gt;DTVRAssetMetaData_&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''AssetId'''&amp;gt;_&amp;lt;'''UTCStart'''&amp;gt;_&amp;lt;'''UTCEnd'''&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|AssetId&lt;br /&gt;
|in-house assetId&lt;br /&gt;
|-&lt;br /&gt;
|UTCStart&lt;br /&gt;
|time in 32-bit unsigned int UTC in seconds from first second of audio captured&lt;br /&gt;
|-&lt;br /&gt;
|UTCEnd&lt;br /&gt;
|time in 32-bit unsigned int UTC in seconds from first second of audio captured&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Header Record ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Parameter''' !! '''Description''' !! '''Mandatory''' !! '''Specified by''' !! '''Format'''&lt;br /&gt;
|-&lt;br /&gt;
| appid || Nielsen-provided server application identifier || Yes || Nielsen || Example: &amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| creationtime || File creation time || Yes || Client || Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| assetid || In-house id used for a video asset || Yes || Client || Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;VID123456789&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| recordcount || # of records in body of file || Yes || Client || Format: numeric&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Body ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Parameter''' !! '''Description''' !! '''Mandatory''' !! '''Specified by''' !! '''Format'''&lt;br /&gt;
|-&lt;br /&gt;
| audiofilename || Audio file name || Yes || Client || Example: &amp;lt;code&amp;gt;aacFile1.aac&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| referencestart || Start of in-house reference time for the audio file || Yes || Client || &lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
*For VOD, parameter should reflect offset from the start of the asset&lt;br /&gt;
*For Livestream, parameter should reflect in-house time&lt;br /&gt;
|-&lt;br /&gt;
| referenceend || End pf in-house reference point for the audio file || Yes || Client || &lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
*For VOD, parameter should reflect offset from the start of the asset&lt;br /&gt;
*For Livestream, parameter should reflect in-house time&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SLA ===&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 2 hours of the broadcast. For example files from 1:00 AM to 1:15 AM must be delivered before 3:00 AM.&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Audit_Beacon&amp;diff=7436</id>
		<title>Digital Measurement Content Audit Beacon</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Audit_Beacon&amp;diff=7436"/>
		<updated>2025-10-31T15:35:10Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|US DCR &amp;amp; DTVR}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
The Nielsen server-to-server solution requires audit pings for the purpose of validating audience reach and video viewing duration; one start and one end for each video stream. Pings originate from the end-user device to Nielsen Collections servers. End pings execute upon cessation of playback.&lt;br /&gt;
&lt;br /&gt;
== Ping Structure ==&lt;br /&gt;
Ping is executed with following convention:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://'''[to_be_provided]'''.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;+'''[query parameters]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Start Audit Ping carries all parameters in the table below. The End Audit Ping carries a subset of the parameters in the matrix below as denoted in the mandatory column.  &lt;br /&gt;
&lt;br /&gt;
Under normal operating circumstances, the audit ping server returns the following codes:&lt;br /&gt;
&lt;br /&gt;
* Audit ping servers reject cross-origin HTTP requests with preflight. To ensure that audit ping requests are accepted, allowable Content-Types like &amp;quot;text/plain&amp;quot; in simple GET requests ensure that preflight requests are not invoked&lt;br /&gt;
* 200: Ping successfully received, inspect traffic to ensure no CORS errors&lt;br /&gt;
&lt;br /&gt;
= Session &amp;amp; Stream =&lt;br /&gt;
&lt;br /&gt;
# Sessions&lt;br /&gt;
## Optionally, a new Session ID may be created when a new player is created &lt;br /&gt;
## If more than one video player exists within the same App (e.g. picture in picture) a different Session ID is required for each&lt;br /&gt;
# Streams&lt;br /&gt;
## New Stream ID is generated for each new video stream.&lt;br /&gt;
## If stream playback continues after 24 hours, then a new Stream ID should be created and a new Audit ping should be executed (Session ID may remain)&lt;br /&gt;
## Stream ID remains the same independent of fast-forward, rewind, pause, events assuming the asset remains the same&lt;br /&gt;
## If playback is suspended for greater than 30mins (paused or otherwise suspended), a new Stream ID should be assigned upon return&lt;br /&gt;
## Audit pings should be fired at the beginning and end of a stream&lt;br /&gt;
&lt;br /&gt;
= Query Parameters =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Specified''' &lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
|apid&lt;br /&gt;
|Server App ID assigned by Nielsen&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&lt;br /&gt;
Example: &amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;ce6c1c95-de3e-431e-b11e-77…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|pingtype&lt;br /&gt;
|Indicator for ping type: &amp;quot;start&amp;quot; or &amp;quot;end&amp;quot; audit ping&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: integer,&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = Start Stream&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = Start Session&lt;br /&gt;
*&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; = End Stream&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = End Session&lt;br /&gt;
|-&lt;br /&gt;
|product&lt;br /&gt;
|Indicates which product audit ping corresponds to&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, &lt;br /&gt;
Example: &amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ctv&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes, if devid/HHID provided&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
|devid&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID&lt;br /&gt;
|Optional, or in S2S file&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|hhid&lt;br /&gt;
|House Hold ID. Used as a primary match key to external data sources.&lt;br /&gt;
|Optional, or in S2S file.&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;B0EOFEDgD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|createtm&lt;br /&gt;
|Time ping is initiated&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
'''Audit Ping Start Example:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;apid=FC984EC1-E044-B465-E040-070AAD3173A1&amp;amp;sessionid=2576459933726989&amp;amp;streamid=3679422587354472&amp;amp;pingtype=0&amp;amp;product=ctv&amp;amp;uoo=1&amp;amp;createtm=1577858505&amp;amp;devid=4AB6FCE2-2848-4FA8-9BE3-46E206206AB&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Audit Ping End Example:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;apid=FC984EC1-E044-B465-E040-070AAD3173A1&amp;amp;sessionid=2576459933726989&amp;amp;streamid=3679422587354472&amp;amp;pingtype=2&amp;amp;product=ctv&amp;amp;uoo=1&amp;amp;createtm=1577859637&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Asset_Metadata&amp;diff=7435</id>
		<title>Digital Measurement Content Asset Metadata</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Asset_Metadata&amp;diff=7435"/>
		<updated>2025-10-31T15:34:33Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: Added DCR asset metadata page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|US DCR &amp;amp; DTVR}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
The Nielsen &amp;quot;Server-To-Server&amp;quot; method of collecting DCR data requires the distributor to make available each Asset (Episode) referenced in the DCR Viewing file in a separate metadata file (a.k.a metadata catalog). In the case of a stream that has one version with blackouts and one without, one with mobile and one non-mobile, each stream would have its own unique asset id.&lt;br /&gt;
==Delivery Specifications==&lt;br /&gt;
Consolidated list of asset metadata catalog that is up to date for a particular hour needs to be provided in a single file following the naming convention specified below. The metadata needs to be in a json lines format, including a header line. A reasonable effort needs to be made to remove expired/inactive asset ids, to avoid size creep.&lt;br /&gt;
===S3 Bucket and Prefix Naming Convention===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-'''&amp;lt;env&amp;gt;'''/'''&amp;lt;filetype&amp;gt;'''/'''yyyy/mm/dd/hh'''/'''&amp;lt;object&amp;gt;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|&amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;prod&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|dcrassetmetadata&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
*yyyy	- year&lt;br /&gt;
*mm	- month&lt;br /&gt;
*dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
*hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
===S3 Bucket and Prefix Naming Convention===&lt;br /&gt;
&amp;lt;code&amp;gt;'''&amp;lt;partner_id&amp;gt;_&amp;lt;file_type&amp;gt;_&amp;lt;int_id&amp;gt;[.gz]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|dcrassetmetadata&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|[.gz]&lt;br /&gt;
|Uncompressed json lines (no extension) -  splittable, ideal for medium size files, less than 5 GB, preferred for metadata.&lt;br /&gt;
Optional compression formats supported:&lt;br /&gt;
*[.gz] - non splittable, requires multiple files, if data larger than 32 MB&lt;br /&gt;
|}&lt;br /&gt;
===Success File===&lt;br /&gt;
Empty &amp;lt;code&amp;gt;'''_SUCCESS'''&amp;lt;/code&amp;gt; file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
===Data delivery example for hour 10 (10:00:00 AM UTC to 10:59:59 PM UTC):===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dcrassetmetadata/2022/06/12/10/ acme_dcrassetmetadata_a9ddf15ea054ea415718767ea6&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dcrassetmetadata/2022/06/12/10/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
==SLA==&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 2 hours of the broadcast. For example, files from 1:00 AM to 1:15 AM must be delivered before 3:00 AM. The metadata file should be delivered to an S3 bucket before any Viewing file has been delivered.&lt;br /&gt;
==Schema Parameter Definitions==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |assetid&lt;br /&gt;
|In-house id used for a video asset (TMS ID if available)&lt;br /&gt;
|Yes&lt;br /&gt;
|Format: alphanumeric,&lt;br /&gt;
&lt;br /&gt;
Example: VID123456789&lt;br /&gt;
&lt;br /&gt;
AssetId needs to be unique at episode level&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |assetname&lt;br /&gt;
|In-house video asset name,&lt;br /&gt;
for troubleshooting&lt;br /&gt;
|Yes&lt;br /&gt;
|Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Examples: TMS ID, EIDR ID or Episode title&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |programname&lt;br /&gt;
|Name of the program&lt;br /&gt;
|Yes&lt;br /&gt;
|Format: alphanumeric, Max 25 char’s; no special characters&lt;br /&gt;
&lt;br /&gt;
Example: Nightly News&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |episodetitle&lt;br /&gt;
|Title of the episode&lt;br /&gt;
|Yes&lt;br /&gt;
|Format: alphanumeric&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |episodelen&lt;br /&gt;
|Total episode length&lt;br /&gt;
|Yes&lt;br /&gt;
|Format: Integer (seconds)&lt;br /&gt;
&lt;br /&gt;
Example: 3600&lt;br /&gt;
&lt;br /&gt;
For continuous live stream or unknown duration use 24*60*60 (86400)&lt;br /&gt;
&lt;br /&gt;
Can be updated with a replacement asset file when the live playout ends, and the exact duration becomes known&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |isfullepisode&lt;br /&gt;
|Full episode Flag&lt;br /&gt;
(indicates full episode or a clip)&lt;br /&gt;
|Yes&lt;br /&gt;
|Format: integer – 0 (not full episode), 1 (full episode)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |genre&lt;br /&gt;
|Nielsen genre code&lt;br /&gt;
|No&lt;br /&gt;
|Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: CV (comedy variety), N (news)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |airdate&lt;br /&gt;
|The date the episode was first made available on Traditional TV&lt;br /&gt;
|No&lt;br /&gt;
|Format: US ET:  YYYYMMDDHHMMSS&lt;br /&gt;
&lt;br /&gt;
Example: 19970716231256&lt;br /&gt;
&lt;br /&gt;
For the US, the time should be specified as Eastern Timezone. Other countries will use a local timezone.&lt;br /&gt;
&lt;br /&gt;
This value can be updated with a replacement asset file if the original air date changes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |webpageurl&lt;br /&gt;
|Website Identifier, for diagnostics, can be turned off/on as needed&lt;br /&gt;
|Optional&lt;br /&gt;
|Format: alphanumeric  (max 2k)&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;nowiki&amp;gt;https://www.myapp.com/video.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}Note: All parameters are case sensitive.&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7434</id>
		<title>Digital Measurement SEI Streaming Content Viewing</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7434"/>
		<updated>2025-10-31T15:32:47Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Streaming Measurement}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
&lt;br /&gt;
This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products.&lt;br /&gt;
&lt;br /&gt;
This document describes the log file exposures, to be used in conjunction with [[Digital Measurement Content Audit Beacon]]&lt;br /&gt;
&lt;br /&gt;
== Delivery Specifications ==&lt;br /&gt;
Files should be delivered at a fixed cadence in a dedicated S3 bucket the following prefix and object naming conventions and data formats. &lt;br /&gt;
&lt;br /&gt;
* All prefix labels and file names should be lowercase except for app ids. &lt;br /&gt;
* Supported format are:&lt;br /&gt;
** Apache Parquet format with snappy compression; (preferred)&lt;br /&gt;
** Text files with utf-8 encoding in JSON Lines format;&lt;br /&gt;
* All data files have extensions to indicate the file format (.json | .parquet)&lt;br /&gt;
* Data file can be partitioned into multiple parts with min size of 256MB&lt;br /&gt;
* Data can be delivered separately in multiple splits, if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the SEI system&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-'''&amp;lt;env&amp;gt;'''/'''&amp;lt;filetype&amp;gt;'''/'''&amp;lt;split&amp;gt;'''/'''yyyy/mm/dd/hh'''/'''&amp;lt;object&amp;gt;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|&amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;prod&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|&amp;lt;code&amp;gt;exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dcr-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dar-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio-exposure&amp;lt;/code&amp;gt;, etc., where:&lt;br /&gt;
&lt;br /&gt;
* exposure is reserved for multi-product files&lt;br /&gt;
* &amp;lt;product&amp;gt;-exposure is for single product files, where &amp;lt;product&amp;gt; is [&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.['''json'''|'''parquet''']&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[dar|dcr|dtvr|ctvc|audio]'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty &amp;lt;code&amp;gt;'''_SUCCESS'''&amp;lt;/code&amp;gt; file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in .json format that implements the AWS unload manifest file format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 31337&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Specified'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
!'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;MRC = 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710154800&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710158399&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt;&lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC): ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLA ==&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval. For example, files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Accuracy of Measurement ==&lt;br /&gt;
The reported “wall clock” time of viewing needs to be within 25 seconds of the actual viewing time.&lt;br /&gt;
&lt;br /&gt;
The reported content “reference” time needs to match the actual content that was played out with plus/minus 10 seconds (for clarity: start and end times can each be off by up to 10 seconds, so the combined under/over reporting for each individual viewing segment should be no greater than 20 seconds)&lt;br /&gt;
&lt;br /&gt;
== CTV, Mirroring, and Casting ==&lt;br /&gt;
For apps native to the OTT device ''(i.e. downloading and viewing a streaming app to an Apple TV)'', audit ping should fire from the OTT device, and Viewing data should reside in OTT Viewing file.&lt;br /&gt;
&lt;br /&gt;
[[File:Phone_Playback.png]]&lt;br /&gt;
&lt;br /&gt;
For mirroring, where video playback occurs on the mobile device and OTT device, only one Viewing file row is necessary where, if possible to determine, set: &amp;lt;code&amp;gt;&amp;quot;secondscr&amp;quot;:&amp;quot;MIR&amp;quot;&amp;lt;/code&amp;gt; and include in respective mobile platform Viewing file. &lt;br /&gt;
&lt;br /&gt;
For a casting scenario where content is controlled via the mobile device, but displayed only on the OTT device such as an AppleTV or Chromecast, an audit ping must fire from the mobile device before the casting occurs and at the end of playback from the mobile device only. Viewing data resides in the respective mobile platform Viewing file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx123&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;60&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx303&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;120&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;180&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;60&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;120&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;secondscr&amp;quot;:&amp;quot;OTT&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apn&lt;br /&gt;
|Application name&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;BestAppIOS&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apv&lt;br /&gt;
|Application version&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;21.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. &amp;quot;Session&amp;quot; is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID:&lt;br /&gt;
&amp;lt;code&amp;gt;cdcde33c-b62f-4f17-a9c8-0db4f78e09d6&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamid&lt;br /&gt;
|ID for every new instance of exposure to a different asset&lt;br /&gt;
|Yes, if no sessionid&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &lt;br /&gt;
&amp;lt;code&amp;gt;d7a909f1-5e77-4af7-8a9b-f2…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamended&lt;br /&gt;
|Stream is known to have ended in this file&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (stream continues in subsequent file),&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; (stream closed)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |publisher_user_id&lt;br /&gt;
|Publisher-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;8f434346648f6b96d9dda901c5…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2cf24dba5fb0a30e26e83b2ab9…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |assetid&lt;br /&gt;
|In-house id used for a video asset (TMS ID if available)&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;VID123456789&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Yes&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_load_flag&lt;br /&gt;
|linear or dynamic ad load&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = Default / Unknown &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = linear ad load&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = dynamic ad load&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_support_flag&lt;br /&gt;
|Intended method of monetizing the content&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = (no ads),&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = (content is supported by ads)&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = (not known)&lt;br /&gt;
&lt;br /&gt;
Note: set to &amp;quot;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&amp;quot; if content ad support was intended but did not occur&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |position&lt;br /&gt;
|Array of contiguous content viewing.&lt;br /&gt;
&lt;br /&gt;
For viewing gaps &amp;lt; than 1 second, the gap can be smoothed over&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;position&amp;quot;: [{&lt;br /&gt;
 &amp;quot;referencestart&amp;quot;:&amp;quot;[timestamp]&amp;quot;,&lt;br /&gt;
 &amp;quot;referenceend&amp;quot;:&amp;quot;[timestamp]&amp;quot;&lt;br /&gt;
 &amp;quot;playheadstart&amp;quot;:&amp;quot;[playhead position]&amp;quot;,&lt;br /&gt;
 &amp;quot;playheadend&amp;quot;:&amp;quot;[playhead position]&amp;quot;&lt;br /&gt;
}]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|referencestart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|referenceend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858775&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|playheadstart&lt;br /&gt;
|Content position start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858515&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|playheadend&lt;br /&gt;
|Content position end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858785&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |viewedads&lt;br /&gt;
|Array of ads viewed by client.&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;adpod&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adposition&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;isdarid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adstart&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;adend&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;advisible&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adfocus&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adaudio&amp;quot;:&amp;quot;0&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|adpod&lt;br /&gt;
|AdPod sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment for each AdPod. If the same AdPod is played out twice (due to rewind), still increment the AdPod sequence to reflect the sequence the AdPods are played.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adposition&lt;br /&gt;
|Ad sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment each time a new Ad is encountered. If the same Ad is played out twice (due to rewind), still increment the Ad sequence to reflect the sequence the Ads are played&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adid&lt;br /&gt;
| The unique identifier for this Ad&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
In-house AdId, Industry AdID, AdNetwork ID or DAR placement ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|isdarid&lt;br /&gt;
|Is the AdId being passed a Nielsen DAR placement ID&lt;br /&gt;
|Required if AdID&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = is NOT DAR ID;&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = is a DAR ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adstart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|adend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID&lt;br /&gt;
|Yes,if &lt;br /&gt;
&lt;br /&gt;
available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;55C06A30DAA5D5F382FDEB8C702EC57875CC9D91A7C78BB620053FD81DC…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |luid&lt;br /&gt;
|Living Unit ID - Experian Household ID&lt;br /&gt;
|Yes, for CTV if available&lt;br /&gt;
|&amp;lt;code&amp;gt;B0EOFEDgD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xdua&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, &lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xff&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |psudo_id_sha256&lt;br /&gt;
|Hashed Device User Agent string + IP address&lt;br /&gt;
|No&lt;br /&gt;
|&amp;lt;code&amp;gt;421c76d77563afa1914846b010bd164f395bd34c2102e5e99e0cb9cf173…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |robotic_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot,&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
| ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Required if no IP&lt;br /&gt;
| &amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7432</id>
		<title>Digital Measurement SEI Streaming Content Viewing</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7432"/>
		<updated>2025-10-30T12:59:28Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Streaming Measurement}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
&lt;br /&gt;
This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products.&lt;br /&gt;
&lt;br /&gt;
This document describes the log file exposures, to be used in conjunction with [[Digital Measurement Content Audit Beacon]]&lt;br /&gt;
&lt;br /&gt;
== Delivery Specifications ==&lt;br /&gt;
Files should be delivered at a fixed cadence in a dedicated S3 bucket the following prefix and object naming conventions and data formats. &lt;br /&gt;
&lt;br /&gt;
* All prefix labels and file names should be lowercase except for app ids. &lt;br /&gt;
* Supported format are:&lt;br /&gt;
** Apache Parquet format with snappy compression; (preferred)&lt;br /&gt;
** Text files with utf-8 encoding in JSON Lines format;&lt;br /&gt;
* All data files have extensions to indicate the file format (.json | .parquet)&lt;br /&gt;
* Data file can be partitioned into multiple parts with min size of 256MB&lt;br /&gt;
* Data can be delivered separately in multiple splits, if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the SEI system&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-'''&amp;lt;env&amp;gt;'''/'''&amp;lt;filetype&amp;gt;'''/'''&amp;lt;split&amp;gt;'''/'''yyyy/mm/dd/hh'''/'''&amp;lt;object&amp;gt;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|&amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;prod&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|&amp;lt;code&amp;gt;exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dcr-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dar-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio-exposure&amp;lt;/code&amp;gt;, etc., where:&lt;br /&gt;
&lt;br /&gt;
* exposure is reserved for multi-product files&lt;br /&gt;
* &amp;lt;product&amp;gt;-exposure is for single product files, where &amp;lt;product&amp;gt; is [&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.['''json'''|'''parquet''']&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[dar|dcr|dtvr|ctvc|audio]'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty &amp;lt;code&amp;gt;'''_SUCCESS'''&amp;lt;/code&amp;gt; file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in .json format that implements the AWS unload manifest file format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 31337&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Specified'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
!'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;MRC = 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710154800&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710158399&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt;&lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC): ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLA ==&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval. For example, files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== CTV, Mirroring, and Casting ==&lt;br /&gt;
For apps native to the OTT device ''(i.e. downloading and viewing a streaming app to an Apple TV)'', audit ping should fire from the OTT device, and Viewing data should reside in OTT Viewing file.&lt;br /&gt;
&lt;br /&gt;
[[File:Phone_Playback.png]]&lt;br /&gt;
&lt;br /&gt;
For mirroring, where video playback occurs on the mobile device and OTT device, only one Viewing file row is necessary where, if possible to determine, set: &amp;lt;code&amp;gt;&amp;quot;secondscr&amp;quot;:&amp;quot;MIR&amp;quot;&amp;lt;/code&amp;gt; and include in respective mobile platform Viewing file. &lt;br /&gt;
&lt;br /&gt;
For a casting scenario where content is controlled via the mobile device, but displayed only on the OTT device such as an AppleTV or Chromecast, an audit ping must fire from the mobile device before the casting occurs and at the end of playback from the mobile device only. Viewing data resides in the respective mobile platform Viewing file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx123&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;60&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx303&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;120&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;180&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;60&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;120&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;secondscr&amp;quot;:&amp;quot;OTT&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apn&lt;br /&gt;
|Application name&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;BestAppIOS&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apv&lt;br /&gt;
|Application version&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;21.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. &amp;quot;Session&amp;quot; is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID:&lt;br /&gt;
&amp;lt;code&amp;gt;cdcde33c-b62f-4f17-a9c8-0db4f78e09d6&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamid&lt;br /&gt;
|ID for every new instance of exposure to a different asset&lt;br /&gt;
|Yes, if no sessionid&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &lt;br /&gt;
&amp;lt;code&amp;gt;d7a909f1-5e77-4af7-8a9b-f2…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamended&lt;br /&gt;
|Stream is known to have ended in this file&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (stream continues in subsequent file),&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; (stream closed)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |publisher_user_id&lt;br /&gt;
|Publisher-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;8f434346648f6b96d9dda901c5…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2cf24dba5fb0a30e26e83b2ab9…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |assetid&lt;br /&gt;
|In-house id used for a video asset (TMS ID if available)&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;VID123456789&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Yes&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_load_flag&lt;br /&gt;
|linear or dynamic ad load&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = Default / Unknown &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = linear ad load&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = dynamic ad load&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_support_flag&lt;br /&gt;
|Intended method of monetizing the content&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = (no ads),&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = (content is supported by ads)&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = (not known)&lt;br /&gt;
&lt;br /&gt;
Note: set to &amp;quot;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&amp;quot; if content ad support was intended but did not occur&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |position&lt;br /&gt;
|Array of contiguous content viewing.&lt;br /&gt;
&lt;br /&gt;
For viewing gaps &amp;lt; than 1 second, the gap can be smoothed over&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;position&amp;quot;: [{&lt;br /&gt;
 &amp;quot;referencestart&amp;quot;:&amp;quot;[timestamp]&amp;quot;,&lt;br /&gt;
 &amp;quot;referenceend&amp;quot;:&amp;quot;[timestamp]&amp;quot;&lt;br /&gt;
 &amp;quot;playheadstart&amp;quot;:&amp;quot;[playhead position]&amp;quot;,&lt;br /&gt;
 &amp;quot;playheadend&amp;quot;:&amp;quot;[playhead position]&amp;quot;&lt;br /&gt;
}]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|referencestart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|referenceend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858775&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|playheadstart&lt;br /&gt;
|Content position start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858515&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|playheadend&lt;br /&gt;
|Content position end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858785&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |viewedads&lt;br /&gt;
|Array of ads viewed by client.&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;adpod&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adposition&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;isdarid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adstart&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;adend&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;advisible&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adfocus&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adaudio&amp;quot;:&amp;quot;0&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|adpod&lt;br /&gt;
|AdPod sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment for each AdPod. If the same AdPod is played out twice (due to rewind), still increment the AdPod sequence to reflect the sequence the AdPods are played.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adposition&lt;br /&gt;
|Ad sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment each time a new Ad is encountered. If the same Ad is played out twice (due to rewind), still increment the Ad sequence to reflect the sequence the Ads are played&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adid&lt;br /&gt;
| The unique identifier for this Ad&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
In-house AdId, Industry AdID, AdNetwork ID or DAR placement ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|isdarid&lt;br /&gt;
|Is the AdId being passed a Nielsen DAR placement ID&lt;br /&gt;
|Required if AdID&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = is NOT DAR ID;&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = is a DAR ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adstart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|adend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID&lt;br /&gt;
|Yes,if &lt;br /&gt;
&lt;br /&gt;
available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;55C06A30DAA5D5F382FDEB8C702EC57875CC9D91A7C78BB620053FD81DC…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |luid&lt;br /&gt;
|Living Unit ID - Experian Household ID&lt;br /&gt;
|Yes, for CTV if available&lt;br /&gt;
|&amp;lt;code&amp;gt;B0EOFEDgD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xdua&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, &lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xff&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |psudo_id_sha256&lt;br /&gt;
|Hashed Device User Agent string + IP address&lt;br /&gt;
|No&lt;br /&gt;
|&amp;lt;code&amp;gt;421c76d77563afa1914846b010bd164f395bd34c2102e5e99e0cb9cf173…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |robotic_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot,&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
| ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Required if no IP&lt;br /&gt;
| &amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7431</id>
		<title>Digital Measurement SEI Streaming Content Viewing</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Streaming_Content_Viewing&amp;diff=7431"/>
		<updated>2025-10-30T12:57:55Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: /* Accuracy of Measurement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Streaming Measurement}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
&lt;br /&gt;
This interface specification depicts the file schema required to supply Nielsen with response-level Viewing data in a “Server-to-Server” relationship for incorporation into the Nielsen One Content and/or Nielsen One Ads products.&lt;br /&gt;
&lt;br /&gt;
This document describes the log file exposures, to be used in conjunction with [[Digital Measurement Content Audit Beacon]]&lt;br /&gt;
&lt;br /&gt;
== Delivery Specifications ==&lt;br /&gt;
Files should be delivered at a fixed cadence in a dedicated S3 bucket the following prefix and object naming conventions and data formats. &lt;br /&gt;
&lt;br /&gt;
* All prefix labels and file names should be lowercase except for app ids. &lt;br /&gt;
* Supported format are:&lt;br /&gt;
** Apache Parquet format with snappy compression; (preferred)&lt;br /&gt;
** Text files with utf-8 encoding in JSON Lines format;&lt;br /&gt;
* All data files have extensions to indicate the file format (.json | .parquet)&lt;br /&gt;
* Data file can be partitioned into multiple parts with min size of 256MB&lt;br /&gt;
* Data can be delivered separately in multiple splits, if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the SEI system&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-'''&amp;lt;env&amp;gt;'''/'''&amp;lt;filetype&amp;gt;'''/'''&amp;lt;split&amp;gt;'''/'''yyyy/mm/dd/hh'''/'''&amp;lt;object&amp;gt;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|&amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;prod&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|&amp;lt;code&amp;gt;exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dcr-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dar-exposure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;audio-exposure&amp;lt;/code&amp;gt;, etc., where:&lt;br /&gt;
&lt;br /&gt;
* exposure is reserved for multi-product files&lt;br /&gt;
* &amp;lt;product&amp;gt;-exposure is for single product files, where &amp;lt;product&amp;gt; is [&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.['''json'''|'''parquet''']&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[dar|dcr|dtvr|ctvc|audio]'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty &amp;lt;code&amp;gt;'''_SUCCESS'''&amp;lt;/code&amp;gt; file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in .json format that implements the AWS unload manifest file format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 31337&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Specified'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
!'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;MRC = 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710154800&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1710158399&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt;&lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC): ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&lt;br /&gt;
&lt;br /&gt;
useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SLA ==&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval. For example, files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== CTV, Mirroring, and Casting ==&lt;br /&gt;
For apps native to the OTT device ''(i.e. downloading and viewing a streaming app to an Apple TV)'', audit ping should fire from the OTT device, and Viewing data should reside in OTT Viewing file.&lt;br /&gt;
&lt;br /&gt;
[[File:Phone_Playback.png]]&lt;br /&gt;
&lt;br /&gt;
For mirroring, where video playback occurs on the mobile device and OTT device, only one Viewing file row is necessary where, if possible to determine, set: &amp;lt;code&amp;gt;&amp;quot;secondscr&amp;quot;:&amp;quot;MIR&amp;quot;&amp;lt;/code&amp;gt; and include in respective mobile platform Viewing file. &lt;br /&gt;
&lt;br /&gt;
For a casting scenario where content is controlled via the mobile device, but displayed only on the OTT device such as an AppleTV or Chromecast, an audit ping must fire from the mobile device before the casting occurs and at the end of playback from the mobile device only. Viewing data resides in the respective mobile platform Viewing file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx123&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;60&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx303&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;120&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;180&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
{...&lt;br /&gt;
   &amp;quot;sessionid&amp;quot;:&amp;quot;ABC&amp;quot;,&lt;br /&gt;
   &amp;quot;streamid&amp;quot;:&amp;quot;DEF&amp;quot;,&lt;br /&gt;
   &amp;quot;position&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;referencestart&amp;quot;:&amp;quot;xxxxxxx183&amp;quot;,&lt;br /&gt;
         &amp;quot;referenceend&amp;quot;:&amp;quot;xxxxxxx243&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadstart&amp;quot;:&amp;quot;60&amp;quot;,&lt;br /&gt;
         &amp;quot;playheadend&amp;quot;:&amp;quot;120&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ],&lt;br /&gt;
   &amp;quot;secondscr&amp;quot;:&amp;quot;OTT&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apn&lt;br /&gt;
|Application name&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;BestAppIOS&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |apv&lt;br /&gt;
|Application version&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;21.5&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. &amp;quot;Session&amp;quot; is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID:&lt;br /&gt;
&amp;lt;code&amp;gt;cdcde33c-b62f-4f17-a9c8-0db4f78e09d6&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamid&lt;br /&gt;
|ID for every new instance of exposure to a different asset&lt;br /&gt;
|Yes, if no sessionid&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &lt;br /&gt;
&amp;lt;code&amp;gt;d7a909f1-5e77-4af7-8a9b-f2…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |streamended&lt;br /&gt;
|Stream is known to have ended in this file&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (stream continues in subsequent file),&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; (stream closed)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |publisher_user_id&lt;br /&gt;
|Publisher-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;8f434346648f6b96d9dda901c5…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Salted, hashed user ID: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2cf24dba5fb0a30e26e83b2ab9…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |assetid&lt;br /&gt;
|In-house id used for a video asset (TMS ID if available)&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;VID123456789&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |nielsen_id3_tag&lt;br /&gt;
|Encrypted Nielsen ID3 Tag. Contains SID (Source Identifier) codes (PC - Program Content  &amp;amp;  FD - Final Distributor).&lt;br /&gt;
|Optional&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric; &lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;www.nielsen.com/X100zdCIGeIlgZnkYj6UvQ==/X100zdCIGeIlgZnkYj6UvQ==&amp;lt;wbr /&amp;gt;/AAAB2Jz2_k74GXSzx4npHuI&amp;lt;wbr /&amp;gt;_JwJd3QSUpW30rDkGTcbHEzIMWleCzM-uvNOP9fzJcQMWQLJqzXMCAxParOb5sGijSV9dNM3QiBniJYGZ5GI&amp;lt;wbr /&amp;gt;-lL1fXTTN0IgZ4iWBmeRiPpS9AAAAAAAAAAAAAAAAAAAAAFJWFM5SVhTONNU=&amp;lt;wbr /&amp;gt;/00000/00000/00&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Only Data Tags should be included, INFO Tags should not. &lt;br /&gt;
&lt;br /&gt;
INFO Tag is characterized by the following CID prefix: X100zdCIGeIlgZnkYj6UvQ==&lt;br /&gt;
&lt;br /&gt;
Example INFO Tag (not desired):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;www.nielsen.com/X100zdCIGeIlgZnkYj6UvQ==/X100zdCIGeIlgZnkYj6UvQ==/&amp;lt;wbr /&amp;gt;AAICoyitYqlxT7n6aZ0oMCGheFi4CXFp46AMUPZz1lMr_M9tr3&amp;lt;wbr /&amp;gt;_cjee1SHqxrOiVerMDLeyn9xzocZSKwi746Re8vNOtpNCAZjYABs_&amp;lt;wbr /&amp;gt;J0R25IHpvOc1HS8QHGgD5TgOJeS6gX100zdCIGeIlgZnkYj6UvVJWFNhSVhTiPE0=&amp;lt;wbr /&amp;gt;/00000/46016/00&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |gracenote_id&lt;br /&gt;
|Gracenote TMS ID (If available) should be passed for all telecasted content.&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |station_id&lt;br /&gt;
|GraceNote station ID that identifies the station&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |program_name&lt;br /&gt;
|Name of program&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, Max 25 characters; no special characters.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Nightly News&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See below for more specific guidance on Program Name.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |network_affiliate&lt;br /&gt;
|Network affiliation of a station&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;xyz&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |channel_id&lt;br /&gt;
|ID of channel&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |channel_name&lt;br /&gt;
|Name of channel&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |callsign&lt;br /&gt;
| FCC assigned unique identifier for a transmitter station&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Yes&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_load_flag&lt;br /&gt;
|linear or dynamic ad load&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = Default / Unknown &lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = linear ad load&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = dynamic ad load&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad_support_flag&lt;br /&gt;
|Intended method of monetizing the content&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = (no ads),&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = (content is supported by ads)&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = (not known)&lt;br /&gt;
&lt;br /&gt;
Note: set to &amp;quot;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&amp;quot; if content ad support was intended but did not occur&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |position&lt;br /&gt;
|Array of contiguous content viewing.&lt;br /&gt;
&lt;br /&gt;
For viewing gaps &amp;lt; than 1 second, the gap can be smoothed over&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;position&amp;quot;: [{&lt;br /&gt;
 &amp;quot;referencestart&amp;quot;:&amp;quot;[timestamp]&amp;quot;,&lt;br /&gt;
 &amp;quot;referenceend&amp;quot;:&amp;quot;[timestamp]&amp;quot;&lt;br /&gt;
 &amp;quot;playheadstart&amp;quot;:&amp;quot;[playhead position]&amp;quot;,&lt;br /&gt;
 &amp;quot;playheadend&amp;quot;:&amp;quot;[playhead position]&amp;quot;&lt;br /&gt;
}]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|referencestart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|referenceend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858775&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|playheadstart&lt;br /&gt;
|Content position start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858515&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|playheadend&lt;br /&gt;
|Content position end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds or integer indexed from 0 (typical for VOD)&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1577858785&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |viewedads&lt;br /&gt;
|Array of ads viewed by client.&lt;br /&gt;
&lt;br /&gt;
See below for additional details on position array parameters&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;adpod&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adposition&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;isdarid&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adstart&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;adend&amp;quot;:&amp;quot;utc&amp;quot;,&lt;br /&gt;
      &amp;quot;advisible&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adfocus&amp;quot;:&amp;quot;0&amp;quot;,&lt;br /&gt;
      &amp;quot;adaudio&amp;quot;:&amp;quot;0&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|adpod&lt;br /&gt;
|AdPod sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment for each AdPod. If the same AdPod is played out twice (due to rewind), still increment the AdPod sequence to reflect the sequence the AdPods are played.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adposition&lt;br /&gt;
|Ad sequence number.&lt;br /&gt;
&lt;br /&gt;
Increment each time a new Ad is encountered. If the same Ad is played out twice (due to rewind), still increment the Ad sequence to reflect the sequence the Ads are played&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Integer&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adid&lt;br /&gt;
| The unique identifier for this Ad&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
In-house AdId, Industry AdID, AdNetwork ID or DAR placement ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|isdarid&lt;br /&gt;
|Is the AdId being passed a Nielsen DAR placement ID&lt;br /&gt;
|Required if AdID&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = is NOT DAR ID;&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = is a DAR ID&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|adstart&lt;br /&gt;
|Wall clock reference start time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|adend&lt;br /&gt;
|Wall clock reference end time&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID&lt;br /&gt;
|Yes,if &lt;br /&gt;
&lt;br /&gt;
available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;55C06A30DAA5D5F382FDEB8C702EC57875CC9D91A7C78BB620053FD81DC…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |luid&lt;br /&gt;
|Living Unit ID - Experian Household ID&lt;br /&gt;
|Yes, for CTV if available&lt;br /&gt;
|&amp;lt;code&amp;gt;B0EOFEDgD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xdua&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, &lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |xff&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |psudo_id_sha256&lt;br /&gt;
|Hashed Device User Agent string + IP address&lt;br /&gt;
|No&lt;br /&gt;
|&amp;lt;code&amp;gt;421c76d77563afa1914846b010bd164f395bd34c2102e5e99e0cb9cf173…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | The following 4 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |robotic_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot,&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
| ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Required if no IP&lt;br /&gt;
| &amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=US_DCR_%26_DTVR&amp;diff=7430</id>
		<title>US DCR &amp; DTVR</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=US_DCR_%26_DTVR&amp;diff=7430"/>
		<updated>2025-10-30T12:54:04Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
{{CategoryIcon|DCR.png|US Digital Content Ratings (DCR) &amp;amp; Digital in TV Ratings (DTVR)}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot;| Start Here&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| '''Step-By-Step SDK Integration Guides ([[BSDK Step By Step|Browser]], [[Android Step By Step|Android]], [[iOS Step By Step|iOS]])'''&lt;br /&gt;
| '''API Reference Tables ([[Browser_SDK_API_Table|Browser]], [[Android_SDK_API_Table|Android]], [[iOS_SDK_API_Table|iOS]])'''&lt;br /&gt;
|-&lt;br /&gt;
| '''[[DCR_vs_DTVR|DCR vs. DTVR Implementation - Key Differences]]'''&lt;br /&gt;
| '''Product Information - [https://markets.nielsen.com/us/en/solutions/capabilities/digital-content-ratings/ DCR], [https://www.nielsen.com/solutions/audience-measurement/national-tv/ DTVR]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot;| General Reference&lt;br /&gt;
|-&lt;br /&gt;
| '''[[Digital Measurement Onboarding]]'''&lt;br /&gt;
| '''[[Digital Measurement Metadata]]'''&lt;br /&gt;
| '''[[Digital Measurement Testing]]'''&lt;br /&gt;
|-&lt;br /&gt;
| '''[[Digital Measurement Interruption Scenarios]]'''&lt;br /&gt;
| '''[[Digital Measurement FAQ]]'''&lt;br /&gt;
| '''SDK Release Notes - [[Browser_SDK_Release_Notes|Browser]], [[Android_SDK_Release_Notes|Android]], [[iOS_SDK_Release_Notes|iOS]], [[TVOS_SDK_Release_Notes|TVOS]], [[DOMless SDK Release Notes|DOMless]]'''&lt;br /&gt;
|-&lt;br /&gt;
| '''[[Digital Pre-Certification Checklist App SDK]]'''&lt;br /&gt;
| '''[[Digital Pre-Certification Checklist Browser SDK]]'''&lt;br /&gt;
| '''[[Digital Measurement Persistent Identifiers]]'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Dual Instances of SDK|'''Dual Instances of SDK''']]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SEI ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |Single Endpoint Integration (SEI) - log-file based data transaction mechanism&lt;br /&gt;
|-&lt;br /&gt;
!Type&lt;br /&gt;
!&lt;br /&gt;
!Implementation Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; |{{SmallIcon|DigitalIcon.png}}&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; |{{OSIcon|VideoIcon.png|alt=Video}}&lt;br /&gt;
|'''[[Digital Measurement SEI Streaming Content Viewing]]'''&lt;br /&gt;
|-&lt;br /&gt;
|'''[[Digital Measurement Content Asset Metadata]]'''&lt;br /&gt;
|-&lt;br /&gt;
|'''[[Digital Measurement Content Audit Beacon]]'''&lt;br /&gt;
|-&lt;br /&gt;
|'''[[Digital Measurement SEI Audio File]](Only for DTVR)'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SDK - Video ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Maintaining an existing ''DCR'' or ''DTVR'' App integration? Continue to reference the API you're already using with the guides below.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
! style=&amp;quot;width: 30%;&amp;quot; | DCR Implementation Guide&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot; | DTVR Implementation Guide&lt;br /&gt;
!| SDK Documentation&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | {{SmallIcon|SDKIcon.png|alt=SDK}}&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | {{OSIcon|VideoIcon.png|alt=Video}}&lt;br /&gt;
| {{OSIcon|macOSIcon.png|alt=iOS}}&lt;br /&gt;
| '''[[DCR Video iOS SDK]]'''&lt;br /&gt;
| '''[[DTVR iOS SDK]]'''&lt;br /&gt;
| [[iOS SDK API Reference]]&lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|AndroidIcon.png|alt=Android}}&lt;br /&gt;
| '''[[DCR Video Android SDK]]'''&lt;br /&gt;
| '''[[DTVR Android SDK]]'''&lt;br /&gt;
| [[Android SDK API Reference]]&lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|BrowserIcon.png|alt=Browser}}&lt;br /&gt;
| '''[[DCR Video Browser SDK]]'''&lt;br /&gt;
| '''[[DTVR Browser SDK]]'''&lt;br /&gt;
| [[Browser SDK API Reference]]&lt;br /&gt;
|-&lt;br /&gt;
|{{OSIcon|BrowserIcon.png|alt=Browser}}&lt;br /&gt;
|'''[[DCR Video Domless SDK]]'''&lt;br /&gt;
|'''[[DTVR Domless SDK]]'''&lt;br /&gt;
|[[Domless SDK API Reference]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SDK - Static ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
! style=&amp;quot;width: 55%;&amp;quot; | DCR Implementation Guide&lt;br /&gt;
!| SDK Documentation&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; | {{SmallIcon|SDKIcon.png|alt=SDK}}&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; | {{OSIcon|StaticIcon.png|alt=Static Content}}&lt;br /&gt;
| {{OSIcon|macOSIcon.png|alt=iOS}}&lt;br /&gt;
| '''[[DCR Static iOS SDK]]'''&lt;br /&gt;
| [[iOS SDK API Reference]]&lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|AndroidIcon.png|alt=Android}}&lt;br /&gt;
| '''[[DCR Static Android SDK]]'''&lt;br /&gt;
| [[Android SDK API Reference]]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | {{OSIcon|BrowserIcon.png|alt=Browser}}&lt;br /&gt;
| '''[[DCR Static Browser SDK]]'''&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[Browser SDK API Reference]]&lt;br /&gt;
|-&lt;br /&gt;
| '''[[DCR Static Lite Browser SDK]]'''&lt;br /&gt;
|-&lt;br /&gt;
|  {{OSIcon|GoogleTagManagerIcon.png|alt=Google Tag Manager}}&lt;br /&gt;
| '''[[DCR Static Google Tag Manager]]'''&lt;br /&gt;
|-&lt;br /&gt;
|  {{OSIcon|FacebookIcon.png|alt=Facebook Instant Articles}}&lt;br /&gt;
| '''[[DCR Static Facebook Instant Articles Browser SDK]]'''&lt;br /&gt;
|-&lt;br /&gt;
|  {{OSIcon|Tealium_Icon.png|alt=Tealium}}&lt;br /&gt;
| '''[[DCR Static Tealium]]'''&lt;br /&gt;
|-&lt;br /&gt;
|  {{OSIcon|AMPIcon.png|alt=Google AMP}}&lt;br /&gt;
| '''[[DCR Static Google AMP Cloud API]]'''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|{{OSIcon|BrowserIcon.png|alt=Browser}}&lt;br /&gt;
|'''[[DCR Static Domless SDK]]'''&lt;br /&gt;
|[[Domless SDK API Reference]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Xamarin ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Xamarin Integration Guides (Xamarin support is part of [[Special:Downloads|Nielsen's AppSDK V8]] and above.)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
!| Implementation Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | {{SmallIcon|SDKIcon.png|alt=SDK}}&lt;br /&gt;
|-&lt;br /&gt;
|  {{OSIcon|VideoIcon.png|alt=Video}}&lt;br /&gt;
| {{OSIcon|APIIcon.png|alt=Xamarin}}&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | '''[[DCR_%26_DTVR_Xamarin_Integration|DCR &amp;amp; DTVR Xamarin Integration]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== AppSDK Flutter Plugin ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Flutter Integration Guides (Flutter support is part of [[Special:Downloads|Nielsen's AppSDK V10.1.0]] and above.)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
!| Implementation Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | {{SmallIcon|SDKIcon.png|alt=SDK}}&lt;br /&gt;
|-&lt;br /&gt;
|  {{OSIcon|VideoIcon.png|alt=Video}}&lt;br /&gt;
| {{OSIcon|APIIcon.png|alt=Xamarin}}&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | '''[[DCR_%26_DTVR_Flutter_Integration|DCR &amp;amp; DTVR Flutter Integration]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cloud API ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
!| DCR Implementation Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{SmallIcon|CloudAPIIcon.png|alt=Cloud API}} &lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
{{OSIcon|VideoIcon.png|alt=Video}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{OSIcon|StaticIcon.png|alt=Static Content}}&lt;br /&gt;
| {{OSIcon|APIIcon.png|alt=Cloud API}}&lt;br /&gt;
| '''[[DCR Video &amp;amp; Static Cloud API ]]''' &lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|APIIcon.png|alt=Cloud API}}&lt;br /&gt;
| '''[[DCR Video &amp;amp; Static Mobile Cloud API ]]'''&lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|RokuIcon.png|alt=Roku}}&lt;br /&gt;
| '''[[DCR Video &amp;amp; Static Roku Cloud API]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adobe Launch Extensions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Leverage Launch by Adobe? The guides below describe how to integrate DCR and DTVR with Nielsen's Adobe Launch extension&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
!| Implementation Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | {{SmallIcon|SDKIcon.png|alt=SDK}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | '''[[Digital Measurement Onboarding Adobe ]]'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{OSIcon|VideoIcon.png|alt=Video}}&lt;br /&gt;
| {{OSIcon|macOSIcon.png|alt=iOS}}&lt;br /&gt;
| '''[[DCR &amp;amp; DTVR iOS Adobe Launch Extension]]'''&lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|AndroidIcon.png|alt=Android}}&lt;br /&gt;
| '''[[DCR &amp;amp; DTVR Android Adobe Launch Extension]]'''&lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|BrowserIcon.png|alt=Browser}}&lt;br /&gt;
| '''[[DCR &amp;amp; DTVR Browser Adobe Launch Extension]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SDK - Connected TV ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | The guides below describe how to integrate DCR and DTVR with Smart tv's&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
! | Implementation Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | {{SmallIcon|SDKIcon.png|alt=SDK}}&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{OSIcon|VideoIcon.png|alt=Video}}&lt;br /&gt;
| {{OSIcon|BrowserIcon.png|alt=Browser}}&lt;br /&gt;
| '''[[Digital Measurement Video TizenTv]]'''&lt;br /&gt;
|-&lt;br /&gt;
| {{OSIcon|BrowserIcon.png|alt=Browser}}&lt;br /&gt;
| '''[[Digital Measurement Video webOS]]'''&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Audit_Beacon&amp;diff=7426</id>
		<title>Digital Measurement Content Audit Beacon</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Audit_Beacon&amp;diff=7426"/>
		<updated>2025-10-28T11:48:15Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Streaming Measurement}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
The Nielsen server-to-server solution requires audit pings for the purpose of validating audience reach and video viewing duration; one start and one end for each video stream. Pings originate from the end-user device to Nielsen Collections servers. End pings execute upon cessation of playback.&lt;br /&gt;
&lt;br /&gt;
== Ping Structure ==&lt;br /&gt;
Ping is executed with following convention:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://'''[to_be_provided]'''.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;+'''[query parameters]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Start Audit Ping carries all parameters in the table below. The End Audit Ping carries a subset of the parameters in the matrix below as denoted in the mandatory column.  &lt;br /&gt;
&lt;br /&gt;
Under normal operating circumstances, the audit ping server returns the following codes:&lt;br /&gt;
&lt;br /&gt;
* Audit ping servers reject cross-origin HTTP requests with preflight. To ensure that audit ping requests are accepted, allowable Content-Types like &amp;quot;text/plain&amp;quot; in simple GET requests ensure that preflight requests are not invoked&lt;br /&gt;
* 200: Ping successfully received, inspect traffic to ensure no CORS errors&lt;br /&gt;
&lt;br /&gt;
= Session &amp;amp; Stream =&lt;br /&gt;
&lt;br /&gt;
# Sessions&lt;br /&gt;
## Optionally, a new Session ID may be created when a new player is created &lt;br /&gt;
## If more than one video player exists within the same App (e.g. picture in picture) a different Session ID is required for each&lt;br /&gt;
# Streams&lt;br /&gt;
## New Stream ID is generated for each new video stream.&lt;br /&gt;
## If stream playback continues after 24 hours, then a new Stream ID should be created and a new Audit ping should be executed (Session ID may remain)&lt;br /&gt;
## Stream ID remains the same independent of fast-forward, rewind, pause, events assuming the asset remains the same&lt;br /&gt;
## If playback is suspended for greater than 30mins (paused or otherwise suspended), a new Stream ID should be assigned upon return&lt;br /&gt;
## Audit pings should be fired at the beginning and end of a stream&lt;br /&gt;
&lt;br /&gt;
= Query Parameters =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Specified''' &lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
|apid&lt;br /&gt;
|Server App ID assigned by Nielsen&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&lt;br /&gt;
Example: &amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;ce6c1c95-de3e-431e-b11e-77…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|pingtype&lt;br /&gt;
|Indicator for ping type: &amp;quot;start&amp;quot; or &amp;quot;end&amp;quot; audit ping&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: integer,&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = Start Stream&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = Start Session&lt;br /&gt;
*&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; = End Stream&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = End Session&lt;br /&gt;
|-&lt;br /&gt;
|product&lt;br /&gt;
|Indicates which product audit ping corresponds to&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, &lt;br /&gt;
Example: &amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ctv&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes, if devid/HHID provided&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
|devid&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID&lt;br /&gt;
|Optional, or in S2S file&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|hhid&lt;br /&gt;
|House Hold ID. Used as a primary match key to external data sources.&lt;br /&gt;
|Optional, or in S2S file.&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;B0EOFEDgD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|createtm&lt;br /&gt;
|Time ping is initiated&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
'''Audit Ping Start Example:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;apid=FC984EC1-E044-B465-E040-070AAD3173A1&amp;amp;sessionid=2576459933726989&amp;amp;streamid=3679422587354472&amp;amp;pingtype=0&amp;amp;product=ctv&amp;amp;uoo=1&amp;amp;createtm=1577858505&amp;amp;devid=4AB6FCE2-2848-4FA8-9BE3-46E206206AB&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Audit Ping End Example:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;apid=FC984EC1-E044-B465-E040-070AAD3173A1&amp;amp;sessionid=2576459933726989&amp;amp;streamid=3679422587354472&amp;amp;pingtype=2&amp;amp;product=ctv&amp;amp;uoo=1&amp;amp;createtm=1577859637&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Audit_Beacon&amp;diff=7425</id>
		<title>Digital Measurement Content Audit Beacon</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_Content_Audit_Beacon&amp;diff=7425"/>
		<updated>2025-10-28T11:45:14Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: Added Content Audit page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|US DCR &amp;amp; DTVR}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
The Nielsen server-to-server solution requires audit pings for the purpose of validating audience reach and video viewing duration; one start and one end for each video stream. Pings originate from the end-user device to Nielsen Collections servers. End pings execute upon cessation of playback.&lt;br /&gt;
&lt;br /&gt;
== Ping Structure ==&lt;br /&gt;
Ping is executed with following convention:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://'''[to_be_provided]'''.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;+'''[query parameters]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Start Audit Ping carries all parameters in the table below. The End Audit Ping carries a subset of the parameters in the matrix below as denoted in the mandatory column.  &lt;br /&gt;
&lt;br /&gt;
Under normal operating circumstances, the audit ping server returns the following codes:&lt;br /&gt;
&lt;br /&gt;
* Audit ping servers reject cross-origin HTTP requests with preflight. To ensure that audit ping requests are accepted, allowable Content-Types like &amp;quot;text/plain&amp;quot; in simple GET requests ensure that preflight requests are not invoked&lt;br /&gt;
* 200: Ping successfully received, inspect traffic to ensure no CORS errors&lt;br /&gt;
&lt;br /&gt;
= Session &amp;amp; Stream =&lt;br /&gt;
&lt;br /&gt;
# Sessions&lt;br /&gt;
## Optionally, a new Session ID may be created when a new player is created &lt;br /&gt;
## If more than one video player exists within the same App (e.g. picture in picture) a different Session ID is required for each&lt;br /&gt;
# Streams&lt;br /&gt;
## New Stream ID is generated for each new video stream.&lt;br /&gt;
## If stream playback continues after 24 hours, then a new Stream ID should be created and a new Audit ping should be executed (Session ID may remain)&lt;br /&gt;
## Stream ID remains the same independent of fast-forward, rewind, pause, events assuming the asset remains the same&lt;br /&gt;
## If playback is suspended for greater than 30mins (paused or otherwise suspended), a new Stream ID should be assigned upon return&lt;br /&gt;
## Audit pings should be fired at the beginning and end of a stream&lt;br /&gt;
&lt;br /&gt;
= Query Parameters =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Parameter'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
!'''Required'''&lt;br /&gt;
!'''Specified''' &lt;br /&gt;
!'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
|apid&lt;br /&gt;
|Server App ID assigned by Nielsen&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&lt;br /&gt;
Example: &amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;ce6c1c95-de3e-431e-b11e-77…&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|pingtype&lt;br /&gt;
|Indicator for ping type: &amp;quot;start&amp;quot; or &amp;quot;end&amp;quot; audit ping&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: integer,&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = Start Stream&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = Start Session&lt;br /&gt;
*&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; = End Stream&lt;br /&gt;
*&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = End Session&lt;br /&gt;
|-&lt;br /&gt;
|product&lt;br /&gt;
|Indicates which product audit ping corresponds to&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric, &lt;br /&gt;
Example: &amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ctv&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes, if devid/HHID provided&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
|devid&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID&lt;br /&gt;
|Optional, or in S2S file&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|hhid&lt;br /&gt;
|House Hold ID. Used as a primary match key to external data sources.&lt;br /&gt;
|Optional, or in S2S file.&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt;B0EOFEDgD&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|createtm&lt;br /&gt;
|Time ping is initiated&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|&lt;br /&gt;
Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
'''Audit Ping Start Example:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;apid=FC984EC1-E044-B465-E040-070AAD3173A1&amp;amp;sessionid=2576459933726989&amp;amp;streamid=3679422587354472&amp;amp;pingtype=0&amp;amp;product=ctv&amp;amp;uoo=1&amp;amp;createtm=1577858505&amp;amp;devid=4AB6FCE2-2848-4FA8-9BE3-46E206206AB&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Audit Ping End Example:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&amp;amp;apid=FC984EC1-E044-B465-E040-070AAD3173A1&amp;amp;sessionid=2576459933726989&amp;amp;streamid=3679422587354472&amp;amp;pingtype=2&amp;amp;product=ctv&amp;amp;uoo=1&amp;amp;createtm=1577859637&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7424</id>
		<title>Digital Measurement SEI Ad Exposure</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7424"/>
		<updated>2025-10-27T14:24:37Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Ad Ratings}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
This document outlines the required specification for facilitating Nielsen ONE advertising(N1Ad) measurement, Digital Ad Ratings (DAR) measurement, Nielsen Media Impact (NMI), Add Effectiveness (MTA, Lift, etc.), Nielsen Brand Effect (NBE) and Activation products leveraging the Single Endpoint integration (SEI). Integration specifications for other Nielsen products (DCR, DTVR, etc.) via SEI are available separately.&lt;br /&gt;
&lt;br /&gt;
The Single Endpoint integration contains two components:&lt;br /&gt;
&lt;br /&gt;
# '''Exposure File'''- the specifications of which are described in this document for the transmission to Nielsen with event level data shared via a Server-to-Server (S2S) method. This S2S file transfer supplies event data and related campaign, study, and user metadata required for facilitating measurement.&lt;br /&gt;
# '''Audit Beacon'''- (implementation details available here: [[Digital Measurement Ads Audit Beacon]]) are HTTPS requests that emanate from the end-user device at a minimum of once per Session (uninterrupted user experience with gaps shorter than 30 minutes, or as mutually agreed upon). The Audit Ping provides Nielsen the ability to 1) validate traffic volume 2) provide a signal that Nielsen meters can detect for participating Nielsen panelists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to [[Digital Measurement SEI Data Delivery Specification]] for file delivery and access.&lt;br /&gt;
&lt;br /&gt;
=== Ad Measurement Considerations ===&lt;br /&gt;
Nielsen ad campaign setup is required using the '''Campaign Management Interface (CMI)''' tool or '''Tagging API''' for each campaign where Nielsen reporting is expected - this applies to new or current Nielsen clients transitioning from standard client-device-fired pixel tags to Single Endpoint style.&lt;br /&gt;
&lt;br /&gt;
Nielsen ad pixel tags should not directly fire for any exposures already included in the Exposure File after the testing period. Third-party Nielsen pixel tags should be intercepted, suppressed, and included in a server file transfer with all associated information. &lt;br /&gt;
&lt;br /&gt;
The Audit Ping is required for facilitating MRC Accredited measurement.&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-&amp;lt;'''env'''&amp;gt;/&amp;lt;'''filetype'''&amp;gt;/&amp;lt;'''split'''&amp;gt;/'''yyyy'''/'''mm'''/'''dd'''/'''hh'''/&amp;lt;object&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|“test” or “prod”&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]'''&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.[parquet|json]&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty '''_SUCCESS''' file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in json format that implements the [https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html#unload-examples-manifest-verbose AWS unload manifest file] format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 55&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Require'''&lt;br /&gt;
|'''Specified'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt; MRC = 1&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt; &lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
'''Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SLA =&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval, after which the process will skip the missing file and continue processing subsequent files. For example files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Required'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |session_id&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;70fa265f-5d49-4af7-ba9e-5e9da416bf78&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad&lt;br /&gt;
|Array that contains advertisement-related parameters indented below&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;dar_url&amp;quot;:&amp;quot;http://secure-gl.imr...&amp;quot;,&lt;br /&gt;
      &amp;quot;publisher_name&amp;quot;:&amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
      ...&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|dar_url&lt;br /&gt;
|The DAR url for the specific Nielsen campaign to be tracked. In cases of 3rd party DAR urls, this url should be intercepted and unaltered by the publisher/provider&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;http://secure-gl.imrworldcwide.com/cgi-bin/m?ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ci - Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
&lt;br /&gt;
am - Nielsen defined Ad Server value.&lt;br /&gt;
&lt;br /&gt;
ca - Nielsen defined campaign ID which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
&lt;br /&gt;
ce - Site ID of where the campaign is being served.&lt;br /&gt;
&lt;br /&gt;
pc - This is the individual placement value for different placements being served on the site.&lt;br /&gt;
&lt;br /&gt;
The rest of the variable value pairs generally are static and do not change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_name&lt;br /&gt;
|Name of the publisher where the ad or content is being served.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Publisher 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_user_id&lt;br /&gt;
|Publisher-specific (first party) user ID (should remain persistent).&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;ed36968977606872e4312943c218568123786342&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_name&lt;br /&gt;
|Name of the provider supplying the data to Nielsen. &lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Provider 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;A769C2B-3CBD-5784-852F-C57875CC9D91A&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|tms_id&lt;br /&gt;
|Gracenote TMS ID (If available) should be passed for all telecasted content.&lt;br /&gt;
|Optional&lt;br /&gt;
|&lt;br /&gt;
Format: 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_genre&lt;br /&gt;
|Genre of content&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Format: Alphanumeric&lt;br /&gt;
Example: &amp;lt;code&amp;gt;CV (comedy variety)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_type&lt;br /&gt;
|Type of the program&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;television, movie&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_name&lt;br /&gt;
|Name of program in which the ad was served&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Name Of TV Show&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|original_airtime&lt;br /&gt;
|Original broadcast time of content (if applicable) in Unix epoch timestamp format&lt;br /&gt;
|Optional for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;1531337551&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Optional&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID. If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case&lt;br /&gt;
|Yes, if available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |is_device_id_hashed&lt;br /&gt;
|If device_id is SHA-256 hashed&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: boolean&lt;br /&gt;
*&amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; = hashed&lt;br /&gt;
*&amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; = else&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
&lt;br /&gt;
* remove all leading and trailing whitespace&lt;br /&gt;
* force lowercase&lt;br /&gt;
* for @gmail.com addresses only:&lt;br /&gt;
** remove dots&lt;br /&gt;
** remove + suffix, including sign&lt;br /&gt;
&lt;br /&gt;
Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: string&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_useragent&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ip_address&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;172.217.22.14&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |timestamp&lt;br /&gt;
|Time impression occurred &lt;br /&gt;
|Yes&lt;br /&gt;
|Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
*DSK		(Desktop)&lt;br /&gt;
*PHN		(Mobile phone)&lt;br /&gt;
*TAB		(Tablet)&lt;br /&gt;
*STV 		(Smart TVs)&lt;br /&gt;
*DVD 		(BluRay &amp;amp; DVD player devices)&lt;br /&gt;
*STB 		(Set-top boxes)&lt;br /&gt;
*XBX 		(Xbox devices)&lt;br /&gt;
*PSX		(PlayStation devices)&lt;br /&gt;
*AMN 		(Amazon devices, excluding SmartTVs)&lt;br /&gt;
*APL 		(Apple devices)&lt;br /&gt;
*GGL 		(Google devices, excluding SmartTVs)&lt;br /&gt;
*RKU 		(Roku devices, excluding SmartTVs)&lt;br /&gt;
*UNWN		(Unknown Device)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 3 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |bot_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
|ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Preferred; required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following parameters are needed if dar_url is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |campaign_id&lt;br /&gt;
|Campaign Identifier which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsn1234&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |client_id&lt;br /&gt;
|Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsnci1046&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |creative_id&lt;br /&gt;
|Identifier for the Ad creative&lt;br /&gt;
|Optional&lt;br /&gt;
|Example: ad3ff462d24541339d6f67e1b2352465&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |site_id&lt;br /&gt;
|Site ID of where the campaign is being served.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: site1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |placement_id&lt;br /&gt;
|Identifier for different placements being served on the site.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: 150DEB50A2ED2D&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |adserver&lt;br /&gt;
|Nielsen defined Ad Server value&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Nielsen provided Ad Server value&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;br /&gt;
&lt;br /&gt;
'''Example in JSON format'''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;quot;session_id&amp;quot;: &amp;quot;R487421B-XXXX-YYYY-3343-E3BBB46E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_id&amp;quot;: &amp;quot;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;is_device_id_hashed&amp;quot;: False,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hem_sha256&amp;quot;: &amp;quot;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;uoo&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timestamp&amp;quot;: &amp;quot;1548395046744&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ip_address&amp;quot;: &amp;quot;86.100.256.000&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_useragent&amp;quot;: &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_group&amp;quot;: &amp;quot;PHN&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_platform&amp;quot;: &amp;quot;MBL&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dma&amp;quot;: &amp;quot;501&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;zip_code&amp;quot;: &amp;quot;10001&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ad&amp;quot; : {&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;publisher_user_id&amp;quot;: &amp;quot;ed36968977606872e4312943c218568123786342&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;dar_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://secure-gl.imrworldwide.com/cgi-bin/m&amp;lt;/nowiki&amp;gt;? ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;publisher_name&amp;quot;: &amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;original_airtime&amp;quot;: &amp;quot;1593633600&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7423</id>
		<title>Digital Measurement SEI Ad Exposure</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7423"/>
		<updated>2025-10-27T14:20:10Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Ad Ratings}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
This document outlines the required specification for facilitating Nielsen ONE advertising(N1Ad) measurement, Digital Ad Ratings (DAR) measurement, Nielsen Media Impact (NMI), Add Effectiveness (MTA, Lift, etc.), Nielsen Brand Effect (NBE) and Activation products leveraging the Single Endpoint integration (SEI). Integration specifications for other Nielsen products (DCR, DTVR, etc.) via SEI are available separately.&lt;br /&gt;
&lt;br /&gt;
The Single Endpoint integration contains two components:&lt;br /&gt;
&lt;br /&gt;
# '''Exposure File'''- the specifications of which are described in this document for the transmission to Nielsen with event level data shared via a Server-to-Server (S2S) method. This S2S file transfer supplies event data and related campaign, study, and user metadata required for facilitating measurement.&lt;br /&gt;
# '''Audit Beacon'''- (implementation details available here: [[Digital Measurement Ads Audit Beacon]]) are HTTPS requests that emanate from the end-user device at a minimum of once per Session (uninterrupted user experience with gaps shorter than 30 minutes, or as mutually agreed upon). The Audit Ping provides Nielsen the ability to 1) validate traffic volume 2) provide a signal that Nielsen meters can detect for participating Nielsen panelists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to [[Digital Measurement SEI Data Delivery Specification]] for file delivery and access.&lt;br /&gt;
&lt;br /&gt;
=== Ad Measurement Considerations ===&lt;br /&gt;
Nielsen ad campaign setup is required using the '''Campaign Management Interface (CMI)''' tool or '''Tagging API''' for each campaign where Nielsen reporting is expected - this applies to new or current Nielsen clients transitioning from standard client-device-fired pixel tags to Single Endpoint style.&lt;br /&gt;
&lt;br /&gt;
Nielsen ad pixel tags should not directly fire for any exposures already included in the Exposure File after the testing period. Third-party Nielsen pixel tags should be intercepted, suppressed, and included in a server file transfer with all associated information. &lt;br /&gt;
&lt;br /&gt;
The Audit Ping is required for facilitating MRC Accredited measurement.&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-&amp;lt;'''env'''&amp;gt;/&amp;lt;'''filetype'''&amp;gt;/&amp;lt;'''split'''&amp;gt;/'''yyyy'''/'''mm'''/'''dd'''/'''hh'''/&amp;lt;object&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|“test” or “prod”&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]'''&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.[parquet|json]&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty '''_SUCCESS''' file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in json format that implements the [https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html#unload-examples-manifest-verbose AWS unload manifest file] format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 55&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Require'''&lt;br /&gt;
|'''Specified'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt; MRC = 1&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt; &lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
'''Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SLA =&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval, after which the process will skip the missing file and continue processing subsequent files. For example files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Required'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |session_id&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;70fa265f-5d49-4af7-ba9e-5e9da416bf78&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad&lt;br /&gt;
|Array that contains advertisement-related parameters indented below&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;dar_url&amp;quot;:&amp;quot;http://secure-gl.imr...&amp;quot;,&lt;br /&gt;
      &amp;quot;publisher_name&amp;quot;:&amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
      ...&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|dar_url&lt;br /&gt;
|The DAR url for the specific Nielsen campaign to be tracked. In cases of 3rd party DAR urls, this url should be intercepted and unaltered by the publisher/provider&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;http://secure-gl.imrworldcwide.com/cgi-bin/m?ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ci - Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
&lt;br /&gt;
am - Nielsen defined Ad Server value.&lt;br /&gt;
&lt;br /&gt;
ca - Nielsen defined campaign ID which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
&lt;br /&gt;
ce - Site ID of where the campaign is being served.&lt;br /&gt;
&lt;br /&gt;
pc - This is the individual placement value for different placements being served on the site.&lt;br /&gt;
&lt;br /&gt;
The rest of the variable value pairs generally are static and do not change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_name&lt;br /&gt;
|Name of the publisher where the ad or content is being served.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Publisher 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_user_id&lt;br /&gt;
|Publisher-specific (first party) user ID (should remain persistent).&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;ed36968977606872e4312943c218568123786342&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_name&lt;br /&gt;
|Name of the provider supplying the data to Nielsen. &lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Provider 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;A769C2B-3CBD-5784-852F-C57875CC9D91A&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|tms_id&lt;br /&gt;
|Gracenote TMS ID (If available) should be passed for all telecasted content.&lt;br /&gt;
|Optional&lt;br /&gt;
|&lt;br /&gt;
Format: 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_genre&lt;br /&gt;
|Genre of content&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Format: Alphanumeric&lt;br /&gt;
Example: &amp;lt;code&amp;gt;CV (comedy variety)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_type&lt;br /&gt;
|Type of the program&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;television, movie&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_name&lt;br /&gt;
|Name of program in which the ad was served&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Name Of TV Show&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|original_airtime&lt;br /&gt;
|Original broadcast time of content (if applicable) in Unix epoch timestamp format&lt;br /&gt;
|Optional for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;1531337551&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Optional&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID. If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case&lt;br /&gt;
|Yes, if available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |is_device_id_hashed&lt;br /&gt;
|If device_id is SHA-256 hashed&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = hashed&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = else&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
&lt;br /&gt;
* remove all leading and trailing whitespace&lt;br /&gt;
* force lowercase&lt;br /&gt;
* for @gmail.com addresses only:&lt;br /&gt;
** remove dots&lt;br /&gt;
** remove + suffix, including sign&lt;br /&gt;
&lt;br /&gt;
Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: boolean&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_useragent&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ip_address&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;172.217.22.14&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |timestamp&lt;br /&gt;
|Time impression occurred &lt;br /&gt;
|Yes&lt;br /&gt;
|Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
*DSK		(Desktop)&lt;br /&gt;
*PHN		(Mobile phone)&lt;br /&gt;
*TAB		(Tablet)&lt;br /&gt;
*STV 		(Smart TVs)&lt;br /&gt;
*DVD 		(BluRay &amp;amp; DVD player devices)&lt;br /&gt;
*STB 		(Set-top boxes)&lt;br /&gt;
*XBX 		(Xbox devices)&lt;br /&gt;
*PSX		(PlayStation devices)&lt;br /&gt;
*AMN 		(Amazon devices, excluding SmartTVs)&lt;br /&gt;
*APL 		(Apple devices)&lt;br /&gt;
*GGL 		(Google devices, excluding SmartTVs)&lt;br /&gt;
*RKU 		(Roku devices, excluding SmartTVs)&lt;br /&gt;
*UNWN		(Unknown Device)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 3 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |bot_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
|ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Preferred; required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following parameters are needed if dar_url is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |campaign_id&lt;br /&gt;
|Campaign Identifier which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsn1234&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |client_id&lt;br /&gt;
|Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsnci1046&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |creative_id&lt;br /&gt;
|Identifier for the Ad creative&lt;br /&gt;
|Optional&lt;br /&gt;
|Example: ad3ff462d24541339d6f67e1b2352465&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |site_id&lt;br /&gt;
|Site ID of where the campaign is being served.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: site1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |placement_id&lt;br /&gt;
|Identifier for different placements being served on the site.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: 150DEB50A2ED2D&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |adserver&lt;br /&gt;
|Nielsen defined Ad Server value&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Nielsen provided Ad Server value&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;br /&gt;
&lt;br /&gt;
'''Example in JSON format'''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;quot;session_id&amp;quot;: &amp;quot;R487421B-XXXX-YYYY-3343-E3BBB46E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_id&amp;quot;: &amp;quot;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;is_device_id_hashed&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hem_sha256&amp;quot;: &amp;quot;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;uoo&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timestamp&amp;quot;: &amp;quot;1548395046744&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ip_address&amp;quot;: &amp;quot;86.100.256.000&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_useragent&amp;quot;: &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_group&amp;quot;: &amp;quot;PHN&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_platform&amp;quot;: &amp;quot;MBL&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dma&amp;quot;: &amp;quot;501&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;zip_code&amp;quot;: &amp;quot;10001&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ad&amp;quot; : {&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;publisher_user_id&amp;quot;: &amp;quot;ed36968977606872e4312943c218568123786342&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;dar_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://secure-gl.imrworldwide.com/cgi-bin/m&amp;lt;/nowiki&amp;gt;? ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;publisher_name&amp;quot;: &amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;original_airtime&amp;quot;: &amp;quot;1593633600&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7377</id>
		<title>Digital Measurement SEI Ad Exposure</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7377"/>
		<updated>2025-08-26T11:40:27Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Ad Ratings}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
This document outlines the required specification for facilitating Nielsen ONE advertising measurement, Digital Ad Ratings (DAR) measurement, Nielsen Media Impact (NMI), Add Effectiveness (MTA, Lift, etc.), Nielsen Brand Effect (NBE) and Activation products leveraging the Single Endpoint integration (SEI). Integration specifications for other Nielsen products (DCR, DTVR, etc.) via SEI are available separately.&lt;br /&gt;
&lt;br /&gt;
The Single Endpoint integration contains two components:&lt;br /&gt;
&lt;br /&gt;
# '''Exposure File'''- the specifications of which are described in this document for the transmission to Nielsen with event level data shared via a Server-to-Server (S2S) method. This S2S file transfer supplies event data and related campaign, study, and user metadata required for facilitating measurement.&lt;br /&gt;
# '''Audit Beacon'''- (implementation details available here: [[Digital Measurement Ads Audit Beacon]]) are HTTPS requests that emanate from the end-user device at a minimum of once per Session (uninterrupted user experience with gaps shorter than 30 minutes, or as mutually agreed upon). The Audit Ping provides Nielsen the ability to 1) validate traffic volume 2) provide a signal that Nielsen meters can detect for participating Nielsen panelists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to [[Digital Measurement SEI Data Delivery Specification]] for file delivery and access.&lt;br /&gt;
&lt;br /&gt;
=== Ad Measurement Considerations ===&lt;br /&gt;
Nielsen ad campaign setup is required using the '''Campaign Management Interface (CMI)''' tool or '''Tagging API''' for each campaign where Nielsen reporting is expected - this applies to new or current Nielsen clients transitioning from standard client-device-fired pixel tags to Single Endpoint style.&lt;br /&gt;
&lt;br /&gt;
Nielsen ad pixel tags should not directly fire for any exposures already included in the Exposure File after the testing period. Third-party Nielsen pixel tags should be intercepted, suppressed, and included in a server file transfer with all associated information. &lt;br /&gt;
&lt;br /&gt;
The Audit Ping is required for facilitating MRC Accredited measurement.&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-&amp;lt;'''env'''&amp;gt;/&amp;lt;'''filetype'''&amp;gt;/&amp;lt;'''split'''&amp;gt;/'''yyyy'''/'''mm'''/'''dd'''/'''hh'''/&amp;lt;object&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|“test” or “prod”&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]'''&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.[parquet|json]&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty '''_SUCCESS''' file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in json format that implements the [https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html#unload-examples-manifest-verbose AWS unload manifest file] format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 55&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Require'''&lt;br /&gt;
|'''Specified'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt; MRC = 1&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt; &lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
'''Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SLA =&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval, after which the process will skip the missing file and continue processing subsequent files. For example files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Required'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |session_id&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;70fa265f-5d49-4af7-ba9e-5e9da416bf78&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad&lt;br /&gt;
|Array that contains advertisement-related parameters indented below&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;dar_url&amp;quot;:&amp;quot;http://secure-gl.imr...&amp;quot;,&lt;br /&gt;
      &amp;quot;publisher_name&amp;quot;:&amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
      ...&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|dar_url&lt;br /&gt;
|The DAR url for the specific Nielsen campaign to be tracked. In cases of 3rd party DAR urls, this url should be intercepted and unaltered by the publisher/provider&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;http://secure-gl.imrworldcwide.com/cgi-bin/m?ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ci - Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
&lt;br /&gt;
am - Nielsen defined Ad Server value.&lt;br /&gt;
&lt;br /&gt;
ca - Nielsen defined campaign ID which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
&lt;br /&gt;
ce - Site ID of where the campaign is being served.&lt;br /&gt;
&lt;br /&gt;
pc - This is the individual placement value for different placements being served on the site.&lt;br /&gt;
&lt;br /&gt;
The rest of the variable value pairs generally are static and do not change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_name&lt;br /&gt;
|Name of the publisher where the ad or content is being served.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Publisher 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_user_id&lt;br /&gt;
|Publisher-specific (first party) user ID (should remain persistent).&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;ed36968977606872e4312943c218568123786342&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_name&lt;br /&gt;
|Name of the provider supplying the data to Nielsen. &lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Provider 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;A769C2B-3CBD-5784-852F-C57875CC9D91A&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|tms_id&lt;br /&gt;
|Gracenote TMS ID (If available) should be passed for all telecasted content.&lt;br /&gt;
|Optional&lt;br /&gt;
|&lt;br /&gt;
Format: 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_genre&lt;br /&gt;
|Genre of content&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Format: Alphanumeric&lt;br /&gt;
Example: &amp;lt;code&amp;gt;CV (comedy variety)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_type&lt;br /&gt;
|Type of the program&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;television, movie&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_name&lt;br /&gt;
|Name of program in which the ad was served&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Name Of TV Show&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|original_airtime&lt;br /&gt;
|Original broadcast time of content (if applicable) in Unix epoch timestamp format&lt;br /&gt;
|Optional for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;1531337551&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Optional&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID. If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case&lt;br /&gt;
|Yes, if available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |is_device_id_hashed&lt;br /&gt;
|If device_id is SHA-256 hashed&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = hashed&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = else&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
&lt;br /&gt;
* remove all leading and trailing whitespace&lt;br /&gt;
* force lowercase&lt;br /&gt;
* for @gmail.com addresses only:&lt;br /&gt;
** remove dots&lt;br /&gt;
** remove + suffix, including sign&lt;br /&gt;
&lt;br /&gt;
Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: boolean&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_useragent&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ip_address&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;172.217.22.14&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |timestamp&lt;br /&gt;
|Time impression occurred &lt;br /&gt;
|Yes&lt;br /&gt;
|Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
*DSK		(Desktop)&lt;br /&gt;
*PHN		(Mobile phone)&lt;br /&gt;
*TAB		(Tablet)&lt;br /&gt;
*STV 		(Smart TVs)&lt;br /&gt;
*DVD 		(BluRay &amp;amp; DVD player devices)&lt;br /&gt;
*STB 		(Set-top boxes)&lt;br /&gt;
*XBX 		(Xbox devices)&lt;br /&gt;
*PSX		(PlayStation devices)&lt;br /&gt;
*AMN 		(Amazon devices, excluding SmartTVs)&lt;br /&gt;
*APL 		(Apple devices)&lt;br /&gt;
*GGL 		(Google devices, excluding SmartTVs)&lt;br /&gt;
*RKU 		(Roku devices, excluding SmartTVs)&lt;br /&gt;
*UNWN		(Unknown Device)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 3 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |bot_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
|ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Preferred; required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following parameters are needed if dar_url is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |campaign_id&lt;br /&gt;
|Campaign Identifier which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsn1234&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |client_id&lt;br /&gt;
|Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsnci1046&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |creative_id&lt;br /&gt;
|Identifier for the Ad creative&lt;br /&gt;
|Optional&lt;br /&gt;
|Example: ad3ff462d24541339d6f67e1b2352465&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |site_id&lt;br /&gt;
|Site ID of where the campaign is being served.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: site1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |placement_id&lt;br /&gt;
|Identifier for different placements being served on the site.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: 150DEB50A2ED2D&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |adserver&lt;br /&gt;
|Nielsen defined Ad Server value&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Nielsen provided Ad Server value&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;br /&gt;
&lt;br /&gt;
'''Example in JSON format'''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;quot;session_id&amp;quot;: &amp;quot;R487421B-XXXX-YYYY-3343-E3BBB46E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_id&amp;quot;: &amp;quot;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;is_device_id_hashed&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hem_sha256&amp;quot;: &amp;quot;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;uoo&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timestamp&amp;quot;: &amp;quot;1548395046744&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ip_address&amp;quot;: &amp;quot;86.100.256.000&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_useragent&amp;quot;: &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_group&amp;quot;: &amp;quot;PHN&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_platform&amp;quot;: &amp;quot;MBL&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dma&amp;quot;: &amp;quot;501&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;zip_code&amp;quot;: &amp;quot;10001&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ad&amp;quot; : {&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;publisher_user_id&amp;quot;: &amp;quot;ed36968977606872e4312943c218568123786342&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;dar_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://secure-gl.imrworldwide.com/cgi-bin/m&amp;lt;/nowiki&amp;gt;? ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;publisher_name&amp;quot;: &amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;original_airtime&amp;quot;: &amp;quot;1593633600&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7376</id>
		<title>Digital Measurement SEI Ad Exposure</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7376"/>
		<updated>2025-08-26T11:39:47Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: /* Schema Parameter Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Ad Ratings}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
This document outlines the required specification for facilitating Nielsen ONE advertising measurement, Digital Ad Ratings (DAR) measurement, Nielsen Media Impact (NMI), Add Effectiveness (MTA, Lift, etc.), Nielsen Brand Effect (NBE) and Activation products leveraging the Single Endpoint integration (SEI). Integration specifications for other Nielsen products (DCR, DTVR, etc.) via SEI are available separately.&lt;br /&gt;
&lt;br /&gt;
The Single Endpoint integration contains two components:&lt;br /&gt;
&lt;br /&gt;
# '''Exposure File'''- the specifications of which are described in this document for the transmission to Nielsen with event level data shared via a Server-to-Server (S2S) method. This S2S file transfer supplies event data and related campaign, study, and user metadata required for facilitating measurement.&lt;br /&gt;
# '''Audit Beacon'''- (implementation details available here: [[Digital Measurement Ads Audit Beacon]]) are HTTPS requests that emanate from the end-user device at a minimum of once per Session (uninterrupted user experience with gaps shorter than 30 minutes, or as mutually agreed upon). The Audit Ping provides Nielsen the ability to 1) validate traffic volume 2) provide a signal that Nielsen meters can detect for participating Nielsen panelists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to [[Digital Measurement SEI Data Delivery Specification]] for file delivery and access.&lt;br /&gt;
&lt;br /&gt;
=== Ad Measurement Considerations ===&lt;br /&gt;
Nielsen ad campaign setup is required using the '''Campaign Management Interface (CMI)''' tool or '''Tagging API''' for each campaign where Nielsen reporting is expected - this applies to new or current Nielsen clients transitioning from standard client-device-fired pixel tags to Single Endpoint style.&lt;br /&gt;
&lt;br /&gt;
Nielsen ad pixel tags should not directly fire for any exposures already included in the Exposure File after the testing period. Third-party Nielsen pixel tags should be intercepted, suppressed, and included in a server file transfer with all associated information. &lt;br /&gt;
&lt;br /&gt;
The Audit Ping is required for facilitating MRC Accredited measurement.&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-&amp;lt;'''env'''&amp;gt;/&amp;lt;'''filetype'''&amp;gt;/&amp;lt;'''split'''&amp;gt;/'''yyyy'''/'''mm'''/'''dd'''/'''hh'''/&amp;lt;object&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|“test” or “prod”&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]'''&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.[parquet|json]&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty '''_SUCCESS''' file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in json format that implements the [https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html#unload-examples-manifest-verbose AWS unload manifest file] format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 55&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Require'''&lt;br /&gt;
|'''Specified'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt; MRC = 1&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt; &lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
'''Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SLA =&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval, after which the process will skip the missing file and continue processing subsequent files. For example files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Required'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |session_id&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;70fa265f-5d49-4af7-ba9e-5e9da416bf78&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad&lt;br /&gt;
|Array that contains advertisement-related parameters indented below&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;dar_url&amp;quot;:&amp;quot;http://secure-gl.imr...&amp;quot;,&lt;br /&gt;
      &amp;quot;publisher_name&amp;quot;:&amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
      ...&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|dar_url&lt;br /&gt;
|The DAR url for the specific Nielsen campaign to be tracked. In cases of 3rd party DAR urls, this url should be intercepted and unaltered by the publisher/provider&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;http://secure-gl.imrworldcwide.com/cgi-bin/m?ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ci - Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
&lt;br /&gt;
am - Nielsen defined Ad Server value.&lt;br /&gt;
&lt;br /&gt;
ca - Nielsen defined campaign ID which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
&lt;br /&gt;
ce - Site ID of where the campaign is being served.&lt;br /&gt;
&lt;br /&gt;
pc - This is the individual placement value for different placements being served on the site.&lt;br /&gt;
&lt;br /&gt;
The rest of the variable value pairs generally are static and do not change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_name&lt;br /&gt;
|Name of the publisher where the ad or content is being served.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Publisher 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_user_id&lt;br /&gt;
|Publisher-specific (first party) user ID (should remain persistent).&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;ed36968977606872e4312943c218568123786342&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_name&lt;br /&gt;
|Name of the provider supplying the data to Nielsen. &lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Provider 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;A769C2B-3CBD-5784-852F-C57875CC9D91A&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|tms_id&lt;br /&gt;
|Gracenote TMS ID (If available) should be passed for all telecasted content.&lt;br /&gt;
|Optional&lt;br /&gt;
|&lt;br /&gt;
Format: 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_genre&lt;br /&gt;
|Genre of content&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Format: Alphanumeric&lt;br /&gt;
Example: &amp;lt;code&amp;gt;CV (comedy variety)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_type&lt;br /&gt;
|Type of the program&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|television, movie&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_name&lt;br /&gt;
|Name of program in which the ad was served&lt;br /&gt;
|Preferred for CTV&lt;br /&gt;
|Name Of TV Show&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|original_airtime&lt;br /&gt;
|Original broadcast time of content (if applicable) in Unix epoch timestamp format&lt;br /&gt;
|Optional for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;1531337551&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Optional&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID. If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case&lt;br /&gt;
|Yes, if available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |is_device_id_hashed&lt;br /&gt;
|If device_id is SHA-256 hashed&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = hashed&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = else&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
&lt;br /&gt;
* remove all leading and trailing whitespace&lt;br /&gt;
* force lowercase&lt;br /&gt;
* for @gmail.com addresses only:&lt;br /&gt;
** remove dots&lt;br /&gt;
** remove + suffix, including sign&lt;br /&gt;
&lt;br /&gt;
Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: boolean&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_useragent&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ip_address&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;172.217.22.14&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |timestamp&lt;br /&gt;
|Time impression occurred &lt;br /&gt;
|Yes&lt;br /&gt;
|Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
*DSK		(Desktop)&lt;br /&gt;
*PHN		(Mobile phone)&lt;br /&gt;
*TAB		(Tablet)&lt;br /&gt;
*STV 		(Smart TVs)&lt;br /&gt;
*DVD 		(BluRay &amp;amp; DVD player devices)&lt;br /&gt;
*STB 		(Set-top boxes)&lt;br /&gt;
*XBX 		(Xbox devices)&lt;br /&gt;
*PSX		(PlayStation devices)&lt;br /&gt;
*AMN 		(Amazon devices, excluding SmartTVs)&lt;br /&gt;
*APL 		(Apple devices)&lt;br /&gt;
*GGL 		(Google devices, excluding SmartTVs)&lt;br /&gt;
*RKU 		(Roku devices, excluding SmartTVs)&lt;br /&gt;
*UNWN		(Unknown Device)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 3 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |bot_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
|ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Preferred; required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following parameters are needed if dar_url is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |campaign_id&lt;br /&gt;
|Campaign Identifier which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsn1234&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |client_id&lt;br /&gt;
|Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsnci1046&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |creative_id&lt;br /&gt;
|Identifier for the Ad creative&lt;br /&gt;
|Optional&lt;br /&gt;
|Example: ad3ff462d24541339d6f67e1b2352465&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |site_id&lt;br /&gt;
|Site ID of where the campaign is being served.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: site1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |placement_id&lt;br /&gt;
|Identifier for different placements being served on the site.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: 150DEB50A2ED2D&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |adserver&lt;br /&gt;
|Nielsen defined Ad Server value&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Nielsen provided Ad Server value&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;br /&gt;
&lt;br /&gt;
'''Example in JSON format'''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;quot;session_id&amp;quot;: &amp;quot;R487421B-XXXX-YYYY-3343-E3BBB46E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_id&amp;quot;: &amp;quot;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;is_device_id_hashed&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hem_sha256&amp;quot;: &amp;quot;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;uoo&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timestamp&amp;quot;: &amp;quot;1548395046744&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ip_address&amp;quot;: &amp;quot;86.100.256.000&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_useragent&amp;quot;: &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_group&amp;quot;: &amp;quot;PHN&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_platform&amp;quot;: &amp;quot;MBL&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dma&amp;quot;: &amp;quot;501&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;zip_code&amp;quot;: &amp;quot;10001&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ad&amp;quot; : {&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;publisher_user_id&amp;quot;: &amp;quot;ed36968977606872e4312943c218568123786342&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;dar_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://secure-gl.imrworldwide.com/cgi-bin/m&amp;lt;/nowiki&amp;gt;? ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;publisher_name&amp;quot;: &amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;original_airtime&amp;quot;: &amp;quot;1593633600&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7372</id>
		<title>Digital Measurement SEI Ad Exposure</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7372"/>
		<updated>2025-08-11T13:49:12Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: /* Schema Parameter Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Ad Ratings}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
This document outlines the required specification for facilitating Nielsen ONE advertising measurement, Digital Ad Ratings (DAR) measurement, Nielsen Media Impact (NMI), Add Effectiveness (MTA, Lift, etc.), Nielsen Brand Effect (NBE) and Activation products leveraging the Single Endpoint integration (SEI). Integration specifications for other Nielsen products (DCR, DTVR, etc.) via SEI are available separately.&lt;br /&gt;
&lt;br /&gt;
The Single Endpoint integration contains two components:&lt;br /&gt;
&lt;br /&gt;
# '''Exposure File'''- the specifications of which are described in this document for the transmission to Nielsen with event level data shared via a Server-to-Server (S2S) method. This S2S file transfer supplies event data and related campaign, study, and user metadata required for facilitating measurement.&lt;br /&gt;
# '''Audit Beacon'''- (implementation details available here: [[Digital Measurement Ads Audit Beacon]]) are HTTPS requests that emanate from the end-user device at a minimum of once per Session (uninterrupted user experience with gaps shorter than 30 minutes, or as mutually agreed upon). The Audit Ping provides Nielsen the ability to 1) validate traffic volume 2) provide a signal that Nielsen meters can detect for participating Nielsen panelists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to [[Digital Measurement SEI Data Delivery Specification]] for file delivery and access.&lt;br /&gt;
&lt;br /&gt;
=== Ad Measurement Considerations ===&lt;br /&gt;
Nielsen ad campaign setup is required using the '''Campaign Management Interface (CMI)''' tool or '''Tagging API''' for each campaign where Nielsen reporting is expected - this applies to new or current Nielsen clients transitioning from standard client-device-fired pixel tags to Single Endpoint style.&lt;br /&gt;
&lt;br /&gt;
Nielsen ad pixel tags should not directly fire for any exposures already included in the Exposure File after the testing period. Third-party Nielsen pixel tags should be intercepted, suppressed, and included in a server file transfer with all associated information. &lt;br /&gt;
&lt;br /&gt;
The Audit Ping is required for facilitating MRC Accredited measurement.&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-&amp;lt;'''env'''&amp;gt;/&amp;lt;'''filetype'''&amp;gt;/&amp;lt;'''split'''&amp;gt;/'''yyyy'''/'''mm'''/'''dd'''/'''hh'''/&amp;lt;object&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|“test” or “prod”&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]'''&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.[parquet|json]&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty '''_SUCCESS''' file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in json format that implements the [https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html#unload-examples-manifest-verbose AWS unload manifest file] format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 55&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Require'''&lt;br /&gt;
|'''Specified'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt; MRC = 1&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt; &lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
'''Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SLA =&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval, after which the process will skip the missing file and continue processing subsequent files. For example files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Required'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;70fa265f-5d49-4af7-ba9e-5e9da416bf78&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad&lt;br /&gt;
|Array that contains advertisement-related parameters indented below&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;dar_url&amp;quot;:&amp;quot;http://secure-gl.imr...&amp;quot;,&lt;br /&gt;
      &amp;quot;publisher_name&amp;quot;:&amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
      ...&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|dar_url&lt;br /&gt;
|The DAR url for the specific Nielsen campaign to be tracked. In cases of 3rd party DAR urls, this url should be intercepted and unaltered by the publisher/provider&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;http://secure-gl.imrworldcwide.com/cgi-bin/m?ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ci - Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
&lt;br /&gt;
am - Nielsen defined Ad Server value.&lt;br /&gt;
&lt;br /&gt;
ca - Nielsen defined campaign ID which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
&lt;br /&gt;
ce - Site ID of where the campaign is being served.&lt;br /&gt;
&lt;br /&gt;
pc - This is the individual placement value for different placements being served on the site.&lt;br /&gt;
&lt;br /&gt;
The rest of the variable value pairs generally are static and do not change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_name&lt;br /&gt;
|Name of the publisher where the ad or content is being served.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Publisher 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_user_id&lt;br /&gt;
|Publisher-specific (first party) user ID (should remain persistent).&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;ed36968977606872e4312943c218568123786342&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_name&lt;br /&gt;
|Name of the provider supplying the data to Nielsen. &lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Provider 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;A769C2B-3CBD-5784-852F-C57875CC9D91A&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|gracenote_id&lt;br /&gt;
|Gracenote TMS ID (If available) should be passed for all telecasted content.&lt;br /&gt;
|Optional&lt;br /&gt;
|&lt;br /&gt;
Format: 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_genre&lt;br /&gt;
|Genre of content&lt;br /&gt;
|Required for CTV&lt;br /&gt;
|Format: Alphanumeric&lt;br /&gt;
Example: &amp;lt;code&amp;gt;CV (comedy variety)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|original_airtime&lt;br /&gt;
|Original broadcast time of content (if applicable) in Unix epoch timestamp format&lt;br /&gt;
|Optional for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;1531337551&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Optional&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID. If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case&lt;br /&gt;
|Yes, if available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |is_device_id_hashed&lt;br /&gt;
|If device_id is SHA-256 hashed&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = hashed&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = else&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
&lt;br /&gt;
* remove all leading and trailing whitespace&lt;br /&gt;
* force lowercase&lt;br /&gt;
* for @gmail.com addresses only:&lt;br /&gt;
** remove dots&lt;br /&gt;
** remove + suffix, including sign&lt;br /&gt;
&lt;br /&gt;
Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: boolean&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_useragent&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ip_address&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;172.217.22.14&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |timestamp&lt;br /&gt;
|Time impression occurred &lt;br /&gt;
|Yes&lt;br /&gt;
|Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
*DSK		(Desktop)&lt;br /&gt;
*PHN		(Mobile phone)&lt;br /&gt;
*TAB		(Tablet)&lt;br /&gt;
*STV 		(Smart TVs)&lt;br /&gt;
*DVD 		(BluRay &amp;amp; DVD player devices)&lt;br /&gt;
*STB 		(Set-top boxes)&lt;br /&gt;
*XBX 		(Xbox devices)&lt;br /&gt;
*PSX		(PlayStation devices)&lt;br /&gt;
*AMN 		(Amazon devices, excluding SmartTVs)&lt;br /&gt;
*APL 		(Apple devices)&lt;br /&gt;
*GGL 		(Google devices, excluding SmartTVs)&lt;br /&gt;
*RKU 		(Roku devices, excluding SmartTVs)&lt;br /&gt;
*UNWN		(Unknown Device)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 3 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |bot_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
|ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Preferred; required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following parameters are needed if dar_url is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |campaign_id&lt;br /&gt;
|Campaign Identifier which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsn1234&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |client_id&lt;br /&gt;
|Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsnci1046&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |creative_id&lt;br /&gt;
|Identifier for the Ad creative&lt;br /&gt;
|Optional&lt;br /&gt;
|Example: ad3ff462d24541339d6f67e1b2352465&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |site_id&lt;br /&gt;
|Site ID of where the campaign is being served.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: site1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |placement_id&lt;br /&gt;
|Identifier for different placements being served on the site.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: 150DEB50A2ED2D&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |adserver&lt;br /&gt;
|Nielsen defined Ad Server value&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Nielsen provided Ad Server value&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;br /&gt;
&lt;br /&gt;
'''Example in JSON format'''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;quot;session_id&amp;quot;: &amp;quot;R487421B-XXXX-YYYY-3343-E3BBB46E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_id&amp;quot;: &amp;quot;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;is_device_id_hashed&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hem_sha256&amp;quot;: &amp;quot;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;uoo&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timestamp&amp;quot;: &amp;quot;1548395046744&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ip_address&amp;quot;: &amp;quot;86.100.256.000&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_useragent&amp;quot;: &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_group&amp;quot;: &amp;quot;PHN&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_platform&amp;quot;: &amp;quot;MBL&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dma&amp;quot;: &amp;quot;501&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;zip_code&amp;quot;: &amp;quot;10001&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ad&amp;quot; : {&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;publisher_user_id&amp;quot;: &amp;quot;ed36968977606872e4312943c218568123786342&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;dar_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://secure-gl.imrworldwide.com/cgi-bin/m&amp;lt;/nowiki&amp;gt;? ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;publisher_name&amp;quot;: &amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;original_airtime&amp;quot;: &amp;quot;1593633600&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Data_Delivery_Specification&amp;diff=7370</id>
		<title>Digital Measurement SEI Data Delivery Specification</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Data_Delivery_Specification&amp;diff=7370"/>
		<updated>2025-08-06T11:45:50Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document outlines the data delivery specification for Ad and Content Measurement products via SEI integration.&lt;br /&gt;
&lt;br /&gt;
Files should be delivered at a fixed cadence in a dedicated S3 bucket following the outlined in this spec prefix and object naming conventions and data formats.&lt;br /&gt;
&lt;br /&gt;
* All prefix labels and file names should be lowercase except for app ids.&lt;br /&gt;
* Supported formats are:&lt;br /&gt;
** Uncompressed text files with utf-8 encoding in:&lt;br /&gt;
*** JSON format(.json);&lt;br /&gt;
*** PARQUET format(.parquet) --- Preferred;&lt;br /&gt;
* All files should have extensions to indicate the file format (.json or .parquet)&lt;br /&gt;
* Large data file can be partitioned into multiple parts with min size of 128MB - 256MB&lt;br /&gt;
* Data can be delivered separately in multiple splits(platforms), if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the S2S system;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
To get started, you will need a Nielsen App ID. The App ID is a unique ID assigned to your app. This will be provided to you by your assigned Technical Account Manager upon starting the integration.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Item&lt;br /&gt;
!Description&lt;br /&gt;
!Source&lt;br /&gt;
|-&lt;br /&gt;
|'''App ID (AppID)'''&lt;br /&gt;
|Unique ID assigned to the player/site and configured by product.&lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|'''Integration ID (IntID)'''&lt;br /&gt;
|Integration id provided by Nielsen. Used to link different integration inputs, ex. associate single audit ping integration with different viewership pipelines (dar, dtvr, dcr, etc.)&lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|'''Partner ID (PartnerID)'''&lt;br /&gt;
|Partner id provided by Nielsen. Used for the client specific S3 bucket .&lt;br /&gt;
 Please note that the sample PartnerID 'acme' used in all examples is a placeholder to be replaced with your PartnerID. &lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|}&lt;br /&gt;
The onboarding process varies depending on the client's cloud environment.&lt;br /&gt;
&lt;br /&gt;
=== '''AWS to AWS Integration''' ===&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
&lt;br /&gt;
* The client's IAM Role ARN to grant access to Nielsen S3 bucket provided by client.&lt;br /&gt;
'''Onboarding steps to be performed by client'''&lt;br /&gt;
&lt;br /&gt;
'''Onboarding steps to be performed by client'''&lt;br /&gt;
&lt;br /&gt;
# Create an IAM user or role in client AWS account.&lt;br /&gt;
# Attach the following IAM policy to the user or role to grant necessary permissions. This policy allows the user or role to read, write, and manage object access control lists (ACLs) in the specified S3 bucket. &amp;lt;code&amp;gt;{ &amp;quot;Version&amp;quot;: &amp;quot;2012-10-17&amp;quot;, &amp;quot;Statement&amp;quot;: [ { &amp;quot;Effect&amp;quot;: &amp;quot;Allow&amp;quot;, &amp;quot;Action&amp;quot;: [ &amp;quot;s3:GetObject&amp;quot;, &amp;quot;s3:PutObject&amp;quot;, &amp;quot;s3:PutObjectAcl&amp;quot; ], &amp;quot;Resource&amp;quot;: &amp;quot;arn:aws:s3:::&amp;lt;AccountABucketName&amp;gt;/*&amp;quot; } ] }&amp;lt;/code&amp;gt; '''Note:''' Replace &amp;lt;code&amp;gt;&amp;lt;AccountABucketName&amp;gt;&amp;lt;/code&amp;gt; with the bucket name provided by Nielsen. You can also restrict access to a specific folder by modifying the &amp;lt;code&amp;gt;Resource&amp;lt;/code&amp;gt; element (e.g., &amp;lt;code&amp;gt;&amp;quot;arn:aws:s3:::AccountABucketName/FolderName/*&amp;quot;&amp;lt;/code&amp;gt;). Check &amp;lt;nowiki&amp;gt;https://repost.aws/knowledge-center/cross-account-access-s3&amp;lt;/nowiki&amp;gt; for more details.&lt;br /&gt;
# '''Share''' the '''IAM Role ARN''' to us.&lt;br /&gt;
Once you received S3 bucket information from Nielsen, perform the following steps to test access.&lt;br /&gt;
&lt;br /&gt;
Once you received S3 bucket information from Nielsen, perform the following steps to test access.&lt;br /&gt;
&lt;br /&gt;
'''1. List Files (ls)'''&lt;br /&gt;
&lt;br /&gt;
To see a list of the files in your designated folder: &amp;lt;code&amp;gt;aws s3 ls s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt; To list all the files in all the sub folders as well: &amp;lt;code&amp;gt;aws s3 ls s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/ --recursive&amp;lt;/code&amp;gt; ''Example:'' &amp;lt;code&amp;gt;aws s3 ls s3://useast1-nlsn-w-dig-sei-partnera-feeds-prod/dar-exposure/ --recursive&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2. Copy a Single File (cp)'''&lt;br /&gt;
&lt;br /&gt;
To upload a single file from your local machine to S3: &amp;lt;code&amp;gt;aws s3 cp yourfile.txt s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;''This command copies filename.csv to your s3 bucket at prefix folder.''&amp;lt;/code&amp;gt;&lt;br /&gt;
'''3. Sync a Directory (sync)'''&lt;br /&gt;
&lt;br /&gt;
To upload all new or updated files from a local directory to your S3 folder: &amp;lt;code&amp;gt;aws s3 sync /path/to/your/local/directory s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt; ''This command uploads all the files in your directory to your s3 bucket folder.''&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Data_Delivery_Specification&amp;diff=7369</id>
		<title>Digital Measurement SEI Data Delivery Specification</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Data_Delivery_Specification&amp;diff=7369"/>
		<updated>2025-08-06T11:44:09Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document outlines the data delivery specification for Ad and Content Measurement products via SEI integration.&lt;br /&gt;
&lt;br /&gt;
Files should be delivered at a fixed cadence in a dedicated S3 bucket following the outlined in this spec prefix and object naming conventions and data formats.&lt;br /&gt;
&lt;br /&gt;
* All prefix labels and file names should be lowercase except for app ids.&lt;br /&gt;
* Supported formats are:&lt;br /&gt;
** Uncompressed text files with utf-8 encoding in:&lt;br /&gt;
*** JSON format(.json);&lt;br /&gt;
*** PARQUET format(.parquet) --- Preferred;&lt;br /&gt;
* All files should have extensions to indicate the file format (.json or .parquet)&lt;br /&gt;
* Large data file can be partitioned into multiple parts with min size of 128MB - 256MB&lt;br /&gt;
* Data can be delivered separately in multiple splits(platforms), if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the S2S system;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
To get started, you will need a Nielsen App ID. The App ID is a unique ID assigned to your app. This will be provided to you by your assigned Technical Account Manager upon starting the integration.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Item&lt;br /&gt;
!Description&lt;br /&gt;
!Source&lt;br /&gt;
|-&lt;br /&gt;
|'''App ID (AppID)'''&lt;br /&gt;
|Unique ID assigned to the player/site and configured by product.&lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|'''Integration ID (IntID)'''&lt;br /&gt;
|Integration id provided by Nielsen. Used to link different integration inputs, ex. associate single audit ping integration with different viewership pipelines (dar, dtvr, dcr, etc.)&lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|'''Partner ID (PartnerID)'''&lt;br /&gt;
|Partner id provided by Nielsen. Used for the client specific S3 bucket .&lt;br /&gt;
 Please note that the sample PartnerID 'acme' used in all examples is a placeholder to be replaced with your PartnerID. &lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|}&lt;br /&gt;
The onboarding process varies depending on the client's cloud environment.&lt;br /&gt;
&lt;br /&gt;
=== '''AWS to AWS Integration''' ===&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
&lt;br /&gt;
* The client's IAM Role ARN to grant access to Nielsen S3 bucket provided by client.&lt;br /&gt;
'''Onboarding steps to be performed by client'''&lt;br /&gt;
&lt;br /&gt;
'''Onboarding steps to be performed by client'''&lt;br /&gt;
&lt;br /&gt;
# Create an IAM user or role in client AWS account.&lt;br /&gt;
# Attach the following IAM policy to the user or role to grant necessary permissions. This policy allows the user or role to read, write, and manage object access control lists (ACLs) in the specified S3 bucket. &amp;lt;code&amp;gt;{ &amp;quot;Version&amp;quot;: &amp;quot;2012-10-17&amp;quot;, &amp;quot;Statement&amp;quot;: [ { &amp;quot;Effect&amp;quot;: &amp;quot;Allow&amp;quot;, &amp;quot;Action&amp;quot;: [ &amp;quot;s3:GetObject&amp;quot;, &amp;quot;s3:PutObject&amp;quot;, &amp;quot;s3:PutObjectAcl&amp;quot; ], &amp;quot;Resource&amp;quot;: &amp;quot;arn:aws:s3:::&amp;lt;AccountABucketName&amp;gt;/*&amp;quot; } ] }&amp;lt;/code&amp;gt; '''Note:''' Replace &amp;lt;code&amp;gt;&amp;lt;AccountABucketName&amp;gt;&amp;lt;/code&amp;gt; with the bucket name provided by Nielsen. You can also restrict access to a specific folder by modifying the &amp;lt;code&amp;gt;Resource&amp;lt;/code&amp;gt; element (e.g., &amp;lt;code&amp;gt;&amp;quot;arn:aws:s3:::AccountABucketName/FolderName/*&amp;quot;&amp;lt;/code&amp;gt;). Check &amp;lt;nowiki&amp;gt;https://repost.aws/knowledge-center/cross-account-access-s3&amp;lt;/nowiki&amp;gt; for more details.&lt;br /&gt;
# '''Share''' the '''IAM Role ARN''' to us.&lt;br /&gt;
Once you received S3 bucket information from Nielsen, perform the following steps to test access.&lt;br /&gt;
&lt;br /&gt;
Once you received S3 bucket information from Nielsen, perform the following steps to test access.&lt;br /&gt;
&lt;br /&gt;
'''1. List Files (ls)'''&lt;br /&gt;
&lt;br /&gt;
To see a list of the files in your designated folder: &amp;lt;code&amp;gt;aws s3 ls s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt; To list all the files in all the sub folders as well: &amp;lt;code&amp;gt;aws s3 ls s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/ --recursive&amp;lt;/code&amp;gt; ''Example:'' &amp;lt;code&amp;gt;aws s3 ls s3://useast1-nlsn-w-dig-sei-partnera-feeds-prod/dar-exposure/ --recursive&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2. Copy a Single File (cp)'''&lt;br /&gt;
&lt;br /&gt;
To upload a single file from your local machine to S3: &amp;lt;code&amp;gt;aws s3 cp yourfile.txt s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;''This command copies filename.csv to your s3 bucket at prefix folder.''&amp;lt;/code&amp;gt;&lt;br /&gt;
'''3. Sync a Directory (sync)'''&lt;br /&gt;
&lt;br /&gt;
To upload all new or updated files from a local directory to your S3 folder: &amp;lt;code&amp;gt;aws s3 sync /path/to/your/local/directory s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt; ''This command uploads all the files in your directory to your s3 bucket folder.''&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Data_Delivery_Specification&amp;diff=7368</id>
		<title>Digital Measurement SEI Data Delivery Specification</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Data_Delivery_Specification&amp;diff=7368"/>
		<updated>2025-08-06T11:42:25Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: New page added to cover data delivery specification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document outlines the data delivery specification for Ad and Content Measurement products via SEI integration.&lt;br /&gt;
&lt;br /&gt;
Files should be delivered at a fixed cadence in a dedicated S3 bucket following the outlined in this spec prefix and object naming conventions and data formats.&lt;br /&gt;
&lt;br /&gt;
* All prefix labels and file names should be lowercase except for app ids.&lt;br /&gt;
* Supported formats are:&lt;br /&gt;
** Uncompressed text files with utf-8 encoding in:&lt;br /&gt;
*** JSON format(.json);&lt;br /&gt;
*** PARQUET format(.parquet) --- Preferred;&lt;br /&gt;
* All files should have extensions to indicate the file format (.json or .parquet)&lt;br /&gt;
* Data file can be partitioned into multiple parts with min size of 128MB - 256MB&lt;br /&gt;
* Data can be delivered separately in multiple splits(platforms), if needed due to organizational, technical or privacy requirements. This allows to permission s3 access separately, to process data independently and to persist data partitioned, within the limits of the S2S system;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
To get started, you will need a Nielsen App ID. The App ID is a unique ID assigned to your app. This will be provided to you by your assigned Technical Account Manager upon starting the integration.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Item&lt;br /&gt;
!Description&lt;br /&gt;
!Source&lt;br /&gt;
|-&lt;br /&gt;
|'''App ID (AppID)'''&lt;br /&gt;
|Unique ID assigned to the player/site and configured by product.&lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|'''Integration ID (IntID)'''&lt;br /&gt;
|Integration id provided by Nielsen. Used to link different integration inputs, ex. associate single audit ping integration with different viewership pipelines (dar, dtvr, dcr, etc.)&lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|'''Partner ID (PartnerID)'''&lt;br /&gt;
|Partner id provided by Nielsen. Used for the client specific S3 bucket .&lt;br /&gt;
 Please note that the sample PartnerID 'acme' used in all examples is a placeholder to be replaced with your PartnerID. &lt;br /&gt;
|Provided by Nielsen&lt;br /&gt;
|}&lt;br /&gt;
The onboarding process varies depending on the client's cloud environment.&lt;br /&gt;
&lt;br /&gt;
=== '''AWS to AWS Integration''' ===&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
&lt;br /&gt;
* The client's IAM Role ARN to grant access to Nielsen S3 bucket provided by client.&lt;br /&gt;
&lt;br /&gt;
'''Onboarding steps to be performed by client'''&lt;br /&gt;
&lt;br /&gt;
# Create an IAM user or role in client AWS account.&lt;br /&gt;
# Attach the following IAM policy to the user or role to grant necessary permissions. This policy allows the user or role to read, write, and manage object access control lists (ACLs) in the specified S3 bucket. &amp;lt;code&amp;gt;{ &amp;quot;Version&amp;quot;: &amp;quot;2012-10-17&amp;quot;, &amp;quot;Statement&amp;quot;: [ { &amp;quot;Effect&amp;quot;: &amp;quot;Allow&amp;quot;, &amp;quot;Action&amp;quot;: [ &amp;quot;s3:GetObject&amp;quot;, &amp;quot;s3:PutObject&amp;quot;, &amp;quot;s3:PutObjectAcl&amp;quot; ], &amp;quot;Resource&amp;quot;: &amp;quot;arn:aws:s3:::&amp;lt;AccountABucketName&amp;gt;/*&amp;quot; } ] }&amp;lt;/code&amp;gt; '''Note:''' Replace &amp;lt;code&amp;gt;&amp;lt;AccountABucketName&amp;gt;&amp;lt;/code&amp;gt; with the bucket name provided by Nielsen. You can also restrict access to a specific folder by modifying the &amp;lt;code&amp;gt;Resource&amp;lt;/code&amp;gt; element (e.g., &amp;lt;code&amp;gt;&amp;quot;arn:aws:s3:::AccountABucketName/FolderName/*&amp;quot;&amp;lt;/code&amp;gt;). Check &amp;lt;nowiki&amp;gt;https://repost.aws/knowledge-center/cross-account-access-s3&amp;lt;/nowiki&amp;gt; for more details.&lt;br /&gt;
# '''Share''' the '''IAM Role ARN''' to us.&lt;br /&gt;
&lt;br /&gt;
Once you received S3 bucket information from Nielsen, perform the following steps to test access.&lt;br /&gt;
&lt;br /&gt;
'''1. List Files (ls)'''&lt;br /&gt;
&lt;br /&gt;
To see a list of the files in your designated folder: &amp;lt;code&amp;gt;aws s3 ls s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt; To list all the files in all the sub folders as well: &amp;lt;code&amp;gt;aws s3 ls s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/ --recursive&amp;lt;/code&amp;gt; ''Example:'' &amp;lt;code&amp;gt;aws s3 ls s3://useast1-nlsn-w-dig-sei-partnera-feeds-prod/dar-exposure/ --recursive&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2. Copy a Single File (cp)'''&lt;br /&gt;
&lt;br /&gt;
To upload a single file from your local machine to S3: &amp;lt;code&amp;gt;aws s3 cp yourfile.txt s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;''This command copies filename.csv to your s3 bucket at prefix folder.''&amp;lt;/code&amp;gt;&lt;br /&gt;
'''3. Sync a Directory (sync)'''&lt;br /&gt;
&lt;br /&gt;
To upload all new or updated files from a local directory to your S3 folder: &amp;lt;code&amp;gt;aws s3 sync /path/to/your/local/directory s3://&amp;lt;bucket-name&amp;gt;/&amp;lt;prefix&amp;gt;/&amp;lt;/code&amp;gt; ''This command uploads all the files in your directory to your s3 bucket folder.''&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7367</id>
		<title>Digital Measurement SEI Ad Exposure</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Measurement_SEI_Ad_Exposure&amp;diff=7367"/>
		<updated>2025-08-06T11:25:46Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|Digital Ad Ratings}} {{CurrentBreadcrumb}}&lt;br /&gt;
&lt;br /&gt;
This document outlines the required specification for facilitating Nielsen ONE advertising measurement, Digital Ad Ratings (DAR) measurement, Nielsen Media Impact (NMI), Add Effectiveness (MTA, Lift, etc.), Nielsen Brand Effect (NBE) and Activation products leveraging the Single Endpoint integration (SEI). Integration specifications for other Nielsen products (DCR, DTVR, etc.) via SEI are available separately.&lt;br /&gt;
&lt;br /&gt;
The Single Endpoint integration contains two components:&lt;br /&gt;
&lt;br /&gt;
# '''Exposure File'''- the specifications of which are described in this document for the transmission to Nielsen with event level data shared via a Server-to-Server (S2S) method. This S2S file transfer supplies event data and related campaign, study, and user metadata required for facilitating measurement.&lt;br /&gt;
# '''Audit Beacon'''- (implementation details available here: [[Digital Measurement Ads Audit Beacon]]) are HTTPS requests that emanate from the end-user device at a minimum of once per Session (uninterrupted user experience with gaps shorter than 30 minutes, or as mutually agreed upon). The Audit Ping provides Nielsen the ability to 1) validate traffic volume 2) provide a signal that Nielsen meters can detect for participating Nielsen panelists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to [[Digital Measurement SEI Data Delivery Specification]] for file delivery and access.&lt;br /&gt;
&lt;br /&gt;
=== Ad Measurement Considerations ===&lt;br /&gt;
Nielsen ad campaign setup is required using the '''Campaign Management Interface (CMI)''' tool or '''Tagging API''' for each campaign where Nielsen reporting is expected - this applies to new or current Nielsen clients transitioning from standard client-device-fired pixel tags to Single Endpoint style.&lt;br /&gt;
&lt;br /&gt;
Nielsen ad pixel tags should not directly fire for any exposures already included in the Exposure File after the testing period. Third-party Nielsen pixel tags should be intercepted, suppressed, and included in a server file transfer with all associated information. &lt;br /&gt;
&lt;br /&gt;
The Audit Ping is required for facilitating MRC Accredited measurement.&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-&amp;lt;'''partnerid'''&amp;gt;-feeds-&amp;lt;'''env'''&amp;gt;/&amp;lt;'''filetype'''&amp;gt;/&amp;lt;'''split'''&amp;gt;/'''yyyy'''/'''mm'''/'''dd'''/'''hh'''/&amp;lt;object&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|env&lt;br /&gt;
|“test” or “prod”&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''[&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dcr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dtvr&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;ctvc&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;audio&amp;lt;/code&amp;gt;]'''&lt;br /&gt;
|-&lt;br /&gt;
|split&lt;br /&gt;
|a separate data split, can be by platform (ex.: ios, browser, android, ctv), by country (us, ca, jp, etc.), by publisher, by team, etc. or “all” (if data is provided in one split).&lt;br /&gt;
|-&lt;br /&gt;
|yyyy/mm/dd/hh&lt;br /&gt;
|&lt;br /&gt;
* yyyy	- year&lt;br /&gt;
* mm	- month&lt;br /&gt;
* dd	- date padded with 0 example 01, 02,..., 31&lt;br /&gt;
* hh	- hour padded with 0 example 00, 02,..., 23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== S3 Bucket and Prefix Naming Convention ===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;'''partnerid'''&amp;gt;_&amp;lt;'''filetype'''&amp;gt;_&amp;lt;'''intid'''&amp;gt;_&amp;lt;'''appid'''&amp;gt;_&amp;lt;'''starttime'''&amp;gt;_&amp;lt;'''endtime'''&amp;gt;.[parquet|json]&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Name'''&lt;br /&gt;
!'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|partnerid&lt;br /&gt;
|Abbreviation provided by Nielsen for each provider or publisher&lt;br /&gt;
|-&lt;br /&gt;
|filetype&lt;br /&gt;
|exposure, dcr-exposure, dar-exposure, audio-exposure, etc., where:&lt;br /&gt;
&lt;br /&gt;
* '''exposure''' is reserved for multi-product files&lt;br /&gt;
* '''&amp;lt;product&amp;gt;-exposure''' is for single product files, where '''&amp;lt;product&amp;gt;''' is '''&amp;lt;code&amp;gt;dar&amp;lt;/code&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|initid&lt;br /&gt;
|integration id: unique identifier provided by Nielsen&lt;br /&gt;
|-&lt;br /&gt;
|appid&lt;br /&gt;
|Nielsen-provided server application identifier&lt;br /&gt;
|-&lt;br /&gt;
|starttime&lt;br /&gt;
|start date and hour of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|-&lt;br /&gt;
|endtime&lt;br /&gt;
|end date and hour (not inclusive)  of the data in the file in UTC&lt;br /&gt;
&lt;br /&gt;
* Example format: yyyymmddhh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Success File ===&lt;br /&gt;
Empty '''_SUCCESS''' file should be provided to indicate that data delivery for a particular hour and split is completed (even if there is no data for that particular hour and split).&lt;br /&gt;
&lt;br /&gt;
=== Manifest File ===&lt;br /&gt;
A manifest should be provided which contains metadata related to the uploaded file(s). The manifest is a text file in json format that implements the [https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html#unload-examples-manifest-verbose AWS unload manifest file] format. It has the same name as the data file, but has the &amp;lt;code&amp;gt;'''_manifest'''&amp;lt;/code&amp;gt; suffix.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt; &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;entries&amp;quot;: [&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0000_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0001_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0002_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true},&lt;br /&gt;
&lt;br /&gt;
     {&amp;quot;url&amp;quot;:&amp;quot;s3://bucket/prefix/0003_object_00.snappy.parquet&amp;quot;, &amp;quot;mandatory&amp;quot;:true}&lt;br /&gt;
&lt;br /&gt;
   ],&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;meta&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;schema_version&amp;quot;: &amp;quot;S2SV1.7.0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;accreditation_status&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;start_time&amp;quot;: &amp;quot;1710154800&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;end_time&amp;quot;: &amp;quot;1710158399&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
     &amp;quot;record_count&amp;quot;: 55&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The manifest contains a complete list of all files provided for a given period and split, as well as a meta data (a.k.a. header) which should include the following attributes:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Require'''&lt;br /&gt;
|'''Specified'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|-&lt;br /&gt;
|schema_version&lt;br /&gt;
|Schema Version&lt;br /&gt;
|Yes&lt;br /&gt;
|Nielsen&lt;br /&gt;
|&amp;lt;code&amp;gt;S2SV1.7.0&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|accreditation_status&lt;br /&gt;
|Accreditation Status&lt;br /&gt;
|No&lt;br /&gt;
|Client&lt;br /&gt;
|&amp;lt;code&amp;gt; MRC = 1&amp;lt;/code&amp;gt; &lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_start_time&lt;br /&gt;
|Data Start Time (min)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|data_end_time&lt;br /&gt;
|Data Start Time (max)&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Format:32-bit unsigned int Unix time in seconds&lt;br /&gt;
|String&lt;br /&gt;
|-&lt;br /&gt;
|record_count&lt;br /&gt;
|Number of records in data file&lt;br /&gt;
|Yes&lt;br /&gt;
|Client&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;31337&amp;lt;/code&amp;gt; &lt;br /&gt;
|Number&lt;br /&gt;
|}&lt;br /&gt;
'''Data delivery example for hour 11 (11:00:00 AM UTC to 11:59:59 PM UTC):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0000.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0001.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0002.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_0003.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/acme_dtvr-exposure_a9ddf15ea054ea415718767ea6_P47C2495B-BBBA-56DE-BE99-14758F92F034_2024031111_2024031112_manifest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;useast1-nlsn-w-dig-sei-acme-feeds-prod/dar-exposure/ios/2022/05/25/11/_SUCCESS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SLA =&lt;br /&gt;
The files must be delivered into the proper S3 bucket within 3 hours of the start of that hourly viewing file interval, after which the process will skip the missing file and continue processing subsequent files. For example files from 1:00 AM to 2:00 AM must be delivered before 4 AM.&lt;br /&gt;
&lt;br /&gt;
== Schema Parameter Definitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |'''Parameter'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Required'''&lt;br /&gt;
|'''Format / Example'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |sessionid&lt;br /&gt;
|Unique, client generated value that represents the start of a user session. “Session” is defined as continuous (flexible) interaction with an application that may span multiple streams.&lt;br /&gt;
|No&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: Random GUID: &amp;lt;code&amp;gt;70fa265f-5d49-4af7-ba9e-5e9da416bf78&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ad&lt;br /&gt;
|Array that contains advertisement-related parameters indented below&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;viewedads&amp;quot;: &lt;br /&gt;
[&lt;br /&gt;
   {&lt;br /&gt;
      &amp;quot;dar_url&amp;quot;:&amp;quot;http://secure-gl.imr...&amp;quot;,&lt;br /&gt;
      &amp;quot;publisher_name&amp;quot;:&amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
      ...&lt;br /&gt;
   }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|{&lt;br /&gt;
|dar_url&lt;br /&gt;
|The DAR url for the specific Nielsen campaign to be tracked. In cases of 3rd party DAR urls, this url should be intercepted and unaltered by the publisher/provider&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;http://secure-gl.imrworldcwide.com/cgi-bin/m?ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ci - Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
&lt;br /&gt;
am - Nielsen defined Ad Server value.&lt;br /&gt;
&lt;br /&gt;
ca - Nielsen defined campaign ID which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
&lt;br /&gt;
ce - Site ID of where the campaign is being served.&lt;br /&gt;
&lt;br /&gt;
pc - This is the individual placement value for different placements being served on the site.&lt;br /&gt;
&lt;br /&gt;
The rest of the variable value pairs generally are static and do not change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_name&lt;br /&gt;
|Name of the publisher where the ad or content is being served.&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Publisher 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|publisher_user_id&lt;br /&gt;
|Publisher-specific (first party) user ID (should remain persistent).&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;ed36968977606872e4312943c218568123786342&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_name&lt;br /&gt;
|Name of the provider supplying the data to Nielsen. &lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;Provider 123&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|provider_user_id&lt;br /&gt;
|Provider-specific user ID (must remain persistent indefinitely)&lt;br /&gt;
|For CTV (only for provider onboarding)&lt;br /&gt;
|&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;code&amp;gt;A769C2B-3CBD-5784-852F-C57875CC9D91A&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|gracenote_id&lt;br /&gt;
|Gracenote TMS ID (If available) should be passed for all telecasted content.&lt;br /&gt;
|Required if id3 not provided&lt;br /&gt;
|&lt;br /&gt;
Format: 14 character string. Normally leading with 2 alpha characters ('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|program_genre&lt;br /&gt;
|Genre of content&lt;br /&gt;
|Required for CTV&lt;br /&gt;
|Format: Alphanumeric&lt;br /&gt;
Example: &amp;lt;code&amp;gt;CV (comedy variety)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|original_airtime&lt;br /&gt;
|Original broadcast time of content (if applicable) in Unix epoch timestamp format&lt;br /&gt;
|Optional for CTV&lt;br /&gt;
|Example: &amp;lt;code&amp;gt;1531337551&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |dma&lt;br /&gt;
|Designated Market Area where viewing occurred&lt;br /&gt;
|Optional&lt;br /&gt;
|&amp;lt;code&amp;gt;501&amp;lt;code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_id&lt;br /&gt;
|Mobile Ad ID (IDFA, ADID), Connected Device ID. If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case&lt;br /&gt;
|Yes, if available&lt;br /&gt;
|&amp;lt;code&amp;gt;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |is_device_id_hashed&lt;br /&gt;
|If device_id is SHA-256 hashed&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = hashed&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = else&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |hem_sha256&lt;br /&gt;
|SHA-256 hashed email&lt;br /&gt;
&lt;br /&gt;
Note: email normalization rules applied before hashing&lt;br /&gt;
&lt;br /&gt;
* remove all leading and trailing whitespace&lt;br /&gt;
* force lowercase&lt;br /&gt;
* for @gmail.com addresses only:&lt;br /&gt;
** remove dots&lt;br /&gt;
** remove + suffix, including sign&lt;br /&gt;
&lt;br /&gt;
Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”&lt;br /&gt;
|Strongly Preferred&lt;br /&gt;
|&amp;lt;code&amp;gt;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |uoo&lt;br /&gt;
|User opt out flag for demographic measurement&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
Format: boolean&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not opt-out&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = opt-out&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_useragent&lt;br /&gt;
|Device HTTP User Agent string&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: alphanumeric&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Apple-iPhone1C2/801.293&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |ip_address&lt;br /&gt;
|IP address&lt;br /&gt;
|Yes, or alternatives below&lt;br /&gt;
|&lt;br /&gt;
Format: xxx.xxx.xxx.xxx&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;172.217.22.14&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |timestamp&lt;br /&gt;
|Time impression occurred &lt;br /&gt;
|Yes&lt;br /&gt;
|Format: Unix timestamp in 32-bit unsigned int in seconds&lt;br /&gt;
Example: &amp;lt;code&amp;gt;1577858505&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 4 parameters become mandatory if Device User Agent String (UAS) is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_platform&lt;br /&gt;
|Device platform(mobile, desktop, connected device)&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MBL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_type&lt;br /&gt;
|Device type for connected devices&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;AMN, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |os_group&lt;br /&gt;
|Operating system of mobile devices. All other device should be NA&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;IOS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DROID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NA&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |device_group&lt;br /&gt;
|Type of device: phone, tablet, desktop, set top box (CTV or OTT), unknown&lt;br /&gt;
|Required if no UAS&lt;br /&gt;
|&amp;lt;code&amp;gt;DSK, &amp;lt;code&amp;gt;PHN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TAB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STV&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DVD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PMP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;XBX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PSX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AMN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;APL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GGL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RKU&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;UNWN&amp;lt;/code&amp;gt;&lt;br /&gt;
*DSK		(Desktop)&lt;br /&gt;
*PHN		(Mobile phone)&lt;br /&gt;
*TAB		(Tablet)&lt;br /&gt;
*STV 		(Smart TVs)&lt;br /&gt;
*DVD 		(BluRay &amp;amp; DVD player devices)&lt;br /&gt;
*STB 		(Set-top boxes)&lt;br /&gt;
*XBX 		(Xbox devices)&lt;br /&gt;
*PSX		(PlayStation devices)&lt;br /&gt;
*AMN 		(Amazon devices, excluding SmartTVs)&lt;br /&gt;
*APL 		(Apple devices)&lt;br /&gt;
*GGL 		(Google devices, excluding SmartTVs)&lt;br /&gt;
*RKU 		(Roku devices, excluding SmartTVs)&lt;br /&gt;
*UNWN		(Unknown Device)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following 3 parameters become mandatory if IP Address is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |bot_flag&lt;br /&gt;
|Flag indicating IAB bot rule if IP address present in IAB bot list&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&lt;br /&gt;
Format: integer&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = not bot&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; = bot&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |zip_code&lt;br /&gt;
|ZIP code where viewing occurred&lt;br /&gt;
|Required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;10001&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |country&lt;br /&gt;
|Country ISO 3166 ALPHA-2&lt;br /&gt;
|Preferred; required if no IP&lt;br /&gt;
|&amp;lt;code&amp;gt;US&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CA&amp;lt;/code&amp;gt;, etc.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |The following parameters are needed if dar_url is not available&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |campaign_id&lt;br /&gt;
|Campaign Identifier which allows the overall campaign for the client to be tied together across publishers&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsn1234&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |client_id&lt;br /&gt;
|Nielsen defined client identifier that will be unique per Nielsen client&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: nlsnci1046&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |creative_id&lt;br /&gt;
|Identifier for the Ad creative&lt;br /&gt;
|Optional&lt;br /&gt;
|Example: ad3ff462d24541339d6f67e1b2352465&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |site_id&lt;br /&gt;
|Site ID of where the campaign is being served.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: site1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |placement_id&lt;br /&gt;
|Identifier for different placements being served on the site.&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Example: 150DEB50A2ED2D&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |adserver&lt;br /&gt;
|Nielsen defined Ad Server value&lt;br /&gt;
|Required if no dar_url&lt;br /&gt;
|Nielsen provided Ad Server value&lt;br /&gt;
|}&lt;br /&gt;
Note: All parameters are case sensitive.&lt;br /&gt;
&lt;br /&gt;
'''Example in JSON format'''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;quot;session_id&amp;quot;: &amp;quot;R487421B-XXXX-YYYY-3343-E3BBB46E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_id&amp;quot;: &amp;quot;A487421B-XXXX-YYYY-8343-E3BBB66E44F2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;is_device_id_hashed&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hem_sha256&amp;quot;: &amp;quot;671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;uoo&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timestamp&amp;quot;: &amp;quot;1548395046744&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ip_address&amp;quot;: &amp;quot;86.100.256.000&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_useragent&amp;quot;: &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_group&amp;quot;: &amp;quot;PHN&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;device_platform&amp;quot;: &amp;quot;MBL&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dma&amp;quot;: &amp;quot;501&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;zip_code&amp;quot;: &amp;quot;10001&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ad&amp;quot; : {&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;publisher_user_id&amp;quot;: &amp;quot;ed36968977606872e4312943c218568123786342&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;dar_url&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://secure-gl.imrworldwide.com/cgi-bin/m&amp;lt;/nowiki&amp;gt;? ca=nlsn1234&amp;amp;cr=678&amp;amp;ce=abc&amp;amp;pc=12345&amp;amp;ci=nlsnci123&amp;amp;am=1&amp;amp;at=view&amp;amp;rt=banner&amp;amp;st=image&amp;amp;r=12345&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;publisher_name&amp;quot;: &amp;quot;Publisher 123&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             &amp;quot;original_airtime&amp;quot;: &amp;quot;1593633600&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
[[Category:Digital]]&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Ad_Ratings&amp;diff=7366</id>
		<title>Digital Ad Ratings</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Ad_Ratings&amp;diff=7366"/>
		<updated>2025-08-06T10:27:45Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}}&lt;br /&gt;
{{CategoryIcon|Advertising.png|Digital Ad Ratings (DAR)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; |&lt;br /&gt;
! General Reference&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | {{SmallIcon|Cross_Platform.png}}&lt;br /&gt;
| '''[[DAR Mobile Attributes Requirements]]'''&lt;br /&gt;
|-&lt;br /&gt;
|'''[[iOS SDK App Privacy|App Privacy Details for App Store]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | SDK / API&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
! Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{SmallIcon|SDKIcon.png}}&lt;br /&gt;
| {{SmallIcon|BrowserIcon.png}}&lt;br /&gt;
| '''[[DAR Tag Implementation Guide]]'''&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | SEI&lt;br /&gt;
!Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | {{SmallIcon|DigitalIcon.png}}&lt;br /&gt;
|'''[[Digital Measurement SEI Ad Exposure|SEI Ad Exposure Guide]]'''&lt;br /&gt;
|-&lt;br /&gt;
|'''[[Digital Measurement Ads Audit Beacon|SEI Ad Audit Ping]]'''&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
	<entry>
		<id>https://engineeringportal.nielsen.com/w/index.php?title=Digital_Ad_Ratings&amp;diff=7365</id>
		<title>Digital Ad Ratings</title>
		<link rel="alternate" type="text/html" href="https://engineeringportal.nielsen.com/w/index.php?title=Digital_Ad_Ratings&amp;diff=7365"/>
		<updated>2025-08-06T10:22:11Z</updated>

		<summary type="html">&lt;p&gt;DarsanaDinesh: Added SEI section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}}&lt;br /&gt;
{{CategoryIcon|Advertising.png|Digital Ad Ratings (DAR)}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; |&lt;br /&gt;
! General Reference&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | {{SmallIcon|Cross_Platform.png}}&lt;br /&gt;
| '''[[DAR Mobile Attributes Requirements]]'''&lt;br /&gt;
|-&lt;br /&gt;
|'''[[iOS SDK App Privacy|App Privacy Details for App Store]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | SDK / API&lt;br /&gt;
! style=&amp;quot;width: 45px;&amp;quot; | OS&lt;br /&gt;
! Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{SmallIcon|SDKIcon.png}}&lt;br /&gt;
| {{SmallIcon|BrowserIcon.png}}&lt;br /&gt;
| '''[[DAR Tag Implementation Guide]]'''&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width: 90px;&amp;quot; | SEI&lt;br /&gt;
!Guide&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | {{SmallIcon|DigitalIcon.png}}&lt;br /&gt;
|'''[[Digital Measurement SEI Ad Exposure|SEI Ad Exposure Guide]]'''&lt;br /&gt;
|-&lt;br /&gt;
|[[SEI Ad Audit Ping|'''SEI Ad Audit Ping''']]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DarsanaDinesh</name></author>
	</entry>
</feed>