Digital Measurement Ads Audit Beacon

From Engineering Client Portal

Revision as of 04:47, 20 May 2025 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Engineering Portal / Digital / Digital Measurement Ads Audit Beacon


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, as defined by the Publisher. The Audit pings are executed 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.

Ping Structure

Requests should be executed with the following convention structure:

https://audit.imrworldwide.com/cgi-bin/gn?prd=audit&

(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

  • SessionID is ideally generated when the application is initiated, optionally upon first ad exposure
  • Audit Pings should be executed 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 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.
Parameter 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

Nielsen One Ads Impression Implementation Details

A new Impression ID parameter specified as "&impid" that exactly matches the SessionID included in the Audit Pings.

Example Nielsen One Ads Ping:

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