DCR Static Facebook Instant Articles Browser SDK
From Engineering Client Portal
This guide will show you how to enable Digital Content Ratings (DCR) measurement on your Facebook Instant Articles.
Implementation Steps
Add Tracking Code
DCR measurement can be added to your Instant Articles through the Analytics element:
<figure class="op-tracker">
<iframe>
<!-- Add Nielsen DCR Tracking Code here -->
</iframe>
</figure>
For more information on the Analytics element, you can refer to the Insights and Analytics in Instant Articles section of Facebook’s Instant Article Developer Documentation.
The Nielsen DCR Tracking code below will need to be added within the <iframe>
of the Analytics element on each article:
<script>
// Static Queue Snippet
!function(t,n){t[n]=t[n]||{nlsQ:function(e,o,c,r,s,i){return s=t.document,r=s.createElement("script"),r.async=1,r.src=("http:"===t.location.protocol?"http:":"https:")+"//cdn-gl.imrworldwide.com/conf/"+e+".js#name="+o+"&ns="+n,i=s.getElementsByTagName("script")[0],i.parentNode.insertBefore(r,i),t[n][o]=t[n][o]||{g:c||{},ggPM:function(e,c,r,s,i){(t[n][o].q=t[n][o].q||[]).push([e,c,r,s,i])}},t[n][o]}}}(window,"NOLBUNDLE");
// SDK Initialization
var nSdkInstance = NOLBUNDLE.nlsQ("PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX","nlsnInstance", {nsdkvOverride: "501", nol_sdkDebug: "debug"});
// Content Metadata
var nielsenMetadata = {
type: 'static',
assetid: '', // *DYNAMIC METADATA*: unique ID for each article **REQUIRED**
section: '', // *DYNAMIC METADATA*: section of site **REQUIRED**
segA: '', // *DYNAMIC METADATA*: custom segment
segB: '', // *DYNAMIC METADATA*: custom segment
segC: 'Instant Articles'
};
// Event 'staticstart' Call
nSdkInstance.ggPM("staticstart", nielsenMetadata);
</script>
Configure Metadata
Metadata can be passed through key-values using the Nielsen reserved keys. The tracking code includes the Nielsen reserved keys and placeholder values, <metadataPlaceholder>
, for dynamic metadata. You will need to update these values.
Metadata Keys
The Nielsen reserved keys are:
Key | Description | Example Value | Required |
---|---|---|---|
apid | unique ID assigned by Nielsen | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
✓ |
section | section of the site to be measured | Entertainment |
✓ |
segA | custom segment to be used to break out reporting | Music |
|
segB | custom segment to be used to break out reporting | News |
|
segC | Reserved custom segment for Instant Articles | 'Instant Articles' |
✓ |
The values passed through the Nielsen keys will determine the breakouts you will see in reporting. If you decide not to use custom segments A and B, then you do not need to pass a value in these keys.
Metadata for Reporting
You can reference the table to determine how the metadata you pass is used to define your reporting structure:
Reporting Level | Key | Description |
---|---|---|
Brand | apid | brand is determined by assigned App ID passed during initialization |
Sub-brand | apid | sub-brand is determined is determined by assigned App ID passed during initialization |
Section | section | section or category for the AMP page |
Custom Segment A | segA | available segment for custom reporting. Custom segments will roll into the sub-brand |
Custom Segment B | segB | available segment for custom reporting. Custom segments will roll into the sub-brand |
Custom Segment C | segC | Custom segment C is reserved for reporting ‘Instant Articles’. The Instant Articles custom segment will be available under sub-brand and will include the total metrics for all your Instant Articles |
If you would like your Instant Articles to report into the same reporting structure as your website, we recommend passing the same dynamic metadata in Section, Custom Segment A, and Custom Segment B as you are on your website. This way your Instant Articles numbers contribute to those aggregations.
Aggregation Limits
There are limits on the number of unique values that can be aggregated on in reporting. The specific limitations by key are:
Key | Aggregation Limit |
---|---|
section | maximum of 25 unique values (section <= 25) |
segA | total sum of segA, segB, and segC must be a maximum of 24 unique values (segA + segB + segC <= 24) |
segB | total sum of segA, segB, and segC must be a maximum of 24 unique values (segA + segB + segC <= 24) |
Going Live
Once you have added the DCR Tracking Code to your Instant Articles, Nielsen will validate your implementation after which you must disable Debug logging by deleting {nol_sdkDebug: 'DEBUG'} from the initialization call.
Example:
var nSdkInstance = NOLBUNDLE.nlsQ("PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX","nlsnInstance", {nsdkvOverride: "501"});