Difference between revisions of "Mobile DAR Attributes Requirements"

From Engineering Client Portal

(C7 - OS Grouping (Optional))
(Server-Side Tag Dispatch)
Line 197: Line 197:
 
The following additional changes to the standard mobile-app DAR tag are required to support dispatch the DAR tag from a '''server-side''' publisher ad server:
 
The following additional changes to the standard mobile-app DAR tag are required to support dispatch the DAR tag from a '''server-side''' publisher ad server:
  
#'''X-Forwarded-For (XFF) IP:''' The original client IP address must be passed in the X-ForwardedFor (XFF) HTTP header field. When the impression is fired directly from the Ad Server, the XReal-IP will be the Ad Server IP.
+
#'''X-Forwarded-For (XFF) IP:''' The original client IP address must be passed in the X-Forwarded-For (XFF) HTTP header field. When the impression is fired directly from the Ad Server, the XReal-IP will be the Ad Server IP.
 
#'''Cachebuster:''' Already present in the DAR tag, this now becomes mandatory. A cachebuster or random number ensures a new call is made to the Ad Server. By including a cachebuster ('r' parameter), the tag will not be cached. The timestamp of when the Ad was served can be used.
 
#'''Cachebuster:''' Already present in the DAR tag, this now becomes mandatory. A cachebuster or random number ensures a new call is made to the Ad Server. By including a cachebuster ('r' parameter), the tag will not be cached. The timestamp of when the Ad was served can be used.
 
#'''User Agent (UA):''' The HTTP UA from the client device should be used to populate the HTTP UA in the server-server connection/ping.
 
#'''User Agent (UA):''' The HTTP UA from the client device should be used to populate the HTTP UA in the server-server connection/ping.

Revision as of 23:33, 2 December 2020

Engineering Portal breadcrumbArrow.png Digital breadcrumbArrow.png Digital Ad Ratings breadcrumbArrow.png Mobile DAR Attributes Requirements

Introduction

The standard Nielsen Digital Ad Rating (DAR) tag only supports cookie based web browser viewing on PCs, MACs, and tablets/smartphone (web-browser). However, when ads are served to tablets/smartphones via native app-store applications, the cookie based tag does not function correctly. Additional tag attributes are needed in order for audience reach measurement to function. Example tags are detailed later in this document.

One way Nielsen clients can accomplish this is by the use of Nielsen’s native iOS/Android App SDK. Nielsen’s App SDK automatically adds these additional tag attributes to the standard cookie based webbrowser tag before the tag is forwarded on to the Nielsen census collection system. However, there is a significant portion of the publisher mobile app universe where it is either not feasible, or desirable to integrate Nielsen’s native App SDK into 3rd party applications.

The purpose of this document is to detail the tag URL parameters required that are additional to the standard cookie based web-browser tag.

The most critical additional parameter required is the insertion of the Advertising ID (IFA / IDFA / AdID) from the users device that has been exposed to the Ad creative.

If you are reading this document as an Ad server representative then it is assumed that you have published a specification that mobile app publishers follow to pass the appropriate Advertising ID in the Ad request payload. Typically, your Ad server will then expand a macro or label with that value passed in the Ad request URL, insert into the DAR mobile app tag and redirect to Nielsen collections. See s. See #Appendix A: Example Implementation, figure 2 for an example tag workflow.

The standard way of triggering a Digital Ad Ratings (DAR) tag on Mobile-App is for the publisher app to trigger (either directly or via Ad server) the tag upon Ad exposure to the user. i.e. a client-side initiated tag. If you wish to implement server-side dispatch of mobile in-app DAR tags then see additional section in this document titled server-side tag dispatch. Please read the rest of this document before reading the section on server-server.

Once you have completed your integration, you will be required to submit to a short certification. See #Appendix B: Implementation, Testing & Certification. Certification also grants inclusion to the approved publisher and certified Ad server vendor list.

Important Note: for 2018, the MRC has mandated a series of changes to audience measurement that will require additional tag events to be communicated to Nielsen so that we may compute duration weighting etc. You are strongly urged to contact your Nielsen client service representative to seek a briefing from Nielsen on the best technical methods for tagging in order to be compliant with these changes.

Standard DAR Tag

The DAR tag is available as a 1x1 pixel. The following pixel/tag parameters must be specified for all DAR tags, 1x1, regardless of implementation type: browser, mobile browser, mobile app or connected device.

Tag Parameter Description
CI Client ID: the ID that is associated with the DAR account that processed tag data is associated with. Will always be hardcoded to a Nielsen generated value that comes from the Nielsen campaign management system
AM Ad Server: an ad server participating on the campaign media-plan. This is an internal Nielsen generated value when the ad server is indicated on the campaign during setup
CA Campaign Id: this is the ID associated with your DAR campaign. Unless you are creating and managing the Nielsen campaign via the DAR Tag API, then this parameter value will always be generated from the Nielsen campaign management system. Note: often maps to a media-plan I/O Id
CR Creative Id: DAR does not currently report at the creative level; can be hard coded ad server id or associated with a macro expansion
PC Placement Id: can be generated by the ad server via macro expansion or generated by the Nielsen campaign management system. Note: often maps to one of Ad Unit Id, Line Item Id or Video Ad Id
CE Site Id: the Id that identifies a publisher site that the placement needs to be mapped to. Maps into the Nielsen MarketView database. Note: can be hardcoded to a pre-registered ad server site id in the Nielsen system or a macro expansion where more than one pre-existing site ids have been made known to Nielsen
R Cachebuster (web): timestamp / random number. Generated by ad server
AT Fixed value: “view”
RT Fixed value: “banner”
ST Fixed value: “image”

Do not URL encode the values

Additional DAR Tag Parameters for Mobile App Audience Measurement

In this section, the additional URL parameters required beyond the standard cookie based web-browser tag are described in detail.

For each of the tag examples detailed below, we can support both non-secure (http) and secure (https) flavors. The standard cookie based web-browser tag is included below for reference purposes.

Important note: the values against each value-pair in the following tags are for illustrative purposes only. Values for CA, PC and CE will vary depending on the specific campaign being measured and capabilities of the Ad server for macro/value expansion. For more detail on the core DAR parameters, please see the Nielsen DAR Tag Implementation Guide.

Web Browser DAR tag (cookie based persons identification) http://secure-gl.imrworldwide.com/cgi-bin/m?ci=nlsnci535&am=3&at=view&rt=banner&st=image&ca=nlsn12452&cr=crtve&pc=<creativeid>_plc0001&ce=<siteid>&r=<timestamp>

Mobile-App DAR Tag Extension (IFA based persons identification) http://secure-gl.imrworldwide.com/cgi-bin/m?ci=nlsnci535&am=3&at=view&rt=banner&st=image&ca=nlsn12452&cr=crtve&pc=<creativeid>_plc0001&ce=<siteid>&c7=osgrp,IOS&c8=devgrp,TAB&c9=devid,XXXX-XX-XXXXX-XXXX &c10=plt,MBL&c12=apv,<appVersion>&c13=asid,NIELSEN-PROVIDEDID&c14=osver,7.0.4&uoo=1&r=<timestamp>

Additional DAR Tag Parameters for Mobile Description Mandatory parameter for mDAR?
&c7 OS Grouping
&c8 Device Grouping
&c9 Advertising ID
&c10 Platform
&c12 App Version
&c13 AppID (Nielsen assigned App ID)
&c14 OS Version
&uoo Opt-out indicator

Note: Clients are encouraged to make an effort to always fill-in optional parameters. Note: Do not URL encode the values.

C7 - OS Grouping (Optional)

Valid device OS Grouping data values are the following literal values:

  • osgrp,IOS
  • osgrp,DROID
  • osgrp,ANDROID

Note: If one of the above values cannot be specific, then the parameter should not be included in the call.

C8 - Device Grouping (Mandatory)

Valid literal values for phone, tablet, portable media player (iPod) and unknown are as follows:

  • devgrp,PHN - Phone
  • devgrp,TAB - Tablet
  • devgrp,PMP - Portable Media Player (iPod)
  • devgrp,UNWN - Unknown/Unclassified
  • devgrp,DSK - Desktop
  • devgrp,STV ←​ CTV/OTT Device

Notes

  • Mandatory for accurate measurement, and if unable to pass, Nielsen cannot guarantee the impression will be classified correctly.
  • “​UNWN” will result in Nielsen attempting an introspection of the User Agent in the HTTP request sent against Device Atlas for classification.
  • “STV” is the default value for OTT when the specific device value isn’t passed.

