Digital Measurement Content Audit Beacon: Difference between revisions
From Engineering Client Portal
(Created page with "{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}} Category:Digital") |
(Update to v1.8.8) |
||
Line 1: | Line 1: | ||
{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}} | {{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}} | ||
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 | |||
= 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 should be fired at the beginning and end of a stream | |||
= Query Parameters = | |||
{| class="wikitable" | |||
|'''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… | |||
|- | |||
|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/LUID 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 | |||
|A487421B-XXXX-YYYY-8343-E3BBB66E44F2 | |||
|- | |||
|luid | |||
|Living Unit ID - Experian Household ID | |||
|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 | |||
[[Category:Digital]] | [[Category:Digital]] |
Revision as of 18:44, 6 June 2024
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
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 should be fired at the beginning and end of a stream
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… |
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/LUID 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 | A487421B-XXXX-YYYY-8343-E3BBB66E44F2 |
luid | Living Unit ID - Experian Household ID | 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