Digital Measurement Content Relayed Audit Beacon
From Engineering Client Portal
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
Two-part Audit Ping design requires:
- End-user-device-initiated ping with client-owned root domain and SessionID included in subdomain. Nielsen meters are trained to regex for a unique domain format. Example:
https://2576459933726989.darnuid.[publisher-domain].com
- S2S Audit Ping relay from client-server to Nielsen server with furnished URL parameters outlined below. Example:
https://audit.imrworldwide.com/cgi-bin/gn?prd=audit&intid=xp3clqou0dzb1u4jq2jecoyvza&appid=FC984EC1-E044-B465-E040-070AAD3173A1&sessionid=2576459933726989&product=dar&createtm=1643858542
Furnished S2S Audit Ping Proxy Parameters
Parameter | Description | Required | Specified | Format / Example |
---|---|---|---|---|
apid | Server App ID assigned by Nielsen | Yes | Nielsen |
Example: |
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: |
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: |
createtm | Time ping is initiated | Yes | Client |
Format: Unix timestamp in 32-bit unsigned int in seconds
Example: |
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