Digital Measurement Content Audit Beacon

From Engineering Client Portal

Revision as of 17:35, 27 April 2026 by SurabhiGupta (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

Relay Audit Ping (Server to Server)

The relay audit ping is an alternative to the standard audit ping, which is more privacy friendly, since it does not require direct calls from the user client device to the Nielsen backend. It also allows partners to mask XFF (X-Forwarded-For) /24 (IPv4) or /48 (IPv6) as well as control HTTP Client Hints. This can however limit Nielsen’s ability to enrich the collected data using geo resolution, device classification and GIVT, if the partner chooses to severely limit or filter completely the original client IP and User Agent. As a result the implementation of relay audit ping may require additional characteristics to be sent via the exposure logs in order to compensate for the loss of signal. For more details please refer to the Viewing Spec. The relay audit ping is implemented using a two legged approach described below. The additional pairing ping becomes necessary, since relayed audit ping cannot be used to redirect the user client for panel matching purposes.

  1. Pairing Ping. This is an end-user-device-initiated ping with partner-owned root domain and SessionID included in subdomain. It is used for panel matching. Nielsen meters will be trained to recognize the unique domain format. Example: https://2576459933726989.darnuid.[publisher-domain].com
  2. Relay Audit Ping. This is an end-user-device-initiated audit ping relayed by the partner's backend (via proxy server) with furnished URL parameters outlined below. Example: https://audit.imrworldwide.com/cgi-bin/gn?prd=audit&intid=fgrclqou0dzb1u4jq2jecoyvza&apid=FCGG4EC1-E0f4-B465-Ef40-070AAD3173A1&sessionid=2576459933726989&product=dtvr&createtm=1643858542
Audit Ping.png

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
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
intid Single ID assigned per integration for all audit pings across platforms Yes Nielsen Example:

xpgclqou0dzb1ugjq2jgcoyvza

Audit Ping Start Example:

https://audit.imrworldwide.com/cgi-bin/gn?prd=audit&intid=fgrclqou0dzb1u4jq2jecoyvza&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://audit.imrworldwide.com/cgi-bin/gn?prd=audit&intid=fgrclqou0dzb1u4jq2jecoyvzaintid=fgrclqou0dzb1u4jq2jecoyvza&apid=FC984EC1-E044-B465-E040-070AAD3173A1&sessionid=2576459933726989&streamid=3679422587354472&pingtype=2&produ

ct=ctv&uoo=1&createtm=1577859637