DAR Mobile Attributes Requirements
From Engineering Client Portal
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.
- Google Advertising ID (AAID) for Android
- Apple's Identifier for Advertisers (IDFA) for iOS
- Identifier for Advertising (IFA) for OTT
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)
//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)
//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=0&r=<timestamp>
Hashed Email DAR Tag (cookie/AAID/IDFA/IFA based persons identification
http://secure-gl.imrworldwide.com/cgi
bin/m?ci=nlsnci535&am=3&at=view&rt=banner&st=image&ca=nlsn13134&cr=crtve&pc=<placementid>_plc0001&ce=<siteid>&c7=osgrp,I OS&c8=devgrp,TAB&c9=devid,XXXX-XX-XXXXX-XXXX &c10=plt,MBL&c12=apv,<appVersion>&c13=asid,NIELSEN-PROVIDED ID&c14=osver,7.0.4&hem_sha256=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&uoo=0&r==<timestamp>
Additional DAR Tag Parameters for Mobile |
Example | Description | Mandatory parameter for mDAR? |
---|---|---|---|
&c7 | &c7=osgrp,IOS | OS Grouping | |
&c8 | &c8=devgrp,PHN | Device Grouping | ✔ |
&c9 | &c9=devid,CB6E9220-EA64-440B-9456-33AD2294C658 | Advertising ID | ✔ |
&c10 | &c10=plt,MBL | Platform | ✔ |
&c12 | &c12=apv,1 | App Version | |
&c13 | c13=asid,DD8136-4F0B-470B-9ACA-231E818D95BC | AppID (Nielsen assigned App ID) | ✔ |
&c14 | &c14=osver,15.1.3 | OS Version | |
&uoo | &uoo=0 | Opt-out indicator | ✔ |
&hem_sha256 | 64-character hashed email | SHA256 Hashed Email | |
&hem_unknown | Unknown Hashed Algorithm Email | ||
&hem_sha1 | 40-character hashed email | SHA1 Hashed Email | |
&hem_md5 | 32-character hashed email | MD5 Hashed Email |
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
- devgrp,AMN ← Amazon Fire TV
- devgrp,APL ← Apple TV
- devgrp,PSX ← PlayStation
- devgrp,RKU ← Roku
- devgrp,XBX ← Xbox
- devgrp,GGL ← Chromecast
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>
Below are the supported hash methods for the devid value: | |
---|---|
Clear Text | c9=devid,CB6E9220-EA64-440B-9456-33AD2294C658 |
sha256 | c9=devid,136844f58ab7f7e991ea4b5150ec767c9327e1391c839a3b3612d418ae875391 |
Sha1 | c9=devid,a08039967f4817ada4a7f331369eea522ad415a7 |
md5 | c9=devid,53d8c474c1e871bdd34f14785dbcfd94 |
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
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…
)
Additional Parameters
This section describes several important additional parameters that the DAR tag can support, specifically Hashed Email, and UID2 values. Please note that all parameters are case-sensitive.
Please work with your Nielsen Technical Account Manager to decide which of the following parameters to append to the standard DAR tag.
HEM Support (Hashed Email)
Please use the parameter that matches your hashing algorithm. For example, if you are using sha256 to encode the email address, then use hem_sha256={encrypted_value_here}
Name | Description | Available Tag Parameters |
---|---|---|
Hashed Email | User’s email address that has been run through the sha256, sha1 or md5 hashing algorithm to create a unique hexadecimal string. If a client is unable to determine hashing type, they should pass using &hem_unknown parameter. |
&hem_unknown &hem_sha256 &hem_md5 &hem_sha1 |
Example |
---|
hem_sha256=tMmiiTI7IaAcPpQPFQ65uMVCWH8av9jw4cwf/F5HVRQ= |
Unified ID
Name | Description | Available Tag Parameters |
---|---|---|
Unified ID 2.0 | An identifier based on a user’s verifiable PII (e.g. hashed email). UID2.0 was initially created by The Trade Desk (TTD) and is now managed by Prebid. |
&uid2 |
Unified ID 2.0 Token | Encrypted Unified ID 2.0 | &uid_token |
Example |
---|
uid2=MTKVpUAzwYAPnHrtfE0wlINOMzhU7UUEjjVdCdRu63k= uid_token=AgAAAAPFR0zA5ogv/yaAPiUsAdZPsfqS8QlDSGxAB+rr8yekFs3AjLYVk5qqqiyV2XHbSuwzHmxSlLeQeKQI1mp015jsNnpX5 /xGgXldcgVz+gFnyh3T8/3agMwRmyrhCxG4oH2C7fc48AQk2eotE7FW0ZDEYM8fD9ZxDaxFUC/OV3OuZA& |
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:
HTTP Headers | Descriptions |
---|---|
X-Forwarded-For (XFF) IP | The originating client IP address for the device where the user was exposed to the creative. Note: when the impression/tag is fired directly from the ad server, the X-Real-IP will be the ad server IP.
Example: XX.XXX.XXX.XXX |
X-Device-User-Agent | The originating client user-agent for the device where the user was exposed to the creative. Note: optional but strongly recommended. Also mandated by the VAST 4.0 standard.
Example: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36 |
X-Device-Referer | The originating client Referer header value for the device where the user was exposed to the creative. Note: optional but strongly recommended. Also mandated by the VAST 4.0, 4.1, and 4.2 standards.
Example: https://example.com/page?q=123 |
X-Device-Accept-Language | The originating client Accept-Language header value for the device where the user was exposed to the creative. Note: optional but strongly recommended.
Example: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5 |
X-Traf-Provider ID | Identifies the SSAI provider where the solution is based on Ad-Stitching. This is a Nielsen-supplied value. Only used by Nielsen to support accurate invalid traffic detection.
Example: x9xxf15xx054xx415718767xx6 |
X-Traf-CID | A value unique to each user/person exposed. Only used by Nielsen to support accurate invalid traffic detection. Example: 83x3x005572818x17211x09x5x |
URL Parameters | Descriptions |
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. |
Impression ID (&impid) | Unique user ID generated once per session.
Example: &impid=12x4x678x012x456x89x123x56 |
- 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.
- 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.
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 2nd 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).
![mDAR Dataflow.png](https://mywikis-wiki-media.s3.us-central-1.wasabisys.com/nielsen/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
![ad response.png](https://mywikis-wiki-media.s3.us-central-1.wasabisys.com/nielsen/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.