Digital Measurement Content Audit Beacon: Difference between revisions
From Engineering Client Portal
(Page added for Content Audit Ping) |
SurabhiGupta (talk | contribs) 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
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
- Sessions
- Optionally, a new Session ID may be created when a new player is created
- If more than one video player exists within the same App (e.g. picture in picture) a different Session ID is required for each
- Streams
- New Stream ID is generated for each new video stream.
- 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)
- 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
- 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
| 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,
|
| 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
|
| 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: |
| 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:
Audit Ping End Example: