Difference between revisions of "Mobile DAR Attributes Requirements"

From Engineering Client Portal

(Appendix A: Example Implementation)
(19 intermediate revisions by 3 users not shown)
Line 3: Line 3:
  
 
== Introduction ==
 
== Introduction ==
Currently, Nielsen’s DAR tags are well supported online via '''browser'''-based viewing on PCs, MACs, and tablets/smartphones. However, when ads are served to tablets/smartphones via native '''app-store applications''', additional attributes are needed in order for Nielsen clients to employ Nielsen’s mobile DAR (mDAR) measurement product.
+
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 mobile attributes to mDAR measurement pings that are sent to Nielsen’s collection system. However, there is a significant portion of the mobile application universe where it is either not feasible, or desirable to integrate Nielsen’s native App SDK into 3rd party applications.
+
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.
  
This document describes additional attributes that must be added to DAR pings to create mDAR-compliant tags by way of a server-side macro replacement. This method is often referred to as Nielsen’s “non-SDK” DAR solution. Nielsen envisions that these attributes be added by ad networks when they respond to ad requests from client mobile devices.
+
The purpose of this document is to detail the tag URL parameters required that are '''additional''' to the standard cookie based web-browser tag.
  
To support the insertion of the Advertising ID, it is assumed that you have published a specification that app publishers follow to pass the appropriate Advertising ID (for example, IDFA) in the Ad request URL. Typically, your Ad server will expand a macro that grabs that ID seen in the Ad request URL and pass it via the DAR pixel outlined below. See [[#Appendix A: Example Implementation]].
+
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.
 +
 
 +
__TOC__
 +
 
 +
== 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.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! 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
 +
|- style="background-color:#eff8ef;"
 +
| 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
 +
|- style="background-color:#eff8ef;"
 +
| 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
 +
|- style="background-color:#eff8ef;"
 +
| 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
 +
|- style="background-color:#eff8ef;"
 +
| AT
 +
| Fixed value: “view”
 +
|-
 +
| RT
 +
| Fixed value: “banner”
 +
|- style="background-color:#eff8ef;"
 +
| ST
 +
| Fixed value: “image”
 +
|}
 +
<blockquote> Do not URL encode the values</blockquote>
 +
 
 +
== 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,PHN&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>
  
Finally, 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 platform vendor list.
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Additional DAR Tag Parameters for Mobile !! Description !! Mandatory?
+
! Additional DAR Tag Parameters for Mobile !! Description !! Mandatory parameter for mDAR?
 
|-
 
|-
 
| &c7 || OS Grouping ||
 
| &c7 || OS Grouping ||
 +
|- style="background-color:#eff8ef;"
 +
| &c8  || Device Grouping || <center>✔</center>
 
|-
 
|-
| &c8  || Device Grouping ||
+
| &c9 || Advertising ID || <center></center>
|-
+
|- style="background-color:#eff8ef;"
| &c9 || Advertising ID || ✔
+
| &c10 || Platform || <center>✔</center>
|-
 
| &c10 || Platform ||  
 
 
|-
 
|-
 
| &c12 || App Version ||
 
| &c12 || App Version ||
|-
+
|- style="background-color:#eff8ef;"
| &c13 || AppID (Nielsen assigned App ID) || ✔
+
| &c13 || AppID (Nielsen assigned App ID) || <center></center>
 
|-
 
|-
 
| &c14 || OS Version ||
 
| &c14 || OS Version ||
|-
+
|- style="background-color:#eff8ef;"
| &uoo || Opt-out indicator ||
+
| &uoo || Opt-out indicator || <center>✔</center>
 
|}
 
|}
<blockquote>'''Note''': Clients are encouragesd to make an effort to always fill-in optional parameters.
+
<blockquote>'''Note''': Clients are encouraged to make an effort to always fill-in optional parameters.
  
 
'''Note''': Do not URL encode the values.</blockquote>
 
'''Note''': Do not URL encode the values.</blockquote>
Line 41: Line 103:
 
* osgrp,DROID
 
* osgrp,DROID
 
* osgrp,ANDROID
 
* osgrp,ANDROID
<blockquote>'''Note''': If one of the above values cannot be specific, then the parameter should not be included int he call.</blockquote>
+
<blockquote>'''Note''': If one of the above values cannot be specific, then the parameter should not be included in the call.</blockquote>
  
== C8 - Device Grouping ==
+
== C8 - Device Grouping (Mandatory)==
 
