DAR Audit Ping

From Engineering Client Portal

Revision as of 23:17, 1 March 2022 by LaMarHolmes (talk | contribs) (Created page with "== Introduction == The Nielsen Server-to-Server (S2S) solution needs audit pings for audience validation. The audit pings are https requests that are fired at least once per...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

The Nielsen Server-to-Server (S2S) solution needs audit pings for audience validation. The audit pings are https requests that are fired at least once per session. It primarily contains URL parameters with a randomly generated Session Identifier, Integration Identifier, and a timestamp that is matched to the server-side traffic.

The end user device makes a request to Nielsen Collections servers at least once per Session. Sessions are defined as continuous interaction with the application, with gaps that do not exceed contiguous content consumption of 30 minutes or greater. The Audit pings are required to fire only once per Session, ideally at the beginning of the Session or upon first ad exposure. Audit Pings may optionally fire more often, for example: fired upon each ad exposure if preferred.

Audit Pings are intended to be as light-weight, generic as possible, and contain no personal identifiers, campaign information, or advertisement metadata. The following two primary technical purposes of the audit ping are:

  1. to enable Nielsen to make a connection between metered Nielsen panelists and the Census data received via the DAR S2S integration. This ping provides a signal that Nielsen streaming meters and mobile meter devices can intercept the Session IDs
  2. as a secondary mechanism to monitor the health of the S2S DAR measurement. If DAR S2S measurement fails in some way, Nielsen can detect a disparity between the trends in volume from the Audit pings and Census data. Anomalous detected behavior will prompt Nielsen to investigate. For example: Audit Pings without corresponding DAR S2S measurement or the converse.

Ping Structure

Requests should be executed with following convention structure: https://audit.imrworldwide.com/cgi-bin/gn?prd=audit&{query parameter list} (see table below) (Please note that this URL may require updates in response to changes in the market.)

The Audit Ping will carry all parameters in the matrix later in this document. Under normal operating circumstances, the Nielsen collection system will return the following response codes:

  • 302: A redirect to another Nielsen domain, used for the purpose of generating a URL compatible with Nielsen streaming meters
  • 200: The ping was successfully received, inspect traffic to ensure no CORS error

Audit Ping Implementation Details

  • SessionIDs Ideally when the application is initiated, a SessionID is also created, optionally upon first ad exposure
  • Audit Pings will be fired at least every time a SessionID is created
  • It is permissible for Audit Pings to fire more frequently than once per session (for example, upon each ad exposure, or page change, etc.)
  • It is permissible for SessionIDs to change within a session, so long as the Audit Ping is fired again ensuring that the DAR S2S ImpID parameter reflects the same new SessionID
  • For security reasons, downstream 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, which is the preferred behavior.


PARAM DESCRIPTION MANDATORY Specified By Format Example
intid Single ID assigned per integration for all audit pings across platforms Yes Nielsen a9ddf15ea054ea415718767ea6
apid Server App ID assigned by Nielsen Only required for content measurement Nielsen Alphanumeric application identifier assigned by Nielsen by platform
sessionid Unique id generated when video player is instantiated Yes Client Format: alphanumeric, Example: 16 char guid
product Indicates which product audit ping content corresponds to Yes Client Format: alphanumeric, Example: “dar”, “dcr”, “dtvr”
createtm Time the ping was fired Yes Client Format: UnixTime “1643858542”

Generic Ping Format:

https://audit.imrworldwide.com/cgi-bin/gn?prd=audit
&intid=<Integration id>&apid=<App id>&sessionid=<Session Id>&product=<dar>&createtm=<>


Audit Ping Example:

https://audit.imrworldwide.com/cgi-bin/gn?prd=audit&intid=a9ddf15ea054ea415718767ea6&apid=FC984EC1-E044-B465-E040-070AAD3173A1&sessionid=2576459933726989&product=dar&createtm=1643858542


DAR Ping Implementation Details

For S2S DAR Tags, a new Impression ID parameter specified as "&impid" that exactly matches the SessionID included in the Audit Pings.

Example DAR Ping:

https://secure-us.imrworldwide.com/cgi-bin/m?ci=us-201234h&cg=0[...]&impid=2576459933726989&rnd=164403011