Difference between revisions of "DAR Tag Implementation Guide"

From Engineering Client Portal

m (ColinBrown moved page DAR Browser Implementation to DAR Tag Implementation Guide without leaving a redirect: Changed paged name to better represent content)
Line 3: Line 3:
  
  
== Overview ==
+
= Introduction =
  
=== Background: Nielsen Digital Ad Ratings ===
+
This document provides an overview of the Nielsen Digital Ad Ratings (DAR) Tags and the steps necessary to implement them as part of your digital advertising campaigns.
Nielsen Digital Ad Ratings is a measurement platform for online advertising campaigns. The platform provides a clear view of the true audience of a campaign, including Reach, Frequency, and GRP statistics by audience demographic group.  
+
=== What is DAR ===
 
+
DAR is a measurement platform for digital advertising campaigns. The platform provides a clear view of the true audience of a campaign, including Reach, Frequency, and GRP statistics by audience demographic group.  
The diagram below summarizes how the Nielsen tag measures the ad campaign:
+
=== What we measure===
 
+
All DAR tags allow you to measure campaign impressions and the DAR JavaScript tags measure ad viewability, GIVT (General Invalid Traffic), and SIVT (Sophisticated Invalid Traffic) across platforms including web, mobile, and in-app.
* Advertiser places ads on one or more websites
+
=== How we measure it===
* Website displays ad to a user
+
Nielsen’s DAR suite of JavaScript tags together with a pixel tag fallback will be present in your ad placements. We utilize industry-standard APIs to perform measurement cross-browser and cross-platform. In most cases, you will only need to add a simple URL through your ad management interface to fully utilize DAR measurement in your campaigns.
* Nielsen tag counts impressions
+
=== Prerequisites ===
 
+
For steps outlined in this document, you should have access to Nielsen’s Campaign Management Interface (CMI) and a Nielsen Technical Account Manager (TAM) will be working with you during the implementation phase.
[[File:DAR-Main-Image2.jpg|center|900px]]
+
__TOC__
 
+
= DAR Measurement Types =
=== Support for Other Nielsen Ad Effectiveness Products ===
 
 
 
The tag used for Nielsen Digital Ad Ratings is compatible for all Nielsen Ad Effectiveness products, including (but not limited to) Brand Effect Extended View, Response Effect, and Sales Effect.
 
  
=== User Experience ===
+
== DAR Display==  
  
The tags described in this document are used only to measure audience exposure to advertisements; they do not launch a survey, and have no impact on the user experience. Typical response time for the tag is on par with industry standards and because the code executed is simple and fires after the ad loads, they are transparent to the user.
+
The DAR Display JavaScript tag reports ad impressions as well as measures ad viewability and SIVT. In standard web placements, it will find the ad unit in the surrounding DOM container and will then report viewability as a time series with a 1-second resolution.
  