Valid literal values for phone, tablet, portable media player (iPod) and unknown are as follows:
 
Valid literal values for phone, tablet, portable media player (iPod) and unknown are as follows:
* devgrp,PHN
+
* devgrp,PHN - Phone
* devgrp,TAB
+
* devgrp,TAB - Tablet
* devgrp,PMP
+
* devgrp,PMP - Portable Media Player (iPod)
* devgrp,UNWN
+
* devgrp,UNWN - Unknown/Unclassified
* devgrp,DSK
+
* devgrp,DSK - Desktop
<blockquote>'''Note''': If one of the above values cannot be specific, then the parameter should not be included in the call or should be left empty</blockquote>
+
* 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.</blockquote>
  
== C9 - Advertising ID ==
+
== C9 - Advertising ID (Mandatory) ==
 
This is the advertiser ID for the client’s mobile device. IDFA for iOS, Google Advertising ID for Android:
 
This is the advertiser ID for the client’s mobile device. IDFA for iOS, Google Advertising ID for Android:
 
* devid,<IDFA>
 
* devid,<IDFA>
 
* devid,<IFA>
 
* devid,<IFA>
 
* devid,<Google Advertising ID>
 
* devid,<Google Advertising ID>
<blockquote>'''Note''': For Android devices, the Google Advertiser ID should be used as the default and the Android ID as the second option.
 
 
'''Note''': 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.</blockquote>
 
  
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).
+
==== Notes ====
 +
For Android devices, the Google Advertiser ID should be used as the default and the Android ID as the second option.<br>
  
 +
* 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.</blockquote>
 +
* 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).
 
<blockquote>'' "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."</blockquote>
 
<blockquote>'' "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."</blockquote>
 
+
* 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.
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 ===
 
=== Privacy, Ad Tracking, and Ad Targeting ===
Line 80: Line 145:
 
For additional clarification on privacy policy, please contact your Nielsen representative.
 
For additional clarification on privacy policy, please contact your Nielsen representative.
  
== C10 - Platform ==
+
== 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.
 
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.
  
Line 86: Line 151:
 
* plt,MBL
 
* plt,MBL
 
* plt,DSK
 
* plt,DSK
<blockquote>'''Note''': If one of the above values cannot be specific, then the parameter should not be included in the call or
+
* plt,OTT
should be left empty.</blockquote>
+
==== 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) ==
 
== C12 - App Version (Optional) ==
Line 111: Line 179:
 
The absence of uoo in the tag is interpreted as an implicit opt-in. i.e. not opting out.
 
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.
+
The following pairings of opt-out are supported. '''Important:''' you must choose one set of paired values only and inform your Nielsen representative.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 124: Line 192:
 
<blockquote>'''Note''':  if your Ad server is not capable os supporting the discrete &uoo parameter then you can set the c9 value to <code>devid,optout</code> (for example <code>…&c8=PHN&c9=devid,optout&c10=MBL…</code>)</blockquote>
 
<blockquote>'''Note''':  if your Ad server is not capable os supporting the discrete &uoo parameter then you can set the c9 value to <code>devid,optout</code> (for example <code>…&c8=PHN&c9=devid,optout&c10=MBL…</code>)</blockquote>
  
== Examples of DAR and mDAR Tags ==
+
== Server-Side Tag Dispatch ==
For each of the tag examples detailed below, we can support both unsecure (http) and secure (https) flavors.
+
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.
  
'''Important note''': the values in the following tags are for illustrative purposes only. Please contact your Nielsen representative for specific parameter values for your use of DAR.
+
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.
  
'''Test and Certification'''
+
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:
* <code><nowiki>http://secure-cert.imrworldwide.com</nowiki>/cgi-bin/m?ci=nlsnci535<wbr />&am=3<wbr />&at=view<wbr />&rt=banner<wbr />&st=image<wbr />&ca=nlsn12452<wbr />&cr=crtve<wbr />&pc=%3cclientname%3e_plc0001<wbr />&ce=%3cclientname%3e<wbr />&c7=osgrp</code>
 
  
'''Production'''
+
#'''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.
* <code><nowiki>http://secure-gl.imrworldwide.com</nowiki>/cgibin/m?ci=nlsnci535<wbr />&am=3<wbr />&at=view<wbr />&rt=banner<wbr />&st=image<wbr />&ca=nlsn12452<wbr />&cr=crtve<wbr />&pc=<clientname>_plc0001<wbr />&ce=<clientname><wbr />&c7=osgrp,IOS<wbr />&c8=devgrp,TAB<wbr />&c9=devid,XXXX-XX-XXXXX-XXXX<wbr />&c10=plt,MBL <wbr />&c12=apv,AppVersion<wbr />&c13=asid,NIELSEN-PROVIDEDID<wbr />&c14=osver,7.0.4<wbr />&uoo=1<wbr />&r=[timestamp]</code>
+
#'''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.
 +
