Digital Measurement Content Audit Beacon: Difference between revisions

From Engineering Client Portal

(Page added for Content Audit Ping)
 
mNo edit summary
Line 12: Line 12:
*Audit ping servers reject cross-origin HTTP requests with preflight. To ensure that audit ping requests are accepted, allowable Content-Types like "text/plain" in simple GET requests ensure that preflight requests are not invoked
*Audit ping servers reject cross-origin HTTP requests with preflight. To ensure that audit ping requests are accepted, allowable Content-Types like "text/plain" in simple GET requests ensure that preflight requests are not invoked
*200: Ping successfully received, inspect traffic to ensure no CORS errors
*200: Ping successfully received, inspect traffic to ensure no CORS errors
*302: A redirect to another Nielsen domain, used for the purpose of generating a URL compatible with Nielsen streaming meters
=Session & Stream=
=Session & Stream=
#Sessions
#Sessions
Line 21: Line 22:
##Stream ID remains the same independent of fast-forward, rewind, pause, events assuming the asset remains the same
##Stream ID remains the same independent of fast-forward, rewind, pause, events assuming the asset remains the same
##If playback is suspended for greater than 30mins (paused or otherwise suspended), a new Stream ID should be assigned upon return
##If playback is suspended for greater than 30mins (paused or otherwise suspended), a new Stream ID should be assigned upon return
##Audit pings should be fired at the beginning and end of a stream
#Audit Pings
##Audit pings should be fired at the beginning and end of a stream. These will be referred to as the Audit Start Ping and the Audit End Ping
=Query Parameters=
=Query Parameters=
{| class="wikitable"
{| class="wikitable"
Line 41: Line 43:
|Client
|Client
|Format: alphanumeric Example: Random GUID: <code>ce6c1c95-de3e-431e-b11e-77…</code>
|Format: alphanumeric Example: Random GUID: <code>ce6c1c95-de3e-431e-b11e-77…</code>
|-
|streamid
|ID for every new instance of exposure to a different asset
|Yes
|Client
|Example: Random GUID: <code>ce6c1c95-de3e-431e-b11e-77…</code>
|-
|-
|pingtype
|pingtype
Line 70: Line 78:
|Optional, or in S2S file
|Optional, or in S2S file
|Client
|Client
|<code>A487421B-XXXX-YYYY-8343-E3BBB66E44F2</code>
|Only for Start Mobile Ping. User for demo assignment. Required, if no other interoperable id match exists for the integration
Example:<code>A487421B-XXXX-YYYY-8343-E3BBB66E44F2</code>
|-
|-
|hhid
|hhid

Revision as of 15:07, 5 February 2026

Engineering Portal / Digital / US DCR & DTVR / Digital Measurement Content Audit Beacon

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.

Ping Structure

Ping is executed with following convention:

https://[to_be_provided].imrworldwide.com/cgi-bin/gn?prd=audit&+[query parameters]

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.  

Under normal operating circumstances, the audit ping server returns the following codes:

  • Audit ping servers reject cross-origin HTTP requests with preflight. To ensure that audit ping requests are accepted, allowable Content-Types like "text/plain" in simple GET requests ensure that preflight requests are not invoked
  • 200: Ping successfully received, inspect traffic to ensure no CORS errors
  • 302: A redirect to another Nielsen domain, used for the purpose of generating a URL compatible with Nielsen streaming meters

Session & Stream

  1. Sessions
    1. Optionally, a new Session ID may be created when a new player is created
    2. If more than one video player exists within the same App (e.g. picture in picture) a different Session ID is required for each
  2. Streams
    1. New Stream ID is generated for each new video stream.
    2. 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)
    3. Stream ID remains the same independent of fast-forward, rewind, pause, events assuming the asset remains the same
    4. If playback is suspended for greater than 30mins (paused or otherwise suspended), a new Stream ID should be assigned upon return
  3. Audit Pings
    1. Audit pings should be fired at the beginning and end of a stream. These will be referred to as the Audit Start Ping and the Audit End Ping

Query Parameters

Parameter Description Required Specified Format / Example
apid Server App ID assigned by Nielsen Yes Nielsen Example: A487421B-XXXX-YYYY-8343-E3BBB66E44F2
sessionid 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. Yes Client Format: alphanumeric Example: Random GUID: ce6c1c95-de3e-431e-b11e-77…
streamid ID for every new instance of exposure to a different asset Yes Client Example: Random GUID: ce6c1c95-de3e-431e-b11e-77…
pingtype Indicator for ping type: "start" or "end" audit ping Yes Client Format: integer,
  • 1 = Start Stream
  • 0 = Start Session
  • 3 = End Stream
  • 2 = End Session
product Indicates which product audit ping corresponds to Yes Client Format: alphanumeric, Example: dcr, dtvr, dar, ctv
uoo User opt out flag for demographic measurement Yes, if devid/HHID provided Client Format: integer
  • 0 = not opt-out
  • 1 = opt-out
devid Mobile Ad ID (IDFA, ADID), Connected Device ID Optional, or in S2S file Client Only for Start Mobile Ping. User for demo assignment. Required, if no other interoperable id match exists for the integration

Example:A487421B-XXXX-YYYY-8343-E3BBB66E44F2

hhid House Hold ID. Used as a primary match key to external data sources. Optional, or in S2S file. Client B0EOFEDgD
createtm Time ping is initiated Yes Client Format: Unix timestamp in 32-bit unsigned int in seconds Example: 1577858505

Audit Ping Start Example:

https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&apid=FC984EC1-E044-B465-E040-070AAD3173A1&sessionid=2576459933726989&streamid=3679422587354472&pingtype=0&product=ctv&uoo=1&createtm=1577858505&devid=4AB6FCE2-2848-4FA8-9BE3-46E206206AB

Audit Ping End Example:

https://secure-audit.imrworldwide.com/cgi-bin/gn?prd=audit&apid=FC984EC1-E044-B465-E040-070AAD3173A1&sessionid=2576459933726989&streamid=3679422587354472&pingtype=2&product=ctv&uoo=1&createtm=1577859637