For further information on survey-based products, or any other products, please contact your Client Services Manager.
+
The DAR tag will report the MRC-required minimum of 1 second on screen and a continuous viewability time series for the lifetime of the ad session to enable additional viewability qualifiers.
__TOC__
 
  
== Available Tag Versions ==
+
The tag can utilize the IAB’s [https://iabtechlab.com/standards/open-measurement-sdk/ '''Open Measurement SDK'''] (OM SDK) including [https://iabtechlab.com/blog/open-measurement-for-web-video-arrives/ '''OM Web'''] integration if the OM Interface Definition (OMID) is available, or it will use industry-standard web APIs to measure viewability.
  
The Nielsen Digital Ad Ratings system offers three basic types of ad tags
+
=== Requirements ===
  
* '''Pixel Tag'''
+
The DAR Display tag requires a JavaScript-enabled browser for web environments or the OM SDK for in-app to operate and should be placed close to the corresponding measured ad unit. It should be on the same DOM level (e.g. directly under the same parent) or in a child node under the same parent node. The ad unit should be a content-bearing DOM element (e.g. img, canvas, SVG, iframe, div) with a minimum size of 30x30 pixels.
This is the simplest version of the tag, generally for use by clients who cannot accept JavaScript format tags or have limited options for implementation. It includes encryption, but does not utilize referrer masking.
 
  
* '''JavaScript Display Tag'''
+
=== Parameters ===
This tag provides impression measurement similar to the pixel tag, but in addition also performs Viewability measurement. It uses Nielsen's proprietary methods to detect the ad unit and to measure ad viewability and can also utilize an existing OM SDK integration for measurement and reporting. It works in web contexts and in-app ad containers.
 
  
* '''JavaScript Video Tags'''  
+
The minimum required DAR parameters are '''ca, ci, cr, pc, ce''' and '''am'''. See the [[DAR_Tag_Implementation_Guide#Appendix|'''Appendix''']] for a full list of parameters.
Nielsen's video tag can be utilized via our vWrap service and can be used in both VPAID and OMID environments. It supports OMID in-app and OM Web integrations and provides impression and viewability measurement. For VPAID, it can either wrap an existing VPAID player or can act as its own VPAID ad unit with the MP4s in the VAST file.
 
  
=== Tag Examples ===
+
=== Example Tag ===
 
 
<br>
 
'''IMAGE Pixel Tag''' (Static example)
 
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
<img src="http://secure-gl.imrworldwide.com/cgi-bim/m?ci=entXXXX&at=view&rt=banner&am=3
+
<script type="text/javascript"  
&ca=cmpXXXX&cr=&pc=plcXXXX&r=[timestamp]"
+
src="https://dar.imrworldwide.com/js/dar.js?ca=nlsnXXXXXX&cr={AD.ID}&ce={PUBLISHER.ID}&ci=nlsnciXXXX&pc={PLACEMENT.ID}&am=3">
width="1" height="1" alt=""/>
 
</syntaxhighlight>
 
<blockquote>* Currently available in CMI </blockquote>
 
 
 
'''IMAGE Pixel Tag''' (Macro example)
 
<syntaxhighlight lang="javascript">
 
<script type="text/javascript"
 
src="http://secure-gl.imrworldwide.com/cgi-bin/m?ci=entXXXX&am=1&mr=1&ty=js
 
&at=view&rt=banner&ep=1&ca=%ebuy!&cr=%ecid!&pc=%epid!&r=[timestamp]">
 
 
</script>
 
</script>
 
</syntaxhighlight>
 
</syntaxhighlight>
<blockquote>* Currently available in CMI </blockquote>
 
  
'''JavaScript Display Tag'''
+
=== Example OMID Display Placement ===
<syntaxhighlight lang="javascript">
 
<script type="text/javascript" src="https://dar.imrworldwide.com/js/dar.js?ca=nlsnXXXXXX
 
&cr={{AD.ID}}&ce={{PUBLISHER.ID}}&ci=nlsnciXXXX&pc={{PLACEMENT.ID}}&am=3&gdpr=${GDPR}
 
&gdpr_consent=${GDPR_CONSENT_812}"></script>
 
</syntaxhighlight>
 
<blockquote>* Currently available in CMI </blockquote>
 
  
'''JavaScript Video Tag vWrap URL'''
+
DAR can be enabled through the OM SDK by passing the required Nielsen OM inputs listed in the table below during setup:
<syntaxhighlight lang="html">
 
https://vwrap.imrworldwide.com/v1/wrap?ca=nlsnxxxxxx&cr=AD.ID&ce=PUBLISHER.ID&
 
pc=PLACEMENT.ID&ci=nlsncixxxx&am=4&autop=(value)&autof=(value)&vastURL=[original-VAST-URL]
 
</syntaxhighlight>
 
<blockquote>** Please reach out to your TAM for this implementation</blockquote>
 
  
'''JavaScript Video Tag vWrap URL - Mobile'''
+
{| class="wikitable"
<syntaxhighlight lang="html">
+
|-
https://vwrap.imrworldwide.com/v1/wrap?ca=nlsnXXXXXX&cr={{AD.ID}}&ce={{PUBLISHER.ID}}&
+
! style="width: 20%" | OM Parameter
pc={{PLACEMENT.ID}}&ci=nlsnciXXXX&am=4&c9={{devid,Advertising_ID}}&c13={{asid,app_id}}
+
! style="width: 40%" | Description
&apiframework={{APIFRAMEWORK}}&vastURL={{ORIGINAL_VAST_URL}}
+
! style="width: 40%" | Nielsen Value
</syntaxhighlight>
+
! style="width: 5%" |Required
<blockquote>** Please reach out to your TAM for this implementation</blockquote>
+
|-
 +
| Vendor Key
 +
| ID for measurement provider
 +
| nielsen.com-omid
 +
| ✔
 +
|-
 +
| JavaScript Resource URL
 +
| URL for measurement provider’s verification script
 +
|<syntaxhighlight lang="html"> https://dar.imrworldwide.com/js/dar.js</syntaxhighlight>
 +
| ✔
 +
|-
 +
| Verification Parameters
 +
| Measurement provider’s verification tag parameters
 +
| style="font-family:'Courier New', Courier, monospace !important; color:#222222;" |<syntaxhighlight lang="html">ca=nlsnXXXXXX&cr={AD.ID}&ce=publisherXXXX&ci=nlsnciXXXX&pc=placementID_XXXX1&am=3</syntaxhighlight>
 +
| ✔
 +
|-
 +
| Verification Not Executed URL
 +
| Error URL when the ad player denies measurement script execution
 +
| style="font-family:'Courier New', Courier, monospace !important; color:#222222;" | <syntaxhighlight lang="html">https://events.imrworldwide.com/er?ercd=8800&erms=verificationNotExecuted-
 +
{reason}&ca=nlsnXXXXXX&cr=ad_ID_XXXX&ce=publisherXXXX&
 +
ci=nlsnciXXXX&pc=placementID_XXXX5&am=3
 +
&c13={asid,app_id}</syntaxhighlight>
 +
|
  
The Nielsen Digital Ad Ratings system also features the ability to record Viewability information such as: How long an Ad has been visible on the screen, and what portion on the Ad. This is an additional feature that can be purchased from your Nielsen Client Services Representative.
+
|}
  
Viewability for display ads can ONLY be offered through the JavaScript tags.
+
<blockquote>
 +
Note: The verificationNotExecuted Error URL is recommended for better troubleshooting during campaign setup. If your system can provide a macro for the reason of the interrupted measurement session, it can be added in place of the {reason} placeholder in the error URL. This can be an error code or a clear text error message.</blockquote>
  
<blockquote>The above tags are just examples and should not be placed in any live site or ad server. You will be provided with tags specifically designed for your media plan/campaign or be able to download tags after creation in CMI (Campaign Management Interface)</blockquote>
+
=== Expected Display Ad Session Pings ===
 
+
{| class="wikitable"
== DAR Pixel Tag Parameters ==
 
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"
+
! '''Description'''
 +
! '''Timing'''
 +
! '''Path'''
 
|-
 
|-
! Tag Parameter
+
| DAR Main Ping
! Description
+
| At initial load
 +
| secure-gl.imrworldwide.com/cgi-bin/m
 
|-
 
|-
| CI
+
| Nielsen Measure Ping
| 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
+
| Measurement start
|- style="background-color:#eff8ef;"
+
| events.imrworldwide.com/nmp
| 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
+
| Primary Standard Ping
| 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
+
| After 1 second of viewable duration (may not occur based on MRC rules)
|- style="background-color:#eff8ef;"
+
| events.imrworldwide.com/psp
| 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
+
| Timed Pings
| 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
+
| At 1, 5, 15 and 120 seconds of ad session time (may not occur based on ad session length)
|- style="background-color:#eff8ef;"
+
| events.imrworldwide.com/1sp, 5sp, 15sp, 120sp
| 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
+
| Final Ping
| Cachebuster (web): timestamp / random number. Generated by ad server
+
| At window/tab unloading event
|- style="background-color:#eff8ef;"
+
| events.imrworldwide.com/fp
| AT
 
| Fixed value: “view”
 
 
|-
 
|-
| RT
+
| Error Ping
| Fixed value: “banner”
+
| Potential integration error - please contact your Nielsen representative
|- style="background-color:#eff8ef;"
+
| events.imrworldwide.com/er
| ST
 
| Fixed value: “image”
 
 
|}
 
|}
<blockquote> Do not URL encode the values</blockquote>
 
 
== Additional Parameters ==
 
In this section we describe the additional parameters that the DAR tag can support, specifically Hashed Email, UID2 values, along with Page URL and Bundle Identifier if available.  Please work with your Nielsen Technical Account Manager on deciding which of the following parameters to append to the standard DAR tag. 
 
  
'''Web Browser DAR tag (cookie based persons identification)'''
+
=== Ping Flow ===
  
[https://secure-gl.imrworldwide.com/cgi-bin/m?ci=nlsnci535&am=3&at=view&rt=banner&st=image&ca=nlsn12452&cr=crtve&pc=nlsn_plc0001&ce=000&r=34245454 https://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>]
+
This flow illustrates the behavior of the DAR Display tag.<br />
  
'''Web Browser PLUS tag'''
+
[[File:Screenshot 2022-06-22 152646.png]]
  
[http://secure-gl.imrworldwide.com/cgi-bin/m?ci=nlsnci535&am=3&at=view&rt=banner&st=image&ca=nlsn12452&cr=crtve&pc=554554_plc0001&ce=0000 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=0000]&hem_sha256=<value>&uid2=<value>&uid_token=<value>&si=<value>c68=bndlid,com.tam.nielsen.com
 
 
=== HEM Support (Hashed Email) ===
 
 
{| class="wikitable"  
 
{| class="wikitable"  
 
|-  
 
|-  
! NAME
+
! colspan="2" | Ping Flow Legend
! DESCRIPTION
+
|-
! AVAILABLE TAG PARAMETERS
+
| 1SP, 5SP, 15SP, 120SP
|-
+
| Timed Measure Ping at 1, 5, 15 and 120 seconds
|  style="width: 15%"| Hashed Email
+
|-
| User’s email address that has been run through a hashing algorithm (e.g. SHA256, MD5, SHA1) </br> to create a unique 32-character hexadecimal string. If a client is unable to determine hashing type, they should pass using &hem_unknown parameter.
+
| D0, D1, D2
|style="width: 20%"|<code>&hem_unknown</code></br><code>&hem_sha256</code></br><code>&hem_md5</code></br><code>&hem_sha1</code>
+
| Dynamic SIVT Pings at 1, 15 &amp; 30 seconds
|}
+
|-
 
+
| FP
<blockquote>Please use the parameter that matches your hashing algorithm.<br> For example, if you are using sha256 to encode the email address, then use <code>hem_sha256={encrypted_value_here}</code>
+
| Final Ping
</blockquote>
 
Example:
 
<syntaxhighlight lang="javascript">
 
hem_sha256=tMmiiTI7IaAcPpQPFQ65uMVCWH8av9jw4cwf/F5HVRQ=
 
</syntaxhighlight>
 
 
 
=== Unified ID ===
 
{| class="wikitable"
 
 
|-  
 
|-  
! NAME
+
| IMPID
! DESCRIPTION
+
| Unique Impression ID
! AVAILABLE TAG PARAMETERS
 
|-
 
|  style="width: 15%"| 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)</br> and is now managed by Prebid.
 
| <code>&uid2</code>
 
|-
 
| Unified ID 2.0 Token
 
| Encrypted Unified ID 2.0
 
| <code>&uid_token</code>
 
|}
 
 
 
Example:
 
<syntaxhighlight lang="javascript">
 
uid2=MTKVpUAzwYAPnHrtfE0wlINOMzhU7UUEjjVdCdRu63k=
 
uid_token=AgAAAAPFR0zA5ogv/yaAPiUsAdZPsfqS8QlDSGxAB+rr8yekFs3AjLYVk5qqqiyV2XHbSuwzHmxSlLeQeKQI1mp015jsNnpX5/xGgXldcgVz+gFnyh3T8/3agMwRmyrhCxG4oH2C7
 
fc48AQk2eotE7FW0ZDEYM8fD9ZxDaxFUC/OV3OuZA&
 
</syntaxhighlight>
 
 
 
=== Page and Bundle ===
 
{| class="wikitable"
 
 
|-  
 
|-  
! NAME
+
| NMP
! DESCRIPTION
+
| Nielsen Main Measure Ping
! AVAILABLE TAG PARAMETERS
 
 
|-
 
|-
| style="width: 15%"|Page URL
+
| PSP
|  style="width: 65%"| Canonical URL of the content where the Ad creative is served. (e.g. https://example.com/news/tech/article.html) The parameter value has to be encoded with JavaScript’s encodeURIComponent() method or equivalent. <br />Example: si=https%3A%2F%2Fexample.com%2Fnews%2Ftech%2Farticle.html
+
| Primary Standard Ping
| <code>&si</code>
 
 
|-
 
|-
| App Bundle ID
+
| SIVT
| The app’s unique bundle ID (e.g. com.example.myapp). The ID can be used to look up the App in Apple’s App Store</br> or the Google Play Store. References:https://developer.android.com/studio/build/application-idhttps://developer.apple.com/documentation/appstoreconnectapi/bundle_ids
+
| Sophisticated Invalid Traffic
| <code>&c68=bndlid,</code>
 
 
|}
 
|}
  
Example:
+
== DAR Video ==
<syntaxhighlight>
 
si=https%3A%2F%2Fexample.com%2Fnews%2Ftech%2Farticle.html
 
c68=bndlid,com.tam.nielsen.com
 
</syntaxhighlight>
 
  
== Supported Creative Types ==
+
The DAR Video tag will typically be trafficked as part of a Video Ad Serving Template (VAST) file. Nielsen provides its wrapped video tag (vWrap) to make this type of deployment easy and consistent across the various ad servers and trafficking options. Nielsen’s vWrap tag supports both automatic OMID and VPAID integration with existing VAST files. The two sections below, [[#Wrapped_Video_Tag_.28vWrap.29_Deployment|'''Wrapped Video Tag''']] and [[#Video_JS_Tag|'''Video JS Tag''']], describe these options and their expected outcomes.
  
For consistency, Nielsen recommends tagging as much of the campaign creative types as possible, including site-served elements. '''Note:''' Nielsen may need to review/test on a case-by-case basis.
+
In addition, Nielsen supports '''direct DAR Video tag deployments''' with manual integration in existing workflows. In this case, the section [[#video-js-tag|'''Video JS Tag''']] below describes the basic setup and expected results. In addition, it is recommended that you work closely with your Nielsen Technical Account Manager if you consider a manual tag integration with your campaigns.
  
Nielsen Digital Ad Ratings supports banner ads, rich media and video units that are capable of being tagged with a 3rd party tracking pixel.
+
=== Wrapped Video Tag (vWrap) Deployment ===
<blockquote>Some examples of non-standard campaign items that may be tagged include:
 
* microsite pages
 
* site “skins’”
 
* online mini-games
 
* streaming video
 
* pre-roll video banners
 
</blockquote>
 
Most often, these items will need to be site served and our pixel will need to be provided to the site to implement directly.
 
<blockquote>The following are items not tagged:
 
* click command/text links
 
* default/backup ads in a 3rd party ad server
 
* static ‘logo’ creatives
 
</blockquote>
 
  
Digital Ad Ratings Viewability Solution: All standard ad units listed under [http://www.iab.net/displayguidelines Universal Ad Package (UAP)] on are supported for Viewability.
+
Nielsen’s wrapped DAR video tag, vWrap, is the preferred delivery method for VAST-controlled video ad placements.The vWrap tag is served by a Nielsen service that takes an original VAST with an inline ad (not a wrapper redirect) and dynamically adds the DAR Video tag with measurement solutions for VPAID and OMID. The '''apiframework''' parameter can be used to control which measurement solution will be inserted (see below).
  
Placements and sites that cannot support JavaScript cannot support Viewability.
+
=== Parameters ===
  
== Share Your Delivered Impressions ==
+
The minimum required DAR parameters are '''ca, ci, ce, cr, pc''', '''am, apiframework''' and '''vastURL'''. See the [[DAR_Tag_Implementation_Guide#Appendix|'''Appendix''']] for a full list of parameters.
  
=== Why the Media Plan is Needed ===
+
The Open Real Time Bidding ([https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_FINAL.pdf '''OpenRTB''']) API framework values for identifying the ad inventory type should be passed in the Nielsen '''apiframework''' parameter. The values should be either 1 or 2 (VPAID) or 7 or 8 (OMID). The available API framework values are listed in the IAB’s [https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--api-frameworks- '''AdCOM specification 1.0''']. If the parameter is left blank or set to 0, Wrap will add the DAR Video tag as '''both''' an OMID verification client and VPAID wrapper. See more details in the [[DAR_Tag_Implementation_Guide#Appendix|'''Appendix''']].
  
Knowing the delivered impressions also helps Nielsen run automated QA checks, for example triggering alerts when data does not appear for a placement on an expected date. This ensures overall quality, and reduces errors in the tagging process.
+
The '''vastURL''' parameter must be the last parameter on the DAR tag with its value set as the full URL (including all original parameters) of the original VAST tag for the ad placement.
  
It is the responsibility of the client to send Nielsen an impression delivery report, generally known as the “ad server report.” Nielsen can provide the client with a template with the inputs required to complete the quality checks. If the client does not send these reports, Nielsen will not be able to complete the quality checks. Below are instructions on how to send these reports to Nielsen.
+
=== Example Wrapped Video Tag (vWrap) ===
 
+
{| class="wikitable" style="font-family:'Courier New', Courier, monospace !important;"
=== How to Share Your Delivered impressions ===
+
|-
 
+
! <syntaxhighlight lang="html"> https://vwrap.imrworldwide.com/v1/wrap?ca=nlsnXXXXXX&cr={AD.ID}&ce={PUBLISHER.ID}&pc={PLACEMENT.ID}&ci=nlsnciXXXX&am=4&
Set up an automated daily report from your ad server containing Site Name, Site ID, Placement Name, Placement ID, and data date.
+
c9={devid,Advertising_ID}&c13=asid,app_id}&apiframework={APIFRAMEWORK}&vastURL={ORIGINAL_VAST_URL}</syntaxhighlight>
 
+
|}
A secondary method to share your media plan information is to grant Nielsen “Reporting access” to your campaign in the designated ad server (such as DCM). To do this, simply grant the login [http://mailto:clientreporting@nielsen.com clientreporting@nielsen.com] access. In doing so Nielsen can directly access your media plan information, which enables us to check for updates, and reconcile any<br />
+
<blockquote>
discrepancies.
+
To observe how vWrap operates, we have provided some example VAST URLs which you can load directly in your browser.
 
 
<blockquote>Please note that Nielsen is currently in discussions with several leading Ad Servers regarding direct integration between Nielsen and the ad server platforms. Once completed this could someday enable Nielsen to retrieve Media Plans on a completed automated basis.
 
 
</blockquote>
 
</blockquote>
 +
==== VAST ad Unit, no Impression/Viewability ====
 +
First, here is a VAST ad unit with a single video file and no impression tracking or viewability measurement:
 +
{| class="wikitable"
 +
|-
 +
! https://madimator.com/vast-examples/example_video_only_nielsen_15s.xml
 +
|}
 +
==== VAST ad Unit, Nielsen vWrap for OMID measurement ====
 +
This is the same VAST file loaded via Nielsen’s vWrap tag for '''OMID measurement''' (apiframework is set to 7):
 +
{| class="wikitable"
 +
|-
 +
! https://vwrap.imrworldwide.com/v1/wrap?ca=nlsn305255&cr=nielsenomidtest&ce=nielsen&pc=vastomid&ci=nlsntest&am=4&apiframework=7&vastURL=http://madimator.com/vast-examples/example_video_only_nielsen_15s.xml
 +
|}
  
== Apply the Tag ==
+
==== VAST ad Unit, Nielsen vWrap for VPAID measurement ====
=== Tag Generation===
+
And here is the same VAST with the vWrap tag configured for '''VPAID measurement''' (apiframework is set to 2):
 +
{| class="wikitable"
 +
|-
 +
!https://vwrap.imrworldwide.com/v1/wrap?ca=nlsn305255&cr=nielsenomidtest&ce=nielsen&pc=vastvpaid&ci=nlsntest&am=4&apiframework=2&vastURL=http://madimator.com/vast-examples/example_video_only_nielsen_15s.xml
 +
|}
  
Your Nielsen representative will walk you through the Campaign Management Interface so that you can download tags at will at any point in the campaign.
+
=== Video JS Tag ===
  
Nielsen supports macro-based tag generation for several major ad servers. Nielsen’s Technical Account Manager (TAM) can assist you in leveraging macro-based tags.
+
The DAR Video tag supports both OM SDK and VPAID video ad measurement and provides viewability time series, audio volume time series, GIVT, and SIVT data. The time series contains playhead events with corresponding measurements at a 1-second resolution. In addition to the time series, a dedicated ping will report on the MRC-required minimum of 2 seconds on screen.
  
=== Tag Application ===
+
With OM SDK, the DAR Video tag supports the following ad types:
  
Apply the tag according to the 3rd party tracking pixel specifications of your ad server. If additional guidance is needed, please consult with the Technical Account Manager (TAM) for more specific instructions or recommendations, if available.
+
* Native mobile in-app ad placements
 +
* Mobile web ads
 +
* OM Web placements
 +
* OMID-enabled streaming video players with ad SDKs (for instance DAI IMA SDK)
  
==== Special Note: DAR Pixel Tags for Video ====
 
Nielsen’s recommended “Best Practice” for tagging your video ads is to apply the Digital Ad Ratings tag as close to the beginning of the video as possible and after initiation of the ad stream, when the ad itself begins to appear on the user’s browser, closest to the opportunity to see. To ensure video content initiates during Digital Ad Ratings measurement, tags should always be placed post buffer. Recognizing that it’s not always possible to give the Nielsen pixel priority positioning, please be aware that the placement of the tag should be discussed with the publisher/advertiser counterparty so that both sides agree on the measurement approach.
 
  
==== Special Note: Video Auto-Play and Auto-Refresh ====
+
With VPAID, it supports the following operating modes:
In accordance with MRC requirements, Clients must append “autop” parameter to detect click to play vs auto-play to their video tags. To detect auto-refresh (page refresh), “autof” parameter must be included (not limited to video tags).
+
* As VPAID wrapper for an existing VPAID ad unit in the VAST
 +
* As VPAID ad unit in a VAST with video files and AdParameters node
 +
* In Custom Integrations with VPAID host players
  
<syntaxhighlight lang=javascript>
 
<img src="http://secure-gl.imrworldwide.com/cgi-bim/m?ci=entXXXX&at=view&rt=banner&am=3&ca=cmpXXXX&cr=&pc=plcXXXX&
 
autop=(value)&autof=(value)&r=[timestamp]" width="1" height="1" alt="" />
 
</syntaxhighlight>
 
<br>
 
  
{| class="wikitable"
 
|-
 
| '''autop'''
 
|A value of 1 will be passed when Auto-Play is detected. (e.g. autop=1)<br>A value of 2 will be passed when Click-to-Play is detected. (e.g. autop=2)<br>When no value or parameter is not present, impressions are labeled as Unknown Play.
 
|-
 
| '''autof'''
 
|A value of 1 will be passed when Auto-Refresh is detected. (e.g. autor=1)<br />When no value or parameter is not present, impressions are labeled as Unknown Refresh.
 
|}
 
  
==== Special Note for Video Viewability Implementation ====
+
In most cases, the DAR Video tag should not be manually implemented as a wrapper, instead consider utilizing Nielsen’s vWrap tag.
* Nielsen does not support any Flash based video players for viewability measurement.
 
* The ad and tag must be in the same division (div tag) in order to track Viewability
 
* Video:
 
** VPAID compliant players
 
** HTML5 Players (Flash not supported)
 
** VPAID or mp4 creative
 
** Video player must support VPAID and mp4
 
  
==== Viewability Base URL &amp; Ping Paths ====
+
==== Requirements ====
<code> events.imrworldwide.com/VALUE?... </code>
 
  
==== JavaScript Ping Path Values ====
+
The DAR Video tag needs a JavaScript environment to operate. The video unit to be measured needs to have a size of at least 30x30 pixels. The DAR Video tag requires access to the VPAID ad unit or to an OM SDK API present in the JavaScript context.
  
'''Display Tag:'''
+
==== Parameters ====
* /cgi-bin/m - DAR Main Ping
 
* /imp - Impression Ping
 
* /nmp - Measure Ping
 
* /psp - Primary Standard Ping
 
* /1sp - 1 Second Ping
 
* /5sp - 5 Second Ping
 
* /15sp - 15 Second Ping
 
* /120sp - 120 Second Ping
 
* /fp - Final Ping
 
* /er - Error Ping
 
  
 +
The minimum required DAR parameters are '''ca, ci, ce, cr, pc''' and '''am'''. For VPAID wrapper placements, '''vpaidURL''' is also required.
  
'''Video Tag'''
+
To comply with MRC guidelines, you will be required to append '''autop''' to indicate click-to-play vs auto-play.
* /cgi-bin/m - DAR Main Ping
 
* /imp - Impression Ping
 
* /nmp - Measure Ping
 
* /psp - Primary Standard Ping
 
* /qp - Quarterly Ping (25%/50%/75%/100%)
 
* /fp - Final Ping
 
* /er - Error Ping
 
  
==== Nielsen DAR Tag/VPAID Query Strings ====
+
If the DAR Video tag will act as the VPAID wrapper, '''vpaidURL''' has to be the tag’s last parameter and its value set to the full URL (including parameters) of the original VPAID ad unit.
  
'''Measure Ping'''
+
See the [[DAR_Tag_Implementation_Guide#Appendix|'''Appendix''']] for a full list of parameters.
<syntaxhighlight lang=html>
 
/nmp?impid=VALUE&ca=VALUE&cr=VALUE&pc=VALUE&ci=VALUE&am=VALUE&ce=VALUE&cy=VALUE
 
&at=view&st=image&mr=1&ty=js&rt=banner&meas=VALUE&rend=VALUE&ss=VALUE
 
&vp=VALUE&as=VALUE&al=VALUE&diag=VALUE
 
</syntaxhighlight>
 
  
'''Primary Standard Ping'''
+
==== Expected Video Ad Session Pings ====
<syntaxhighlight lang=html>
 
/psp?impid=VALUE&vs=VALUE
 
</syntaxhighlight>
 
  
'''Quarterly Ping (25%)'''
+
{| class="wikitable"
<syntaxhighlight lang=html>
+
! '''Description'''
/qp?impid=VALUE&qpc=25&src=njs&diag=VALUE
+
! '''Timing'''
</syntaxhighlight>
+
! '''Path'''
 +
|-
 +
| DAR Main Ping
 +
| At initial load
 +
| secure-gl.imrworldwide.com/cgi-bin/m
 +
|-
 +
| Nielsen Measure Ping
 +
| Measurement start
 +
| events.imrworldwide.com/nmp
 +
|-
 +
| Primary Standard Ping
 +
| After 2 seconds of viewable duration (may not occur based on MRC rules)
 +
| events.imrworldwide.com/psp
 +
|-
 +
| Quarterly Ping
 +
| At 25%, 50%, 75% and 100% of video progress
 +
| events.imrworldwide.com/qp
 +
|-
 +
| Final Ping
 +
| At video stop or window/tab unloading event
 +
| events.imrworldwide.com/fp
 +
|-
 +
| Error Ping
 +
| Potential integration error - please contact your Nielsen representative
 +
| events.imrworldwide.com/er
 +
|}
  
'''Finish Ping'''
+
==== Ping Flow ====
<syntaxhighlight lang=html>
 
/fp?impid=VALUE&vs=VALUE&ss=VALUE&vp=VALUE&as=VALUE&al=VALUE&vts=VALUE=&ats=VALUE==&diag=VALUE
 
</syntaxhighlight>
 
  
'''Error Ping'''
+
This flow illustrates the behavior of the DAR Video tag if the impression pixel is part of the VAST to be sent by the ad player and the JS tag has '''&amp;darsup=1'''. The parameter, <code>darsup=1</code>, is used to suppress the DAR Main Ping from being sent from the JS tag since the DAR main ping will be sent from the DAR impression pixel. This is the default setup if Nielsen’s vWrap tag is being used to set up the video campaign.
<syntaxhighlight lang=html>
 
/er?impid=VALUE&amp;ca=VALUE&amp;ci=VALUE&amp;cr=VALUE&amp;ce=VALUE
 
&amp;pc=VALUE&amp;am=VALUE&amp;ercd=VALUE
 
</syntaxhighlight>
 
  
=== Workflow and Tag Requirements for Nielsen Viewability with Qualified Ad Audience ===
+
[[File:Screenshot 2022-06-22 2.png]]
The following steps represent the tag/data flow between the publisher and Nielsen, through to final reporting.
+
{| class="wikitable"
<blockquote> Please note that the assigned values for <code>CA, CI, AM, AM, PC and CR </code> in the example tags below are for illustrative purposes only to demonstrate the VW viewability state tag token. These values will need to be replaced with client specific data and/or macros specific to the ad serving situation.</blockquote>
+
|-
 +
! colspan="2" | Ping Flow Legend
 +
|-
 +
| D0, D1, D2
 +
| Dynamic SIVT Pings at 1, 15 &amp; 30 seconds
 +
|-
 +
| FP
 +
| Final Ping
 +
|-
 +
| IMPID
 +
| Unique Impression ID
 +
|-
 +
| NMP
 +
| Nielsen Main Measure Ping
 +
|-
 +
| PSP
 +
| Primary Standard Ping
 +
|-
 +
| QP
 +
|Quarterly Media Pings at 25%, 50%, 75% and 100%
 +
|-
 +
| SIVT
 +
| Sophisticated Invalid Traffic
 +
|}
  
# Ad creative exposed to the user<br />
+
==== Example OMID Video Placement ====
# Ad Server technology fires DAR tag on the publisher site<br />
 
# Viewable state detected by Nielsen technology on publisher property; tag/signal sent to Nielsen collection system<br />
 
# Nielsen collection system generates and executes the DAR tag with one of the following viewable states.
 
# DAR data processing and reporting aggregates viewable impression states by campaign, placement and demographic attribution.
 
  
=== Workflow and Pixel Tag Requirements for 3rd Party Viewability ===
+
DAR can be enabled through the OM SDK by passing the required Nielsen OM inputs listed in the table in the VAST &lt;adVerifications&gt; node:
The following steps represent the tag/data flow between publisher, Nielsen and the 3rd party viewability vendor (hereafter referred to as “vendor”), through to final reporting.
 
  
<blockquote>Please note that the assigned values for CA, CI, AM, AM, PC and CR in the example tags below are for illustrative purposes only to demonstrate the VW viewability state tag token. These values will need to be replaced with client specific data and/or macros specific to the ad serving situation.</blockquote>
+
{| class="wikitable"
 +
! '''OM Parameter'''
 +
! '''Description'''
 +
! '''Nielsen Value'''
 +
! '''Required'''
 +
|-
 +
| Vendor Key
 +
| ID for measurement provider
 +
| nielsen.com-omid
 +
| ✔
 +
|-
 +
| JavaScript Resource URL
 +
| URL for measurement provider’s verification script
 +
| <syntaxhighlight lang="html">https://dar.imrworldwide.com/js/darvideo.js</syntaxhighlight>
 +
| ✔
 +
|-
 +
| Verification Parameters
 +
| Measurement provider’s verification tag parameters
 +
| style="font-family:'Courier New', Courier, monospace !important; color:#222222;" |<syntaxhighlight lang="html">ca=nlsnXXXXXX&cr={AD.ID}&ce=publisherXXXX&ci=nlsnciXXXX&
 +
pc=placementID_XXXX1&am=3</syntaxhighlight>
 +
| ✔
 +
|-
 +
| Verification Not Executed URL
 +
| Error URL when the ad player denies measurement script execution
 +
| style="font-family:'Courier New', Courier, monospace !important; color:#222222;" | <syntaxhighlight lang="html">https://events.imrworldwide.com/er?ercd=8800&erms=verificationNotExecuted-
 +
{reason}&ca=nlsnXXXXXX&cr=ad_ID_XXXX&ce=publisherXXXX&
 +
ci=nlsnciXXXX&pc=placementID_XXXX5&am=3&c9={devid,Advertising_ID}
 +
&c13={asid,app_id}</syntaxhighlight>
 +
|
  
'''Requirements'''
+
|}
* Ad creative exposed to the user<br />
+
<blockquote>
*  Vendor technology fires DAR tag on the publisher site
+
Note: The verificationNotExecuted Error URL is recommended for better troubleshooting during campaign setup. If your system can provide a macro for the reason of the interrupted measurement session, it can be added in place of the {reason} placeholder in the error URL. This can be an error code or a clear text error message.
<syntaxhighlight lang=html>
 
http://secure-gl.imrworldwide.com/cgi-bin/m?ci=[clientid]&amp;am=[AdserverId]&amp;at=view
 
&amp;rt=banner&amp;st=image&amp;ca=[campaignId]&amp;cr=[creativeId/macro]
 
&amp;pc=[placementId/macro]&amp;r=[timestamp]
 
</syntaxhighlight>
 
*  Viewable state detected by vendor detection technology (i.e. vendor Javascript containertag) on publisher property; tag/signal sent to vendor collection system
 
*  Vendor collection system generates and executes the DAR tag with one of the following viewable state (see highlight) embedded
 
 
 
==== onMeasureable ====
 
<syntaxhighlight lang=html>
 
http://secure-gl.imrworldwide.com/cgi-bin/int?ci=[clientid]&amp;am=[AdserverId]&amp;at=view
 
&amp;rt=banner&amp;st=image&amp;ca=[campaignI d]&amp;cr=[creativeId/macro]&amp;pc=
 
[amvalue]_[placementId/macro]&amp;vw=meas&amp;r=[timestamp]</syntaxhighlight>
 
 
 
==== onInViewMRC ====
 
<syntaxhighlight lang=html>
 
http://secure-gl.imrworldwide.com/cgi-bin/int?ci=[clientid]&amp;am=[AdserverId]&amp;at=view
 
&amp;rt=banner&amp;st=image&amp;ca=[campaignId]&amp;cr=[creativeId/macro]
 
&amp;pc=[amvalue]_[placementId/macro]&amp;vw=view&amp;r=[timestamp ]</syntaxhighlight>
 
==== onSuspicious====
 
<syntaxhighlight lang=html>
 
http://secure-gl.imrworldwide.com/cgi-bin/int?ci=[clientid]&amp;am=[AdserverId]&amp;at=view
 
&amp;rt=banner&amp;st=image&amp;ca=[campaignI d]&amp;cr=[creativeId/macro]
 
&amp;pc=[amvalue]_[placementId/macro]&amp;vw=susp&amp;r=[timestamp ]</syntaxhighlight>
 
 
 
*  DAR data processing and reporting aggregates viewable impression states by campaign, placement and demographic attribution.
 
<blockquote>'''Special Note for Nielsen Viewability with Qualified Ad Audience:''' Primary owner of campaign must provide assigned Technical Account Manager (TAM) VPAID tags per site/placement in order for VAST Wrapper to be delivered back to primary owner for implementation within their respective ad server, CMS, video serving platform, etc.
 
 
</blockquote>
 
</blockquote>
  
<blockquote>'''Special Note for Server Side Dynamic Ad Insertion:''' In cases where Server Side Dynamic Ad Insertion (SSDAI) is present, the Nielsen tag cannot execute unless the client side video player is coded to fire impression pixels when ads play. When this happens, all of the existing specifications for tag format, time, and criteria of execution (i.e. on play of ad) previously documented must be followed.
+
==== Example VPAID Placement in VAST ====
</blockquote>
 
  
== QA Testing the Tag ==
+
A typical VAST placement with VPAID will contain an impression pixel, the DAR Video JS tag as MediaFile of type “VPAID”, and the video MediaFiles will be duplicated as AdParameters object. In the example below, there was no original VPAID ad unit (the original VAST only contained MP4 video files), so the &amp;vpaidURL parameter on the DAR JS tag stays empty.
  
Nielsen’s Technical Account Manager (TAM) will coordinate a plan to test fire tags in advance of the campaign go-live date.
+
In this example, the DAR JavaScript tag will operate as the VPAID ad unit and will play an appropriate media file from the list contained in the AdParameters node.
  
In order to test the implementation of the Nielsen tag, at least one or two (more are<br />
+
<syntaxhighlight lang="json">
recommended) live URLs should be provided to the TAM. If a live page cannot be made available, at staging page or offline test page should be provided. The object of this is so that the TAM can see the Nielsen call being made live, exactly as it has been implemented, to verify all of the values expected – dynamic and static - are in the tag. A spot check of a couple of placements should be sufficient unless otherwise requested. In lieu of an actual test page, we may recommend you provide a screenshot of you testing the implementation from your end, showing the Nielsen call exactly as it is being called.
+
...
 +
<Impression id="Nielsen Digital Ad Ratings">
 +
<![CDATA[https://secure-enc.imrworldwide.com/cgi-bin/m?at=view&cy=2&rt=banner&src=njs&
 +
st=image&tpv=vwrap&ca=nlsnXXXXXX&cr={AD.ID}&ce=publisherXXXX&ci=nlsnciXXXX&pc=placementID_XXXX1&am=3]]>
 +
</Impression>
 +
...
 +
<MediaFiles>
 +
    <MediaFile apiFramework="VPAID" type="application/javascript">
 +
<![CDATA[https://dar.imrworldwide.com/js/darvideo.js?darsup=1&ca=nlsnXXXXXX&cr={{AD.ID}}&
 +
ce=publisherXXXX&ci=nlsnciXXXX&pc=placementID_XXXX1&am=3]]>
 +
    </MediaFile>
 +
    <MediaFile bitrate="720" delivery="progressive" height="480" id="XXXXXX"
 +
              maintainAspectRatio="true" scalable="true" type="video/mp4" 
 +
              width="854"><![CDATA[https://XXXXX.net/XXXXXX.mp4]]>
 +
    </MediaFile>
 +
</MediaFiles>
 +
...
 +
<AdParameters>
 +
<![CDATA[{"mediaFiles":[{"bitrate":"720","uri":"https://XXXXX.net/XXXXXX.mp4","height":"480","scalable":"true",
 +
"id":"XXXXXX","type":"video/mp4","maintainAspectRatio":"true","delivery":"progressive","width":"854"}]]>
 +
</AdParameters>
 +
</syntaxhighlight>
  
Additionally, we will verify that the tags delivered have begun to receive data once the campaign actually goes live and will regularly (every 7-14 days, minimally) compare the Nielsen reporting to your 3rd party or publisher reporting to ensure we are capturing all of the data for all of the placements, as expected, and that the overall gap between your reporting and the Nielsen reporting is kept to a minimum.
+
==== Server-Side Integration ====
  
=== Confirmation Steps ===
+
If you are interested in implementing the DAR tags server-side, e.g. through SSAI, please contact your Nielsen TAM to provide you with the required guidelines.
* Open Chrome browser and enable “Developer Tools” (shortcuts: PC, “F12” - Mac, “Command+Option+I”)
 
* Paste test page into browser URL field
 
* Toggle to the “Network” tab (to isolate the DAR ping you can use “imr” into the filter box). If the DAR tag does not appear, refresh the page.
 
<blockquote>NOTE - Other browsers or debugging tools can also be used as an alternative.</blockquote>
 
  
==== DAR Pixel Tag Campaigns ====
+
==== Notes ====
* Confirm that the DAR Main ping (/cgi-bin/m) has call status 302, this ensures a redirect has been made to our Data Enrichment Provider
 
* Clicking on the ping URL and navigating to the “Headers” tab will allow you to better evaluate tag construction
 
* The “Query String” section will disclose the tag parameter Confirm these values are displaying as expected
 
<blockquote>NOTE - If ad server macro tokens are used, please ensure they are expanding properly </blockquote>
 
  
==== DAR JavaScript Tag Campaigns ====
+
Manual placement of the DAR Video tag is only recommended in situations where the DAR vWrap tag can not be utilized, like in certain mobile in-app ad placements or in scenarios where DAR Video needs to be configured as OMID viewability measurement solution.
Generally, the steps are same as the above except for the following:
 
* If the player makes the DAR main call <code>(/cgi-bin/m)</code>, it will have status 302, but if our JavaScript tag is responsible for the main ping, the status will be 200. The player makes the call if the DAR JavaScript has been called with <code>darsup=1</code>.
 
* If the test page is set up correctly, you should also see Viewability pings - at the very least there should be an /nmp ping
 
* If there is a <code>/nmp</code> ping, check the <code>meas</code> parameter. It will be <code>meas=1</code> if our tag is able to measure viewability in the given ad slot.
 
  
== Managing Campaign Updates ==
+
== Pixel Tag==  
  
As part of the campaign monitoring process, your Nielsen TAM will stay in close contact with you throughout the campaign, including scheduling periodic check-ins to check on the campaigns (approximately every 7-14 days, but could be more often, as needed). If you have provided reporting access to the campaign via your 3rd party or have scheduled a report to be delivered on a regular (weekly) basis, this can significantly expedite the monitoring of your campaign.
+
The DAR Impression pixel provides basic campaign impression counts and allows to cover placements served in environments where the DAR JavaScript tag is not supported.
  
If you have any questions regarding setting up the reporting to be delivered, fields that will need to be included, etc., please reach out to the TAM assigned to your campaign. If not providing direct access to reporting, please schedule reporting to be delivered on a weekly basis.
+
=== Environment ===
</blockquote>
 
  
== Frequently Asked Questions ==
+
The DAR pixel tag should only be used in environments where the DAR JavaScript tag cannot be utilized such as restricted CTV environments, for SSAI Server-Side Beaconing, and other situations where an adequate JavaScript environment is not available.
  
'''What is a tag?'''
+
=== Parameters ===
  
For our purposes, a tag is an HTML code that is placed directly on a website or inside a 3rd party ad server to track exposure to an online advertisement. Adding the Nielsen tag to the banners/videos/etc. is referred to in general as ‘tagging a campaign’.
+
The minimum required DAR parameters are '''ca, ci, ce, cr, pc''', and '''am''' along with fixed valued params, '''at=view''', '''rt=banner''' and '''st=image''' . See the [[DAR_Tag_Implementation_Guide#Appendix|'''Appendix''']] for a full list of parameters.
  
'''What is served by the Nielsen tag?'''
+
=== Example Tag ===
 +
<syntaxhighlight lang="html">
 +
<img src="https://secure-gl.imrworldwide.com/cgi-bin/m?ca=nlsnXXXXXX&cr=crtve
 +
&ce={PUBLISHER.ID}&pc=PLACEMENT.ID}&nlsnciXXXX&am=3&at=view&rt=banner&st=image
 +
&cy=0&r=[timestamp]" style="display:none"/>
 +
</syntaxhighlight>
  
The tag call is a simple 1x1 pixel image call. There is not a survey delivered at the time of ad call so this is not intrusive to the end user and should not adversely affect site page load times.  
+
= Tag Integration =
 +
A successful tag integration will require you to go through the following 6 steps.
 +
== Step 1: Determine Your Campaign Needs==
 +
To receive optimal results from DAR measurement, it is good practice to consider the technical requirements of different sites and placements. Please share your media plan with your Technical Account Manager before launch.
  
'''What should be tagged?'''
+
Specifically, be on the lookout for placements that might span across web and mobile ad inventory and make sure if all of the in-app placements support OMID. Also, some placement types may need manual setup and cannot be automated or may need extra time for setup and testing.
  
As much of the campaign that can be tagged, should be, for consistency. In most cases, we generally do not tag items such as: click command/text links, default/backup ads in a 3rd party ad server, or static ‘logo’ creatives. Whenever possible, we will request that you attempt to tag all other creative types, including site-served elements.
+
Please reach out to your Nielsen Technical Account Manager (TAM) for advice if the technical requirements for your campaign are not clear.
 +
== Step 2: Generate Tags==
 +
Your Nielsen representative will walk you through the Campaign Management Interface (CMI) so that you can generate DAR tags for your campaigns at any time.
  
'''Is there a way to differentiate between video “auto-play” and “click-to-play” impressions?'''
+
Nielsen supports macro-based tag generation for several major ad servers. Nielsen’s Technical Account Managers can assist you with any technical questions on tagging campaigns for DAR measurement.
 +
== Step 3: Campaign Integration==
 +
Your Nielsen tags created in CMI will need to be included when you traffic your ad campaigns. Please reach out to your Nielsen TAM for additional guidance and assistance.
 +
== Step 4: Test the Tag Implementation==
 +
Depending on the complexity of the integration, you may be working closely with a TAM at this point or are performing a self-guided tag implementation based on the CMI output.
  
The Nielsen pixel does not gather this type of granularity if the events are both sharing the same ad server placement ID. If it is desirable to compare the performance between these two events, our recommendation is to traffic these as individual placements within your ad serving<br />
+
If working with a TAM, they will coordinate a plan to test the tag implementation ahead of the campaign go-live date. Depending on your campaign needs, testing will involve either running a diagnostic campaign to validate tagging setup or reviewing test pages or apps.
technology.
 
  
'''What is the best way to add the Nielsen tag to my campaign?'''
+
In case of a self-guided tag implementation, we recommend to verify and compare the impression counts in the CMI with your planned campaign volume or ad server reports during the first hours of the campaign. If there are any unexpected impression counts, please reach out to your Nielsen TAM.
 +
== Step 5: Share your Ad Server Report==
  
The Nielsen pixel should be called as close to the same time as the banner ad/creative element on which you would like to track exposure. Typically, this is handled by placing our tag inside a 3rd party ad server, such as Google’s DCM or a Rich Media vendor, such as PointRoll. However, if need be, our tag can be placed directly on a site page, immediately after the ad call in the same &lt;/div&gt; as the creative file. Further instruction can be provided on the kickoff call or we can work directly with trafficking contact(s) to get the tags in place.
+
=== Why the Ad Server Report is Needed ===
  
'''Do we need to use a 3rd party ad server to use the Nielsen tag?'''
+
Knowing the delivered impressions helps Nielsen run Discrepancy Checks ensuring overall quality and reduces errors in the tagging process.
  
The short answer is no. In a lot of cases, we have provided a tag that can be implemented directly on a site. The benefit of placing our tag inside a 3rd party ad server is that we can provide a single tag (or minimal number of tags) that contain macros to simplify the tagging process.
+
Nielsen can provide the client with a template with the inputs required to complete the quality checks.
  
'''Is there anything that can’t be tagged?'''
+
=== How to Share Your Delivered impressions ===
  
We may need to review/test on a case-by-case basis, but realistically most campaign elements can be tagged. Most often, these items will need to be site served and our pixel will need to be provided to the site to implement directly. Some examples of non-standard campaign items that have been tagged before include: microsite pages, site ‘skins’, online mini-games, streaming video, pre-roll video banners.
+
Set up an automated daily report from your ad server containing Site Name, Site ID, Placement Name, Placement ID, and data date.
  
'''The site has told us that they can accept only one pixel for the site served element. Can we append your tag to the end of ours?'''
+
A secondary method to share your media plan information is to grant Nielsen “Reporting access” to your campaign in the designated ad server (such as DCM). To do this, simply grant the login '''clientreporting@nielsen.com''' access. In doing so Nielsen can directly access your media plan information, which enables us to check for updates, and reconcile any discrepancies.
  
If you are serving a DCM 1x1 pixel to track these elements of your campaign, we have a method for placing our tag behind this call, to be served as a redirect. For other situations, we may need to discuss further and consider other options.
+
== Step 6: Monitoring Your Campaign==
 +
Nielsen recommends all clients participate in Discrepancy Checks. Nielsen’s team will verify that the tags delivered have begun to receive data once the campaign goes live and will regularly (typically every 7-14 days) compare the Nielsen reporting to your 3rd party or publisher reporting to ensure we are capturing all data across all placements, as expected, and that the discrepancy gap between your reporting and the Nielsen reporting is kept to a minimum.
  
'''I’m using more than one Nielsen study/product on this campaign. Will I need multiple/different tags for each?'''
+
= Appendix =
 +
== Tag Parameters==
 +
All passthrough parameters will appear on the JavaScript-generated DAR impression ping.
 +
{| class="wikitable" style="background-color:#FFF;"
 +
|- style="font-weight:bold; background-color:#EAECF0; color:#222;"
 +
! Query Parameter
 +
! Description
 +
! style="text-align:center;" | Required
 +
! style="text-align:center;" | Pass-through
 +
|- style="font-weight:bold; text-align:center; vertical-align:middle; background-color:#FFEBD3; color:#222;"
 +
| colspan="4" | Group 1 - Required Parameters
 +
|- style="vertical-align:middle; color:#222;"
 +
| ca
 +
| Campaign ID
 +
| style="text-align:center;" | X
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| pc
 +
| Placement ID
 +
| style="text-align:center;" | X
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| ci
 +
| Client ID
 +
| style="text-align:center;" | X
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| am
 +
| Ad server ID
 +
| style="text-align:center;" | X
 +
| style="text-align:center;" | X
 +
|- style="color:#222;"
 +
| ce
 +
| Site ID
 +
| style="text-align:center;" | X
 +
| style="text-align:center;" | X
 +
|- style="background-color:#F4F5F7; color:#222;"
 +
| cr
 +
| Creative ID
 +
| style="text-align:center; background-color:#EFEFEF;" | X
 +
| style="text-align:center;" | X
 +
|- style="font-weight:bold; text-align:center; vertical-align:middle; background-color:#FFEBD3; color:#222;"
 +
| colspan="4" | Group 2 - Use Case Specific Parameters
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| at
 +
| Fixed Value "view" (Nielsen value, JS tags add this to DAR and NMP pings)
 +
| style="text-align:center;" | Pixel only
 +
|
 +
|- style="vertical-align:middle; color:#222;"
 +
| st
 +
| Fixed Value "image" (Nielsen value, JS tags add this to DAR and NMP pings)
 +
| style="text-align:center;" | Pixel only
 +
|
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| rt
 +
| Fixed Value "banner" (Nielsen value, JS tags add this to DAR and NMP pings)
 +
| style="text-align:center;" | Pixel only
 +
|
 +
|- style="vertical-align:middle; color:#222;"
 +
| r
 +
| Cachebuster/Timestamp. It's required in the pixel tags with a hardcoded<br />value as a default or a macro (r=timestamp/macro) .
 +
| style="text-align:center;" | Pixel only
 +
|
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| cy
 +
| Creative type (1: display/2: video) JS tags add this to DAR and NMP pings for In-House Viewability.<br />When parameter is not present or value is missing on pixel tags, there will be no creative type breakout.<br /><br />
 +
| style="text-align:center;" | Pixel only
 +
|
 +
|- style="vertical-align:middle; color:#222;"
 +
| '''[[DAR_Tag_Implementation_Guide#vWrap_apiframework_Values|apiframework]]'''
 +
| IAB-defined value designating the measurement method See vWrap apiframework values
 +
| style="text-align:center;" | vWrap only
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| autof
 +
| Video only: Auto refresh (1 for auto refresh, leave empty otherwise)
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| autop
 +
| Video only: Autoplay (1 for auto-play, 2 for click-to-play, leave empty otherwise)
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| c7
 +
| OS Grouping<br />c7=osgrp,IOS<br />c7=osgrp,DROID<br />c7=osgrp,ANDROID
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| c8
 +
| Device Grouping<br />c8=devgrp,DSK (computers)<br />c8=devgrp,PHN (mobile phone devices)<br />c8=devgrp,TAB (mobile tablet devices)<br />c8=devgrp,PMP (portable media player)<br />c8=devgrp,UNWN (unknown mobile devices)
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| c9
 +
| Mobile Advertising ID<br />c9=devid,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 +
| style="text-align:center;" | Mobile
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| c10
 +
| Platform<br />c10=plt,DSK (Computer)<br />c10=plt,MBL (Mobile)<br />c10=plt,OTT (Connected Device)
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| c12
 +
| App Version<br />c12=apv,xxx
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| c13
 +
| Nielsen Assigned App ID<br />Example:<br />c13=asid,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 +
| style="text-align:center;" | Mobile
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| c14
 +
| OS Version<br />c14=osver,xxx
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| c68
 +
| Mobile App Bundle ID<br />c68=bndlid,xxxxxxxxxxxxxx<br />References:<br />https://developer.apple.com/documentation/appstoreconnectapi/bundle_ids<br />https://developer.android.com/studio/build/configure-app-module#set_the_application_id
 +
| style="text-align:center;" | Mobile
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| C78
 +
| Custom Integration Flag (please note: this is the only uppercase parameter name)
 +
| style="text-align:center;" | some vendors
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| darsup
 +
| If present suppress DAR main ping originating from JS tag (value can be 0 or 1, same effect)
 +
|
 +
|
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| forceid
 +
| If present provides impid, can be overwritten by impid parameter
 +
|
 +
| style="text-align:center;" | X (as impid)
 +
|- style="vertical-align:middle; color:#222;"
 +
| impid
 +
| Same as forceid, but higher priority in case both are present
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| frcd
 +
| Video only: Forced duration (seconds/null)
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| frcf
 +
| Video only: Forced ad flag (yes/no/null)
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| ptraf
 +
| Video only: Purchased traffic
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| contplay
 +
| Video only: Continuous play
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| gdpr
 +
| GDPR flag to indicate whether GDPR is applicable:<br />0 - GDPR does not apply<br />1 - GDPR applies
 +
| style="text-align:center;" | in some jurisdictions
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| gdpr_consent
 +
| URL-safe base64-encoded Transparency & Consent (TC) string for<br />identifying user's privacy preferences
 +
| style="text-align:center;" | in some jurisdictions
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| hem_md5
 +
| Hashed email
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| hem_sha1
 +
| Hashed email
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| hem_sha256
 +
| Hashed email
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| hem_unknown
 +
| Hashed email
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| mode
 +
| VPAID video only, optional: Custom Direct Access mode<br />("w" wrapper / "c" custom; defaults to wrapper)
 +
|
 +
|
 +
|- style="vertical-align:middle; color:#222;"
 +
| onload
 +
| VPAID video only, optional: JS callback for Custom Direct Access VPAID integration
 +
|
 +
|
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| pub
 +
| Publisher Name
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| pubid
 +
| Publisher ID
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| si
 +
| Site identifier. Canonical URL of the content where the Ad creative is served.<br />The parameter value has to be encoded with encodeURIComponent() method or equivalent.
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| uid2
 +
| Unified ID 2.0
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; background-color:#EFEFEF; color:#222;"
 +
| uid2_token
 +
| Unified ID 2.0 token
 +
|
 +
| style="text-align:center;" | X
 +
|- style="vertical-align:middle; color:#222;"
 +
| uoo
 +
| User opt out
 +
| style="text-align:center;" | Mobile
 +
| style="text-align:center;" | X
 +
|- style="font-weight:bold; text-align:center; vertical-align:middle; background-color:#FFEBD3; color:#222;"
 +
| colspan="4" | Group 3 - Parameters With Required Position in URL
 +
|- style="vertical-align:middle; background-color:#ffffff; color:#222;"
 +
| vpaidURL
 +
| VPAID Video only: Always the last parameter for video tags.<br />Either VPAID ad unit URL to be wrapped or empty. If empty, DAR tag will use its own vpaidplayer.js
 +
| style="text-align:center;" | VPAID video tag only
 +
|
 +
|- style="background-color:#f4f5f7;"
 +
| style="vertical-align:middle; color:#222;" | vastURL
 +
| style="vertical-align:middle; color:#222;" | vWrap Tag only: Always the last parameter for the vWrap tag.<br />It must contain the URL of the original VAST for the placement.
 +
| style="text-align:center; vertical-align:middle; color:#222;" | vWrap tag only
 +
|
 +
|}
  
You should not need separate tags for each study. To keep the tagging process simple, we have designed our products so that a single tag can be used for multiple online studies, however, your TAM needs to be informed of all studies before launch so that they can be enabled.
+
== Additional Parameters ==
 +
This section describes several important additional parameters that the DAR tag can support, specifically Hashed Email, UID2 values, along with Page URL and Bundle Identifier if available. Please note that all parameters are case-sensitive.
  
'''How much detail can be tracked with the Nielsen tag?'''
+
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}
 +
{| class="wikitable" style="font-weight:bold; background-color:#EAECF0;"
 +
|-
 +
! Name
 +
! Description
 +
! Available Tag Parameters
 +
|- style="font-weight:normal; background-color:#F8F9FA;"
 +
| Hashed Email
 +
| User’s email address that has been run through a hashing algorithm<br />(e.g. SHA256, MD5, SHA1) to create a unique 32-character hexadecimal string.<br /> If a client is unable to determine hashing type, they should pass<br />using &hem_unknown parameter.
 +
| &hem_unknown<br />&hem_sha256<br />&hem_md5<br />&hem_sha1
 +
|}
 +
{| class="wikitable" style="font-weight:bold;"
 +
|- style="background-color:#dae8fc; color:#002041;"
 +
! Example
 +
|- style="font-weight:normal;"
 +
| hem_sha256=tMmiiTI7IaAcPpQPFQ65uMVCWH8av9jw4cwf/F5HVRQ=
 +
|}
 +
=== Unified ID ===
 +
{| class="wikitable" style="background-color:#F8F9FA;"
 +
|- style="font-weight:bold; background-color:#EAECF0;"
 +
! 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)<br />and is now managed by Prebid.
 +
| &uid2
 +
|-
 +
| Unified ID 2.0 Token
 +
| Encrypted Unified ID 2.0
 +
| &uid_token
 +
|}
 +
{| class="wikitable" style="font-weight:bold;"
 +
|- style="background-color:#32BBB9; color:#002041;"
 +
! Example
 +
|- style="font-weight:normal;"
 +
| uid2=MTKVpUAzwYAPnHrtfE0wlINOMzhU7UUEjjVdCdRu63k=<br />uid_token=AgAAAAPFR0zA5ogv/yaAPiUsAdZPsfqS8QlDSGxAB+rr8yekFs3AjLYVk5qqqiyV2XHbSuwzHmxSlLeQeKQI1mp015jsNnpX5<br />/xGgXldcgVz+gFnyh3T8/3agMwRmyrhCxG4oH2C7fc48AQk2eotE7FW0ZDEYM8fD9ZxDaxFUC/OV3OuZA&
 +
|}
 +
=== Page and Bundle ===
 +
{| class="wikitable" style="background-color:#F8F9FA;"
 +
|- style="font-weight:bold; background-color:#EAECF0;"
 +
! Name
 +
! Description
 +
! Available Tag Parameters
 +
|-
 +
| Page URL
 +
| Canonical URL of the content where the Ad creative is served. (e.g. https://example.com/news/tech/article.html) <br />The parameter value has to be encoded with JavaScript’s encodeURIComponent() method or equivalent. <br />Example: si=https%3A%2F%2Fexample.com%2Fnews%2Ftech%2Farticle.html
 +
| &si
 +
|-
 +
| App Bundle ID
 +
| The app’s unique bundle ID (e.g. com.example.myapp). The ID can be used to look up the App in Apple’s App Store<br />or the Google Play Store.<br />References: https://developer.android.com/studio/build/application-idhttps://developer.apple.com/documentation/appstoreconnectapi/bundle_ids
 +
| &c68=bndlid
 +
|}
 +
{| class="wikitable" style="font-weight:bold;"
 +
|- style="background-color:#32BBB9; color:#002041;"
 +
! Example
 +
|- style="font-weight:normal;"
 +
| si=https%3A%2F%2Fexample.com%2Fnews%2Ftech%2Farticle.html<br />c68=bndlid,com.tam.nielsen.com
 +
|}
  
Typically, we do an overall read for these studies, but we can segment the data by site, placement, ad size or creative, for example. If more granular data is desired, this should be discussed ahead of the campaign launch and planned for at the time of tag creation. ''We cannot segment the data if we have not tagged for it''​ -- multiple tags will need to be created and implemented properly. Note that this can often be a time consuming process for the client trafficker and additional time should be allotted if this is needed. Lastly, keep in mind that exposure sample size may be a factor for segmenting the data at a more granular level.
+
== vWrap apiframework Values==
  
'''Why is it recommended to implement a timestamp or random number on the tag?''' This value will ensure that the tag call will not be cached on a user’s browser. It’s not absolutely necessary to implement for the tag to work, but without it you may see a larger gap between the impressions ran and what Nielsen captures. It is recommended to minimize this gap.
+
Nielsen’s vWrap tag uses the existing definition of '''apiframework''' values defined in the IAB’s [https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--api-frameworks- '''AdCOM Specification''' '''1.0''']. This means that existing macros for this parameter in your system should work out of the box with vWrap.
  
'''For campaigns involving Facebook, what can’t be tagged on their site?'''
+
The vWrap tag supports the numerical values in bold below. In case of '''8''' (SIMID), the DAR Video tag will be inserted as a standard OMID verification client for viewability measurement and it will not interfere with any SIMID components in the ad.
  
Fan/Like pages are not allowed to be tagged, per Facebook. Additionally, Marketplace slots are not allowed to be tagged as these are user generated ads.
+
If a '''0''' or an empty value is given, the resulting VAST will include both OMID and VPAID measurement solutions. This leaves the decision of the measurement method to the video player, which might be advantageous for mixed campaigns that span mobile and web environments.
  
'''What if it is not possible to provide a test or staging page before launch?'''
+
{| class="wikitable" style="font-weight:bold;"
 +
|- style="background-color:#F4F5F7;"
 +
! Value
 +
! Definition
 +
|-
 +
| 1
 +
| style="font-weight:normal;" | VPAID 1.0
 +
|-
 +
| 2
 +
| style="font-weight:normal;" | VPAID 2.0
 +
|- style="font-weight:normal; color:#666;"
 +
| 3
 +
| MRAID 1.0
 +
|- style="font-weight:normal; color:#666;"
 +
| 4
 +
| ORMMA
 +
|- style="font-weight:normal; color:#666;"
 +
| 5
 +
| MRAID 2.0
 +
|- style="font-weight:normal; color:#666;"
 +
| 6
 +
| MRAID 3.0
 +
|-
 +
| 7
 +
| style="font-weight:normal;" | OMID 1.0
 +
|-
 +
| 8
 +
| style="font-weight:normal;" | SIMID 1.0
 +
|}
  
While not ideal, we can view raw impression numbers on the day of the launch as well as review a live example if a URL is provided. Another option would to test from the client/site side and provide a screenshot of the Nielsen call being made using a proxy tool (HTTPWatch, Fiddler, Charles, etc.) – prior to launch. The aim either way is to minimize missing impressions for your campaign, so it is in your best interest to provide for this testing if you can.
+
== About Nielsen ==
  
'''What is considered to be an acceptable gap in reporting?'''
+
Nielsen shapes the world’s media and content as a global leader in audience measurement, data and analytics. Through our understanding of people and their behaviors across all channels and platforms, we empower our clients with independent and actionable intelligence so they can connect and engage with their audiences—now and into the future.
  
In a perfect world, we’d like to see no gap in the numbers. We realize this is simply not possible – it is a factor of the Internet and having different counting methodologies, so we will aim for the lowest overall gap we can. Even with everything trafficked correctly; it is not uncommon to see gaps in the range of 5 to 10%, so we shoot for this range (if it’s lower than that, that’s great). If it’s greater than 10%, it usually indicates that there was something that was missed from being tagged or there’s an additional issue that requires further attention. When issues arise, we make all attempts to highlight and communicate the issue seen, to minimize the overall impact to the study, but are reliant on the client to ensure the issue is fixed. In a campaign where there are issues such as this, we try to keep the gap under 20% and will document any issues found. What are the capabilities for tagging video and video based ads?
+
An S&amp;P 500 company, Nielsen (NYSE: NLSN) operates around the world in more than 55 countries. Learn more at [http://www.nielsen.com '''www.nielsen.com'''] or [http://www.nielsen.com/investors '''www.nielsen.com/investors'''] and connect with us on social media.
  
Our tag is not a specific limitation as it is one of the simplest things that can be served – a 1x1 image. That being said, much of the video implementation limitations are often dictated by the video vendors themselves. Where you can add our tag is dependent on the capabilities of these vendors. Some have the ability to place the tag in multiple locations in the video (i.e. beginning, middle, end – multiple tags will be needed to separate these out) and some simply place the pixel directly on the webpage, next to video being served. Further discussion may need to happen with the vendor, Nielsen and the client to determine the optimum implementation that meets the client's needs.
+
'''Audience Is Everything®'''
</blockquote>
 

Revision as of 18:48, 27 June 2022

Engineering Portal breadcrumbArrow.png Digital breadcrumbArrow.png Digital Ad Ratings breadcrumbArrow.png DAR Tag Implementation Guide


Introduction

This document provides an overview of the Nielsen Digital Ad Ratings (DAR) Tags and the steps necessary to implement them as part of your digital advertising campaigns.

What is DAR

DAR is a measurement platform for digital advertising campaigns. The platform provides a clear view of the true audience of a campaign, including Reach, Frequency, and GRP statistics by audience demographic group.

What we measure

All DAR tags allow you to measure campaign impressions and the DAR JavaScript tags measure ad viewability, GIVT (General Invalid Traffic), and SIVT (Sophisticated Invalid Traffic) across platforms including web, mobile, and in-app.

How we measure it

Nielsen’s DAR suite of JavaScript tags together with a pixel tag fallback will be present in your ad placements. We utilize industry-standard APIs to perform measurement cross-browser and cross-platform. In most cases, you will only need to add a simple URL through your ad management interface to fully utilize DAR measurement in your campaigns.

Prerequisites

For steps outlined in this document, you should have access to Nielsen’s Campaign Management Interface (CMI) and a Nielsen Technical Account Manager (TAM) will be working with you during the implementation phase.

DAR Measurement Types

DAR Display

The DAR Display JavaScript tag reports ad impressions as well as measures ad viewability and SIVT. In standard web placements, it will find the ad unit in the surrounding DOM container and will then report viewability as a time series with a 1-second resolution.

The DAR tag will report the MRC-required minimum of 1 second on screen and a continuous viewability time series for the lifetime of the ad session to enable additional viewability qualifiers.

The tag can utilize the IAB’s Open Measurement SDK (OM SDK) including OM Web integration if the OM Interface Definition (OMID) is available, or it will use industry-standard web APIs to measure viewability.

Requirements

The DAR Display tag requires a JavaScript-enabled browser for web environments or the OM SDK for in-app to operate and should be placed close to the corresponding measured ad unit. It should be on the same DOM level (e.g. directly under the same parent) or in a child node under the same parent node. The ad unit should be a content-bearing DOM element (e.g. img, canvas, SVG, iframe, div) with a minimum size of 30x30 pixels.

Parameters

The minimum required DAR parameters are ca, ci, cr, pc, ce and am. See the Appendix for a full list of parameters.

Example Tag

<script type="text/javascript" 
src="https://dar.imrworldwide.com/js/dar.js?ca=nlsnXXXXXX&cr={AD.ID}&ce={PUBLISHER.ID}&ci=nlsnciXXXX&pc={PLACEMENT.ID}&am=3">
</script>

Example OMID Display Placement

DAR can be enabled through the OM SDK by passing the required Nielsen OM inputs listed in the table below during setup:

OM Parameter Description Nielsen Value Required
Vendor Key ID for measurement provider nielsen.com-omid
JavaScript Resource URL URL for measurement provider’s verification script
 https://dar.imrworldwide.com/js/dar.js
Verification Parameters Measurement provider’s verification tag parameters
ca=nlsnXXXXXX&cr={AD.ID}&ce=publisherXXXX&ci=nlsnciXXXX&pc=placementID_XXXX1&am=3
Verification Not Executed URL Error URL when the ad player denies measurement script execution
https://events.imrworldwide.com/er?ercd=8800&erms=verificationNotExecuted-
{reason}&ca=nlsnXXXXXX&cr=ad_ID_XXXX&ce=publisherXXXX&
ci=nlsnciXXXX&pc=placementID_XXXX5&am=3
&c13={asid,app_id}

Note: The verificationNotExecuted Error URL is recommended for better troubleshooting during campaign setup. If your system can provide a macro for the reason of the interrupted measurement session, it can be added in place of the {reason} placeholder in the error URL. This can be an error code or a clear text error message.

Expected Display Ad Session Pings

Description Timing Path
DAR Main Ping At initial load secure-gl.imrworldwide.com/cgi-bin/m
Nielsen Measure Ping Measurement start events.imrworldwide.com/nmp
Primary Standard Ping After 1 second of viewable duration (may not occur based on MRC rules) events.imrworldwide.com/psp
Timed Pings At 1, 5, 15 and 120 seconds of ad session time (may not occur based on ad session length) events.imrworldwide.com/1sp, 5sp, 15sp, 120sp
Final Ping At window/tab unloading event events.imrworldwide.com/fp
Error Ping Potential integration error - please contact your Nielsen representative events.imrworldwide.com/er

Ping Flow

This flow illustrates the behavior of the DAR Display tag.

Screenshot 2022-06-22 152646.png

Ping Flow Legend
1SP, 5SP, 15SP, 120SP Timed Measure Ping at 1, 5, 15 and 120 seconds
D0, D1, D2 Dynamic SIVT Pings at 1, 15 & 30 seconds
FP Final Ping
IMPID Unique Impression ID
NMP Nielsen Main Measure Ping
PSP Primary Standard Ping
SIVT Sophisticated Invalid Traffic

DAR Video

The DAR Video tag will typically be trafficked as part of a Video Ad Serving Template (VAST) file. Nielsen provides its wrapped video tag (vWrap) to make this type of deployment easy and consistent across the various ad servers and trafficking options. Nielsen’s vWrap tag supports both automatic OMID and VPAID integration with existing VAST files. The two sections below, Wrapped Video Tag and Video JS Tag, describe these options and their expected outcomes.

In addition, Nielsen supports direct DAR Video tag deployments with manual integration in existing workflows. In this case, the section Video JS Tag below describes the basic setup and expected results. In addition, it is recommended that you work closely with your Nielsen Technical Account Manager if you consider a manual tag integration with your campaigns.

Wrapped Video Tag (vWrap) Deployment

Nielsen’s wrapped DAR video tag, vWrap, is the preferred delivery method for VAST-controlled video ad placements.The vWrap tag is served by a Nielsen service that takes an original VAST with an inline ad (not a wrapper redirect) and dynamically adds the DAR Video tag with measurement solutions for VPAID and OMID. The apiframework parameter can be used to control which measurement solution will be inserted (see below).

Parameters

The minimum required DAR parameters are ca, ci, ce, cr, pc, am, apiframework and vastURL. See the Appendix for a full list of parameters.

The Open Real Time Bidding (OpenRTB) API framework values for identifying the ad inventory type should be passed in the Nielsen apiframework parameter. The values should be either 1 or 2 (VPAID) or 7 or 8 (OMID). The available API framework values are listed in the IAB’s AdCOM specification 1.0. If the parameter is left blank or set to 0, Wrap will add the DAR Video tag as both an OMID verification client and VPAID wrapper. See more details in the Appendix.

The vastURL parameter must be the last parameter on the DAR tag with its value set as the full URL (including all original parameters) of the original VAST tag for the ad placement.

Example Wrapped Video Tag (vWrap)

 https://vwrap.imrworldwide.com/v1/wrap?ca=nlsnXXXXXX&cr={AD.ID}&ce={PUBLISHER.ID}&pc={PLACEMENT.ID}&ci=nlsnciXXXX&am=4&
c9={devid,Advertising_ID}&c13=asid,app_id}&apiframework={APIFRAMEWORK}&vastURL={ORIGINAL_VAST_URL}

To observe how vWrap operates, we have provided some example VAST URLs which you can load directly in your browser.

VAST ad Unit, no Impression/Viewability

First, here is a VAST ad unit with a single video file and no impression tracking or viewability measurement:

https://madimator.com/vast-examples/example_video_only_nielsen_15s.xml

VAST ad Unit, Nielsen vWrap for OMID measurement

This is the same VAST file loaded via Nielsen’s vWrap tag for OMID measurement (apiframework is set to 7):

https://vwrap.imrworldwide.com/v1/wrap?ca=nlsn305255&cr=nielsenomidtest&ce=nielsen&pc=vastomid&ci=nlsntest&am=4&apiframework=7&vastURL=http://madimator.com/vast-examples/example_video_only_nielsen_15s.xml

VAST ad Unit, Nielsen vWrap for VPAID measurement

And here is the same VAST with the vWrap tag configured for VPAID measurement (apiframework is set to 2):

https://vwrap.imrworldwide.com/v1/wrap?ca=nlsn305255&cr=nielsenomidtest&ce=nielsen&pc=vastvpaid&ci=nlsntest&am=4&apiframework=2&vastURL=http://madimator.com/vast-examples/example_video_only_nielsen_15s.xml

Video JS Tag

The DAR Video tag supports both OM SDK and VPAID video ad measurement and provides viewability time series, audio volume time series, GIVT, and SIVT data. The time series contains playhead events with corresponding measurements at a 1-second resolution. In addition to the time series, a dedicated ping will report on the MRC-required minimum of 2 seconds on screen.

With OM SDK, the DAR Video tag supports the following ad types:

  • Native mobile in-app ad placements
  • Mobile web ads
  • OM Web placements
  • OMID-enabled streaming video players with ad SDKs (for instance DAI IMA SDK)


With VPAID, it supports the following operating modes:

  • As VPAID wrapper for an existing VPAID ad unit in the VAST
  • As VPAID ad unit in a VAST with video files and AdParameters node
  • In Custom Integrations with VPAID host players


In most cases, the DAR Video tag should not be manually implemented as a wrapper, instead consider utilizing Nielsen’s vWrap tag.

Requirements

The DAR Video tag needs a JavaScript environment to operate. The video unit to be measured needs to have a size of at least 30x30 pixels. The DAR Video tag requires access to the VPAID ad unit or to an OM SDK API present in the JavaScript context.

Parameters

The minimum required DAR parameters are ca, ci, ce, cr, pc and am. For VPAID wrapper placements, vpaidURL is also required.

To comply with MRC guidelines, you will be required to append autop to indicate click-to-play vs auto-play.

If the DAR Video tag will act as the VPAID wrapper, vpaidURL has to be the tag’s last parameter and its value set to the full URL (including parameters) of the original VPAID ad unit.

See the Appendix for a full list of parameters.

Expected Video Ad Session Pings

Description Timing Path
DAR Main Ping At initial load secure-gl.imrworldwide.com/cgi-bin/m
Nielsen Measure Ping Measurement start events.imrworldwide.com/nmp
Primary Standard Ping After 2 seconds of viewable duration (may not occur based on MRC rules) events.imrworldwide.com/psp
Quarterly Ping At 25%, 50%, 75% and 100% of video progress events.imrworldwide.com/qp
Final Ping At video stop or window/tab unloading event events.imrworldwide.com/fp
Error Ping Potential integration error - please contact your Nielsen representative events.imrworldwide.com/er

Ping Flow

This flow illustrates the behavior of the DAR Video tag if the impression pixel is part of the VAST to be sent by the ad player and the JS tag has &darsup=1. The parameter, darsup=1, is used to suppress the DAR Main Ping from being sent from the JS tag since the DAR main ping will be sent from the DAR impression pixel. This is the default setup if Nielsen’s vWrap tag is being used to set up the video campaign.

Screenshot 2022-06-22 2.png

Ping Flow Legend
D0, D1, D2 Dynamic SIVT Pings at 1, 15 & 30 seconds
FP Final Ping
IMPID Unique Impression ID
NMP Nielsen Main Measure Ping
PSP Primary Standard Ping
QP Quarterly Media Pings at 25%, 50%, 75% and 100%
SIVT Sophisticated Invalid Traffic

Example OMID Video Placement

DAR can be enabled through the OM SDK by passing the required Nielsen OM inputs listed in the table in the VAST <adVerifications> node:

OM Parameter Description Nielsen Value Required
Vendor Key ID for measurement provider nielsen.com-omid
JavaScript Resource URL URL for measurement provider’s verification script
https://dar.imrworldwide.com/js/darvideo.js
Verification Parameters Measurement provider’s verification tag parameters
ca=nlsnXXXXXX&cr={AD.ID}&ce=publisherXXXX&ci=nlsnciXXXX&
pc=placementID_XXXX1&am=3
Verification Not Executed URL Error URL when the ad player denies measurement script execution
https://events.imrworldwide.com/er?ercd=8800&erms=verificationNotExecuted-
{reason}&ca=nlsnXXXXXX&cr=ad_ID_XXXX&ce=publisherXXXX&
ci=nlsnciXXXX&pc=placementID_XXXX5&am=3&c9={devid,Advertising_ID}
&c13={asid,app_id}

Note: The verificationNotExecuted Error URL is recommended for better troubleshooting during campaign setup. If your system can provide a macro for the reason of the interrupted measurement session, it can be added in place of the {reason} placeholder in the error URL. This can be an error code or a clear text error message.

Example VPAID Placement in VAST

A typical VAST placement with VPAID will contain an impression pixel, the DAR Video JS tag as MediaFile of type “VPAID”, and the video MediaFiles will be duplicated as AdParameters object. In the example below, there was no original VPAID ad unit (the original VAST only contained MP4 video files), so the &vpaidURL parameter on the DAR JS tag stays empty.

In this example, the DAR JavaScript tag will operate as the VPAID ad unit and will play an appropriate media file from the list contained in the AdParameters node.

...
<Impression id="Nielsen Digital Ad Ratings">
<![CDATA[https://secure-enc.imrworldwide.com/cgi-bin/m?at=view&cy=2&rt=banner&src=njs&
st=image&tpv=vwrap&ca=nlsnXXXXXX&cr={AD.ID}&ce=publisherXXXX&ci=nlsnciXXXX&pc=placementID_XXXX1&am=3]]>
</Impression>
...
<MediaFiles>
    <MediaFile apiFramework="VPAID" type="application/javascript">
<![CDATA[https://dar.imrworldwide.com/js/darvideo.js?darsup=1&ca=nlsnXXXXXX&cr={{AD.ID}}&
ce=publisherXXXX&ci=nlsnciXXXX&pc=placementID_XXXX1&am=3]]>
    </MediaFile>
    <MediaFile bitrate="720" delivery="progressive" height="480" id="XXXXXX"
               maintainAspectRatio="true" scalable="true" type="video/mp4"  
               width="854"><![CDATA[https://XXXXX.net/XXXXXX.mp4]]>
    </MediaFile>
</MediaFiles>
...
<AdParameters>
<![CDATA[{"mediaFiles":[{"bitrate":"720","uri":"https://XXXXX.net/XXXXXX.mp4","height":"480","scalable":"true",
"id":"XXXXXX","type":"video/mp4","maintainAspectRatio":"true","delivery":"progressive","width":"854"}]]>
</AdParameters>

Server-Side Integration

If you are interested in implementing the DAR tags server-side, e.g. through SSAI, please contact your Nielsen TAM to provide you with the required guidelines.

Notes

Manual placement of the DAR Video tag is only recommended in situations where the DAR vWrap tag can not be utilized, like in certain mobile in-app ad placements or in scenarios where DAR Video needs to be configured as OMID viewability measurement solution.

Pixel Tag

The DAR Impression pixel provides basic campaign impression counts and allows to cover placements served in environments where the DAR JavaScript tag is not supported.

Environment

The DAR pixel tag should only be used in environments where the DAR JavaScript tag cannot be utilized such as restricted CTV environments, for SSAI Server-Side Beaconing, and other situations where an adequate JavaScript environment is not available.

Parameters

The minimum required DAR parameters are ca, ci, ce, cr, pc, and am along with fixed valued params, at=view, rt=banner and st=image . See the Appendix for a full list of parameters.

Example Tag

<img src="https://secure-gl.imrworldwide.com/cgi-bin/m?ca=nlsnXXXXXX&cr=crtve
&ce={PUBLISHER.ID}&pc=PLACEMENT.ID}&nlsnciXXXX&am=3&at=view&rt=banner&st=image
&cy=0&r=[timestamp]" style="display:none"/>

Tag Integration

A successful tag integration will require you to go through the following 6 steps.

Step 1: Determine Your Campaign Needs

To receive optimal results from DAR measurement, it is good practice to consider the technical requirements of different sites and placements. Please share your media plan with your Technical Account Manager before launch.

Specifically, be on the lookout for placements that might span across web and mobile ad inventory and make sure if all of the in-app placements support OMID. Also, some placement types may need manual setup and cannot be automated or may need extra time for setup and testing.

Please reach out to your Nielsen Technical Account Manager (TAM) for advice if the technical requirements for your campaign are not clear.

Step 2: Generate Tags

Your Nielsen representative will walk you through the Campaign Management Interface (CMI) so that you can generate DAR tags for your campaigns at any time.

Nielsen supports macro-based tag generation for several major ad servers. Nielsen’s Technical Account Managers can assist you with any technical questions on tagging campaigns for DAR measurement.

Step 3: Campaign Integration

Your Nielsen tags created in CMI will need to be included when you traffic your ad campaigns. Please reach out to your Nielsen TAM for additional guidance and assistance.

Step 4: Test the Tag Implementation

Depending on the complexity of the integration, you may be working closely with a TAM at this point or are performing a self-guided tag implementation based on the CMI output.

If working with a TAM, they will coordinate a plan to test the tag implementation ahead of the campaign go-live date. Depending on your campaign needs, testing will involve either running a diagnostic campaign to validate tagging setup or reviewing test pages or apps.

In case of a self-guided tag implementation, we recommend to verify and compare the impression counts in the CMI with your planned campaign volume or ad server reports during the first hours of the campaign. If there are any unexpected impression counts, please reach out to your Nielsen TAM.

Step 5: Share your Ad Server Report

Why the Ad Server Report is Needed

Knowing the delivered impressions helps Nielsen run Discrepancy Checks ensuring overall quality and reduces errors in the tagging process.

Nielsen can provide the client with a template with the inputs required to complete the quality checks.

How to Share Your Delivered impressions

Set up an automated daily report from your ad server containing Site Name, Site ID, Placement Name, Placement ID, and data date.

A secondary method to share your media plan information is to grant Nielsen “Reporting access” to your campaign in the designated ad server (such as DCM). To do this, simply grant the login clientreporting@nielsen.com access. In doing so Nielsen can directly access your media plan information, which enables us to check for updates, and reconcile any discrepancies.

Step 6: Monitoring Your Campaign

Nielsen recommends all clients participate in Discrepancy Checks. Nielsen’s team will verify that the tags delivered have begun to receive data once the campaign goes live and will regularly (typically every 7-14 days) compare the Nielsen reporting to your 3rd party or publisher reporting to ensure we are capturing all data across all placements, as expected, and that the discrepancy gap between your reporting and the Nielsen reporting is kept to a minimum.

Appendix

Tag Parameters

All passthrough parameters will appear on the JavaScript-generated DAR impression ping.

Query Parameter Description Required Pass-through
Group 1 - Required Parameters
ca Campaign ID X X
pc Placement ID X X
ci Client ID X X
am Ad server ID X X
ce Site ID X X
cr Creative ID X X
Group 2 - Use Case Specific Parameters
at Fixed Value "view" (Nielsen value, JS tags add this to DAR and NMP pings) Pixel only
st Fixed Value "image" (Nielsen value, JS tags add this to DAR and NMP pings) Pixel only
rt Fixed Value "banner" (Nielsen value, JS tags add this to DAR and NMP pings) Pixel only
r Cachebuster/Timestamp. It's required in the pixel tags with a hardcoded
value as a default or a macro (r=timestamp/macro) .
Pixel only
cy Creative type (1: display/2: video) JS tags add this to DAR and NMP pings for In-House Viewability.
When parameter is not present or value is missing on pixel tags, there will be no creative type breakout.

Pixel only
apiframework IAB-defined value designating the measurement method See vWrap apiframework values vWrap only X
autof Video only: Auto refresh (1 for auto refresh, leave empty otherwise) X
autop Video only: Autoplay (1 for auto-play, 2 for click-to-play, leave empty otherwise) X
c7 OS Grouping
c7=osgrp,IOS
c7=osgrp,DROID
c7=osgrp,ANDROID
X
c8 Device Grouping
c8=devgrp,DSK (computers)
c8=devgrp,PHN (mobile phone devices)
c8=devgrp,TAB (mobile tablet devices)
c8=devgrp,PMP (portable media player)
c8=devgrp,UNWN (unknown mobile devices)
X
c9 Mobile Advertising ID
c9=devid,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Mobile X
c10 Platform
c10=plt,DSK (Computer)
c10=plt,MBL (Mobile)
c10=plt,OTT (Connected Device)
X
c12 App Version
c12=apv,xxx
X
c13 Nielsen Assigned App ID
Example:
c13=asid,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Mobile X
c14 OS Version
c14=osver,xxx
X
c68 Mobile App Bundle ID
c68=bndlid,xxxxxxxxxxxxxx
References:
https://developer.apple.com/documentation/appstoreconnectapi/bundle_ids
https://developer.android.com/studio/build/configure-app-module#set_the_application_id
Mobile X
C78 Custom Integration Flag (please note: this is the only uppercase parameter name) some vendors X
darsup If present suppress DAR main ping originating from JS tag (value can be 0 or 1, same effect)
forceid If present provides impid, can be overwritten by impid parameter X (as impid)
impid Same as forceid, but higher priority in case both are present X
frcd Video only: Forced duration (seconds/null) X
frcf Video only: Forced ad flag (yes/no/null) X
ptraf Video only: Purchased traffic X
contplay Video only: Continuous play X
gdpr GDPR flag to indicate whether GDPR is applicable:
0 - GDPR does not apply
1 - GDPR applies
in some jurisdictions X
gdpr_consent URL-safe base64-encoded Transparency & Consent (TC) string for
identifying user's privacy preferences
in some jurisdictions X
hem_md5 Hashed email X
hem_sha1 Hashed email X
hem_sha256 Hashed email X
hem_unknown Hashed email X
mode VPAID video only, optional: Custom Direct Access mode
("w" wrapper / "c" custom; defaults to wrapper)
onload VPAID video only, optional: JS callback for Custom Direct Access VPAID integration
pub Publisher Name X
pubid Publisher ID X
si Site identifier. Canonical URL of the content where the Ad creative is served.
The parameter value has to be encoded with encodeURIComponent() method or equivalent.
X
uid2 Unified ID 2.0 X
uid2_token Unified ID 2.0 token X
uoo User opt out Mobile X
Group 3 - Parameters With Required Position in URL
vpaidURL VPAID Video only: Always the last parameter for video tags.
Either VPAID ad unit URL to be wrapped or empty. If empty, DAR tag will use its own vpaidplayer.js
VPAID video tag only
vastURL vWrap Tag only: Always the last parameter for the vWrap tag.
It must contain the URL of the original VAST for the placement.
vWrap tag only

Additional Parameters

This section describes several important additional parameters that the DAR tag can support, specifically Hashed Email, UID2 values, along with Page URL and Bundle Identifier if available. 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 a hashing algorithm
(e.g. SHA256, MD5, SHA1) to create a unique 32-character 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&

Page and Bundle

Name Description Available Tag Parameters
Page URL Canonical URL of the content where the Ad creative is served. (e.g. https://example.com/news/tech/article.html)
The parameter value has to be encoded with JavaScript’s encodeURIComponent() method or equivalent.
Example: si=https%3A%2F%2Fexample.com%2Fnews%2Ftech%2Farticle.html
&si
App Bundle ID The app’s unique bundle ID (e.g. com.example.myapp). The ID can be used to look up the App in Apple’s App Store
or the Google Play Store.
References: https://developer.android.com/studio/build/application-idhttps://developer.apple.com/documentation/appstoreconnectapi/bundle_ids
&c68=bndlid
Example
si=https%3A%2F%2Fexample.com%2Fnews%2Ftech%2Farticle.html
c68=bndlid,com.tam.nielsen.com

vWrap apiframework Values

Nielsen’s vWrap tag uses the existing definition of apiframework values defined in the IAB’s AdCOM Specification 1.0. This means that existing macros for this parameter in your system should work out of the box with vWrap.

The vWrap tag supports the numerical values in bold below. In case of 8 (SIMID), the DAR Video tag will be inserted as a standard OMID verification client for viewability measurement and it will not interfere with any SIMID components in the ad.

If a 0 or an empty value is given, the resulting VAST will include both OMID and VPAID measurement solutions. This leaves the decision of the measurement method to the video player, which might be advantageous for mixed campaigns that span mobile and web environments.

Value Definition
1 VPAID 1.0
2 VPAID 2.0
3 MRAID 1.0
4 ORMMA
5 MRAID 2.0
6 MRAID 3.0
7 OMID 1.0
8 SIMID 1.0

About Nielsen

Nielsen shapes the world’s media and content as a global leader in audience measurement, data and analytics. Through our understanding of people and their behaviors across all channels and platforms, we empower our clients with independent and actionable intelligence so they can connect and engage with their audiences—now and into the future.

An S&P 500 company, Nielsen (NYSE: NLSN) operates around the world in more than 55 countries. Learn more at www.nielsen.com or www.nielsen.com/investors and connect with us on social media.

Audience Is Everything®