#'''TLS:''' the tag received by Nielsen must be TLS v1.2 compliant or greater.
  
'''Standard DAR tag (for information and completeness)'''
+
==== Important notes ====
* <code><nowiki>http://secure-gl.imrworldwide.com</nowiki>/cgi-bin/m?ci=nlsnci535<wbr />&am=3<wbr />&at=view<wbr />&rt=banner<wbr />&st=image<wbr />&ca=nlsn12452<wbr />&cr=crtve<wbr />&pc=%3cclientname%3e_plc0001<wbr />&ce=%3cclientname%3e<wbr />&uoo=1<wbr />&r=%5btimestamp</code>
+
* 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 ==
 
== 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).
 
In the below examples, you will see the overall DAR flow (Figure 1) and a detailed illustrative Ad Request / Response model (Figure 2).
 +
  
 
<div align="center">'''Figure 1 – End to End Data Flow'''</div>
 
<div align="center">'''Figure 1 – End to End Data Flow'''</div>
  
[[File:mDAR_Dataflow.png|center]]
+
[[File:mDAR_Dataflow.png|center|link=]]
  
 
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.  
 
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.  
<syntaxhighlight lang="url">'''&c7'''=osgrp,IOS'''&c8'''=devgrp,PHN'''&c9'''=devid,XXXX-XX-XXXXXXXXX'''&c10'''=plt,MBL'''&c12'''=apv,AppVersion'''&c13'''=asid,XXXX-XX-XXXX-XXXX</syntaxhighlight>
+
 
 +
<blockquote><code>'''&c7'''=osgrp,IOS'''&c8'''=devgrp,PHN'''&c9'''=devid,XXXX-XX-XXXXXXXXX'''&c10'''=plt,MBL'''&c12'''=apv,AppVersion'''&c13'''=asid,XXXX-XX-XXXX-XXXX</code></blockquote>
  
  
 
<div align="center">'''Figure 2 – Illustrative Ad Request / Ad Response'''</div>
 
<div align="center">'''Figure 2 – Illustrative Ad Request / Ad Response'''</div>
  
[[File:ad_response.png|center]]
+
[[File:ad_response.png|center|link=]]
  
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 below. Steps 3 and 4 in figure 1 is a summary of steps 3 through 9 in figure 2 below.
+
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 ==
 
== Appendix B: Implementation, Testing & Certification ==
Line 159: Line 233:
  
 
The overall process is:
 
The overall process is:
# Valid DAR contract or NDA is in place.
+
* Valid DAR contract or NDA is in place.
# Kick-off meeting with Nielsen onboarding team.
+
* Kick-off meeting with Nielsen onboarding team.
# Confirm meet minimums testing requriements:
+
* Confirm meet minimums testing requirements:
## Host Ad/Tag for in-app delivery
+
** Host Ad/Tag for in-app delivery
## Can pass opt-out back to Nielsen
+
** Can pass opt-out back to Nielsen
## Can pass Device ID in cleartext or SHA-256
+
** 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
+
* Nielsen provides the mDAR testing form that includes the test App ID and the test tag
# Implement the specification and provide Nielsen the completed testing form.
+
* Identify the live campaigns for initial testing and run the test tag; suggest 5,000-10,000 impressions.
# 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.
# 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.
## Goal is to test that all minimum requirements in step 3 are confirmed passed to Nielsen with no issues.
+
* Identify another live campaigns for production testing with production tag and app ID.
# Ensure contracts are in place for external test campaign with Nielsen Client Service team.
+
* Nielsen validates the data received from the final test and confirms certification for any DAR countries tested.
# Identify another live campaigns for production testing with production tag and app ID.
+
==== Goals ====
# Nielsen validates the data received from the final test and confirms certification for any DAR countries tested.
+
* To test in full DAR E2E environment, receive matches from data provider for demographics and correct identification of mobile impressions.
## Goal 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.

Revision as of 18:38, 4 October 2021

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,PHN&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 requirements:
    • 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 initial 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.