C9 - Advertising ID (Mandatory)

This is the advertiser ID for the client’s mobile device. IDFA for iOS, Google Advertising ID for Android:

  • devid,<IDFA>
  • devid,<IFA>
  • devid,<Google Advertising ID>

Notes

For Android devices, the Google Advertiser ID should be used as the default and the Android ID as the second option.

  • If C9 is <empty>, upon receiving the ping, the Nielsen collection server will attempt a 302 redirect to the data provider per the regular DAR pixel for browsers.
  • As of August 1, 2014, Google is enforcing use of the Advertising ID for advertising and user analytics (http://play.google.com/about/developer-content-policy.html).

"Beginning August 1st 2014, all updates and new apps uploaded to the Play Store must use the advertising ID (when available on a device) in lieu of any other device identifiers for any advertising purposes."

  • It is preferred that the IDFA or Google Advertising ID be sent as is from the mobile device (“cleartext”). However, if mandated, we will support SHA256 hashed values with no-salt. Passing a hashed value (and/or salting) using any other standard will result in a failed match by the data provider upon receiving the ping. In turn, this results in impressions surfacing in the DAR unmeasurable audience totals. Please contact Nielsen if you anticipate a large percentage of hashed values coming in from your publisher clients.

Privacy, Ad Tracking, and Ad Targeting

In newer iterations of the iOS and Android device operating systems, a facility exists allowing users to “opt-out” of “Ad Tracking”. It is Nielsen’s interpretation that this setting is primarily designed to allow users to specify opt-out of Ad Targeting rather than Ad Measurement. DAR does not provide Ad Targeting data.

However, it is also Nielsen’s position that the publisher or Ad network should provide a mechanism to also allow a user to opt-out of Ad Measurement. The Nielsen SDK will honor the Nielsen Ad Measurement opt-out settings configurable @ http://www.nielsen.com/us/en/campaigns/privacy-policy-opt-out.html.

However if the integration approach described in this document is being used instead of the Nielsen SDK then YOU as the publisher or Ad network must provide a capability to opt-out of Ad Measurement as the configuration on www.nielsen.com will not be detectable. You may elect to interpret the iOS / Android “Ad Tracking” setting for the purpose of limit Ad measurement or provide a separate discreet mechanism to allow a user to opt-out of Ad measurement.

Please see &uoo later in this document for implementation details of the optout indicator.

For additional clarification on privacy policy, please contact your Nielsen representative.

C10 - Platform (Mandatory)

To determine this value, Nielsen suggests that the ad network leverage user agent information to determine if the client device is either a mobile or desktop device.

Valid literal values for mobile and desktop data values are as follows:

  • plt,MBL
  • plt,DSK
  • plt,OTT

Notes

  • Mandatory for accurate measurement, and if unable to pass, Nielsen cannot guarantee the impression will be classified correctly.
  • Omitting c10, or a value in c10, will result in Nielsen attempting an introspection of the User Agent in the HTTP request sent against Device Atlas for classification.
  • “OTT” (Connective Devices) is a valid value that is populated by participating vendors (Amazon, Hulu and Roku). Non-participating vendors will be unmeasurable volumetric metric only.

C12 - App Version (Optional)

This is the version of the ad network system software or SDK that is implemented in this extension. Although this field is not required, this feature can be useful for troubleshooting purposes following deployment.

  • apv,<N.N>

C13 - AppID

This Nielsen provided ID is unique to the ad network and is required for certification.

  • asid,<NNNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN>

An App ID will be provided for testing. A separate App ID will be provided for production use. Please request from your Nielsen representative.

Note: If you are a publisher leveraging the non-SDK solution, you will be provided with a unique App ID for each combination of app and device OS type.

C14 - OS Version (Optional)

Operating system version

  • osver,<OS Version>

Example: for iOS -> 7.0.4

UOO - Opt Out (Optional)

Opt-out parameter

  • <Boolean state>

<Boolean state> is a Boolean representation of whether the user is opting out or not.

The absence of uoo in the tag is interpreted as an implicit opt-in. i.e. not opting out.

The following pairings of opt-out are supported. Important: you must choose one set of paired values only and inform your Nielsen representative.

Opt-out Opt-in
uoo=true uoo=false
uoo=1 uoo=0
uoo=yes uoo=no

Note: if your Ad server is not capable os supporting the discrete &uoo parameter then you can set the c9 value to devid,optout (for example …&c8=PHN&c9=devid,optout&c10=MBL…)

Server-Side Tag Dispatch

The standard way of triggering a Digital Ad Ratings (DAR) tag on Mobile-App is for the publisher app to trigger (either directly or via Ad server) the tag upon Ad exposure to the user. i.e. a client-side initiated tag.

It is important to note that MRC/IAB measurement standards stipulate that the Ad exposure event still be initiated and recorded from the client-side, even if the Ad measurement tag (in this case a DAR tag) is physically initiated from the server-side. Evidence may be required (publisher log file or similar) from the MRC/IAB that the user was exposed to the Ad creative on their device.

The following additional changes to the standard mobile-app DAR tag are required to support dispatch the DAR tag from a server-side publisher ad server:

  1. X-Forwarded-For (XFF) IP: The original client IP address must be passed in the X-Forwarded-For (XFF) HTTP header field. When the impression is fired directly from the Ad Server, the XReal-IP will be the Ad Server IP.
  2. Cachebuster: Already present in the DAR tag, this now becomes mandatory. A cachebuster or random number ensures a new call is made to the Ad Server. By including a cachebuster ('r' parameter), the tag will not be cached. The timestamp of when the Ad was served can be used.
  3. User Agent (UA): The HTTP UA from the client device should be used to populate the HTTP UA in the server-server connection/ping.
  4. TLS: the tag received by Nielsen must be TLS v1.2 compliant or greater.

Important notes

  • the current iteration of server-server tag collection only supports mobile-app (IFA and AAID) and will NOT support cookie based audience measurement.
  • The client’s server-server setup that is going to trigger/send the DAR tag should ​suppress​ any Nielsen cookie returned by the Nielsen collection server as a result of the first DAR tag received. If the Nielsen cookie (returned upon receiving the first DAR tag into secure.imrworldwide.com) is not suppressed then invalid traffic (IVT) filtration will quickly be triggered upon receiving the 2​nd and nth tag.

Appendix A: Example Implementation

In the below examples, you will see the overall DAR flow (Figure 1) and a detailed illustrative Ad Request / Response model (Figure 2).


Figure 1 – End to End Data Flow
mDAR Dataflow.png

Nielsen certified publishers and platforms will append the new parameters (below) with the appropriate URL safe values passed to Nielsen’s current DAR tag. The current DAR tag should be acquired using the existing processes for each campaign/placement.

&c7=osgrp,IOS&c8=devgrp,PHN&c9=devid,XXXX-XX-XXXXXXXXX&c10=plt,MBL&c12=apv,AppVersion&c13=asid,XXXX-XX-XXXX-XXXX


Figure 2 – Illustrative Ad Request / Ad Response
ad response.png

The above is an example of how an Ad server is supporting the build of mobile DAR tags for its publisher clients.

  • Step 2 in Figure 1 is a summary of steps 1 and 2 in Figure 2 above.
  • Steps 3 and 4 in Figure 1 is a summary of steps 3 through 9 in Figure 2 above.

Appendix B: Implementation, Testing & Certification

Once you have integrated the ping per the above specs, Nielsen requires you to pass through a one-time certification before traffic can be accepted into the production environment.

The overall process is:

  • Valid DAR contract or NDA is in place.
  • Kick-off meeting with Nielsen onboarding team.
  • Confirm meet minimums testing requriements:
    • Host Ad/Tag for in-app delivery
    • Can pass opt-out back to Nielsen
    • Can pass Device ID in cleartext or SHA-256
  • Nielsen provides the mDAR testing form that includes the test App ID and the test tag
  • Identify the live campaigns for intial testing and run the test tag; suggest 5,000-10,000 impressions.
  • Nielsen validates the data received from the test and confirms the initial test successful and provides the production App ID.
  • Ensure contracts are in place for external test campaign with Nielsen Client Service team.
  • Identify another live campaigns for production testing with production tag and app ID.
  • Nielsen validates the data received from the final test and confirms certification for any DAR countries tested.

Goals

  • To test in full DAR E2E environment, receive matches from data provider for demographics and correct identification of mobile impressions.
  • To test that all minimum requirements in step 3 are passed to Nielsen with no issues.
  • To test in a full DAR end-to-end environment, receive matches from data providers for demographics and correct identification of mobile impressions.