AMP Ad DFP Targeting with Salesforce DMP

Overview

AMP pages originally used Delayed Fetch for all ad requests, in which a standard ad tag (e.g. GPT or GPT Light for DoubleClick) would be loaded inside of a cross-domain iframe (remote.html) in the AMP page. Salesforce DMP previously leveraged the fact that custom JavaScript could be executed within the remote.html page, allowing targeting to be set on publishers’ ad slots.

On March 29, 2018, AMP is deprecating Delayed Fetch, forcing all publishers to use Fast Fetch for ad requests. Fast Fetch is the AMP-specific implementation of an ad tag, in which the ad tag's code is its own AMP extension. Fast Fetch allows for sending the ad request early by moving all code related to ad generation within the AMP runtime, disallowing any custom JavaScript as part of ad request creation. Please see this article to learn about the performance optimizations introduced in Fast Fetch. In summary, Fast Fetch will load ads on average 1 second faster than Delayed Fetch, which will greatly improve viewability and user experience.

AMP will continue to support Salesforce DMP Analytics via the amp-analytics tag, and the implementation process for analytics will not change.

AMP will no longer support Delayed Fetch. Publishers are required to switch to Fast Fetch by March 29, 2018 to continue ad targeting in DFP with Salesforce DMP segments (kxsg) and Salesforce DMP’s global user identifier (kuid). The process to set up Fast Fetch is outlined in the implementation guide below.

Implementation Guide

AMP ads need to be served via the amp-ad tag to enable Salesforce DMP targeting via Fast Fetch. Since amp-ad tags were previously required for Salesforce DMP targeting to be enabled via Delayed Fetch, we will not provide details on the initial setup for amp-ad tags. The following instructions assume that amp-ad tags are already present on the publisher's AMP webpages:

First, contact the Salesforce DMP Solutions team at kruxhelp@krux.com to get the Organization ID for your Salesforce DMP instance. This Organization ID will be used to ensure we are fetching segments for your organization. When contacting Salesforce DMP Solutions, please be sure to ask for the Organization ID used for AMP tags, as we have multiple forms of the Organization ID. Please confirm that the Organization ID provided consists of 30 alphanumeric characters separated by four dashes, and looks similar to the following:

abcd1234-ef56-ab78-cd90-efghij123456

Then, locate all instances of amp-ad tags on your AMP webpages. They should look similar to the following, and have required height, width, and type parameters (your specific implementation may have more):

<amp-ad width=300
height=250
type="foo">
...
</amp-ad>

For each amp-ad tag, we will be adding a new attribute called rtc-config and a URL that will fetch the DFP targeting object from Salesforce DMP. If the rtc-config attribute is already present on your amp-ad tags, please do not add the attribute a second time. Instead, you should add our URL to your existing list of URLs. Please keep in mind that AMP allows a maximum of 3 URLs to be configured per amp-ad tag. Two examples are provided below.

Example 1: Adding the rtc-config attribute and the salesforce DMP URL

If your setup looks like the following, and does not already have the rtc-config attribute:

<amp-ad width=300
height=250
type="foo">
...
</amp-ad>

Add the rtc-config attribute with our URL as shown in the code snippet below. Please replace ORGANIZATION_ID with the Salesforce DMP provided Organization ID, replace REPLACE_SEGS with the DFP targeting key you want to use for Salesforce DMP segments, and replace REPLACE_ID with the DFP targeting key you want to use for the Salesforce DMP global user identifier.

<amp-ad width=300
height=250
type="foo"
rtc-config='{
"urls": [
"https://cdn.krxd.net/userdata/v2/amp/ORGANIZATION_ID?segments_key=REPLACE_SEGS&kuid_key=REPLACE_ID"
]
}'
>
...
</amp-ad>

The following is one possible way of configuring this (using a fake Organization ID):

<amp-ad width=300
height=250
type="foo"
rtc-config='{
"urls": [
"https://cdn.krxd.net/userdata/v2/amp/abcd1234-ef56-ab78-cd90-efghij123456?segments_key=kxsg&kuid_key=kuid"
]
}'>
...
</amp-ad>

Example 2: ADDING the salesforce DMP URL to your existing list of urls

If your setup looks like the following, and you already have rtc-config attribute:

<amp-ad width=300
height=250
type="foo"
rtc-config='{
"urls": [
"https://www.AmpPublisher.biz/A",
"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT"
]
}'>
...
</amp-ad>

Add our URL as shown in the code snippet below. Please replace ORGANIZATION_ID with the Salesforce DMP provided Organization ID, replace REPLACE_SEGS with the DFP targeting key you want to use for Salesforce DMP segments, and replace REPLACE_ID with the DFP targeting key you want to use for the Salesforce DMP global user identifier.

<amp-ad width=300
height=250
type="foo"
rtc-config='{
"urls": [
"https://www.AmpPublisher.biz/A",
"https://www.amptgt.biz/B?d=START&vht=V_HT&vwt=V_WT",
"https://cdn.krxd.net/userdata/v2/amp/ORGANIZATION_ID?segments_key=REPLACE_SEGS&kuid_key=REPLACE_ID"
]
}'>
...
</amp-ad>

Deprecating Delayed Fetch (remote.html)

As soon as you add rtc-config to your amp-ad elements, they will start using Fast Fetch even though it may be before the Delayed Fetch deprecation date (March 29th, 2018). In order to continue using Delayed Fetch (remote.html) until March 29th, 2018, set the parameter useSameDomainRenderingUntilDeprecating as described in the linked documentation.

Once Fast Fetch is used, remote.html will no longer be loaded, thus any logic and callouts within will not execute despite the meta tag still being on your webpages. Please ensure any non-Salesforce DMP code in your remote.html file are also moved to the rtc-config. If you followed our previous implementation guide and used the Salesforce DMP provided remote.html file, then this is not a concern as all of our code will be handled by our new endpoint in the rtc-config.

Further Reading and Configuration Options

The amp-ad tag allows publishers to configure additional parameters that are not specific to targeting using Salesforce DMP. To read more about those parameters and different ways to configure your amp-ad tags, please reference the following guides published by AMP:

Have more questions? Submit a request

0 Comments

Article is closed for comments.