Display Campaign Implementation Guide

Organizations can collect data from their advertising campaigns by including the Salesforce DMP impression and click tracking tags in their ads. This article describes the general process for including the Salesforce DMP tags in Display ads in an ad server, followed by the specific steps involved for trafficking the Salesforce DMP tags into Google's DoubleClick Campaign Manager (DCM) as well as Sizmek's MDX Open Ad Management Platform. It also outlines what to send to partners for site served placements as well.

There are three steps for implementing the Salesforce DMP tags for tracking impressions and clicks in display ad campaigns:

  1. Traffic a Salesforce DMP Impression Tracker to track ad impressions, and the Salesforce DMP Click Tracker to track any clicks
  2. Validate that the tags are firing correctly for both trackers (see the Media Tag Validation article for more)
  3. Provide Salesforce DMP with access to an ad server API or a mapping file to translate IDs from the ad server into their names (see the Media Attribute Mapping Import article for more)

If you use DCM or Sizmek (ad server), you can provide Salesforce DMP with access to connect to the ad server to request the names associated with the IDs.

There are two steps to grant Salesforce DMP access to the DCM API. The first is that your DCM account must be enabled for API access. The second is that a user profile for Salesforce DMP must be set up that has access to the account as well. To enable the API access, you contact your DoubleClick account representative or the DCM support team at dcm-support@google.com. The administrator of your DCM account can set up the user profile. Please ask them to set it up using the kruxdigital5@gmail.com account.

Username, password and appKey are needed to allow Salesforce DMP to access the Sizmek API. Contact your Sizmek account representative if you are unable to locate the appKey

The Salesforce DMP Impression and Click Trackers

There are two versions of the Salesforce DMP Impression Tracker: a dynamic JavaScript-based version of the impression tracker, and a static pixel-based version of the tracker. When possible, we suggest using the JavaScript-based version because it's more flexible, and will allow you to also fire additional third-party tags, if need be, through Salesforce DMP. This can be helpful when your ad server has a limited number of slots in it for third-party tags. If the publisher or environment doesn't support JavaScript, though, then you can always use the pixel-based version of the tracker instead. Only one version of the Salesforce DMP Impression Tracker should be delivered with an ad. If both are delivered, then there could be double counting of the impressions into Salesforce DMP.

JavaScript-based Impression Tracker

The JavaScript-based version of the Impression Tracker adheres to the following format:

CLICK TO SCROLL and view entire tag

https://cdn.krxd.net/controltag/Config123.js#kxbrand=Brand&advertiserid=Advertiser&campaignid=Campaign&placementid=Placement&adid=Ad&creativeid=Creative&siteid=Site&ksgs=KruxSegList

If the ad server you are using has issues with hash signs (#) in URLs, you can also use this alternate format, which uses a question mark (?) instead:

CLICK TO SCROLL and view entire tag

https://cdn.krxd.net/controltag/Config123.js?kxbrand=Brand&advertiserid=Advertiser&campaignid=Campaign&placementid=Placement&adid=Ad&creativeid=Creative&siteid=Site&ksgs=KruxSegList

In this case, in a valid impression tracker, you would find that:

  • Config123 is the Salesforce DMP Configuration ID for the ad server 'Site' as described in the Introduction here (required field)
  • Brand is an optional parameter for grouping and tracking by brand in the Salesforce DMP Platform
  • Advertiser is the Ad Server's Advertiser ID
  • Campaign is the Ad Server’s Campaign ID, or Order ID in some ad servers (required field)
  • Placement is the Ad Server's Placement ID
  • Ad is the Ad Server's Ad ID
  • Creative is the Ad Server’s Creative ID
  • Site is the Ad Server’s Site ID
  • ksegs parameter is optional, but if included, the >KruxSegList would be replaced by a comma delimited list of the Salesforce DMP Segment IDs that the ad or campaign is targeted to.

The Configuration ID is a required field, and must be the correct Salesforce DMP Configuration ID for the Media Tag associated with the Display channel.  This value can be found in the Salesforce DMP console by selecting Manage >> Sites from the top navigation.

This will take you to the Manage Sites screen in the console. Listed there you should see a Media Tag for the Display channel for your ad server. You should also see a column labeled Config. The alphanumeric string listed in this column is the Salesforce DMP Configuration ID, and is what should be used for the confid value in the Impression and Click tags.

If your ad server supports macros, you can use them to have the ad server dynamically paste the correct values in to the Salesforce DMP tags when the ad is served. For instance, if the Salesforce DMP Configuration ID for your Display channel Media Tag was EXAMPLE, and you were using DCM and wanted to use the DCM ad server macros, a valid Salesforce DMP Impression Tag would look like:

CLICK TO SCROLL and view entire tag

https://cdn.krxd.net/controltag/Config123.js#kxbrand=brand&advertiserid=%eadv!&campaignid=%ebuy!&placement=%epid!&adid=%eaid!&creativeid=%ecid!&siteid=%esid!

Note: The acceptable values for these fields can be alphanumeric characters (a-z,0-9) and hypens or dashes. Please see the table of Fields and Field Types in the Generating the Tags section for what is accepted for each field. If the macro passes in a value that includes an unaccepted character - such as non-alphanumeric character like a space, asterisk (*), comma(,) exclamation mark (!) or a percent sign (%) - data won't be collected. The macro itself can include special characters, but the value it is replaced with cannot.

Pixel-based Impression Tracker

The Pixel-based version of the Impression Tracker adheres to the following format:

CLICK TO SCROLL and view entire tag

https://beacon.krxd.net/ad_impression.gif?confid=Config123&kxbrand=Brant&advertiserid=Advertiser&campaignid=Campaign&placementid=Placement&adid=Ad&creativeid=Createive&siteid=Site

The only difference between the Pixel-based version of the Impression Tracker and the JavaScript-based version is how the two trackers start. With the Pixel-based version, it starts with https://beacon.krxd.net/ad_impression.gif?, where as the JavaScript-based version starts with https://cdn.krxd.net/controltag/. When these tags are trafficked, however, the Pixel-based version should be being served as an image - so the HTML that calls it should start with '<img src='. When the JavaScript-based version is served, it should be being served as a script, not an image. The HTML for that would look something like '<script type="text/javascript" src=' .

The fields included in both versions of the impression trackers are the exact same. The named strings in the above Pixel-based examples would again need to be replaced with the correct information. Please note, the field names are case-sensitive and should be used exactly as shown. The fields represent the following:

  • Config123 is the Salesforce DMP Configuration ID for the ad server 'Site' as described in the Introduction here (required field)
  • Brand is an optional parameter for grouping and tracking by brand in the Salesforce DMP Platform
  • Advertiser is the Ad Server's Advertiser ID
  • Campaign is the Ad Server’s Campaign ID, or Order ID in some ad servers (required field)
  • Placement is the Ad Server's Placement ID
  • Ad is the Ad Server's Ad ID
  • Creative is the Ad Server’s Creative ID
  • Site is the Ad Server’s Site ID
  • ksegs parameter is optional, but if included, the >KruxSegList would be replaced by a comma delimited list of the Salesforce DMP Segment IDs that the ad or campaign is targeted to.

The only required fields are the confid and the campaignid, but it's a good idea to pass as much information as possible into the Salesforce DMP Platform. That way, if you decide in the future that you want to create an audience segment of people who have seen a particular ad or creative, Salesforce DMP will have the data to be able to create that segment.

For help finding the Salesforce DMP Configuration ID in the Salesforce DMP console, please see the instructions in the JavaScript-based Impression Tracker section.

As with the JavaScript-based Impression Tracker, it is possible to use ad server macros to dynamically paste the correct values into the Pixel-based Impression Tracker when the ad is served. However, please note that the values for these fields can often only be integers, although there are some that can accept alphanumeric characters. Please see the table of Fields and Field Types in the Generating the Tags section for what is accepted for each field. If the macro passes in a value that includes an unaccepted character - such as non-alphanumeric character like a space, asterisk (*), comma(,) exclamation mark (!) or a percent sign (%) - then that data won't be collected. The macro itself can include special characters, but the value it is replaced with cannot.

Click Tracker

The Click Tracker adheres to the following format:

CLICK TO SCROLL and view entire tag

https://apiservices.krxd.net/click_tracker/track?kxconfid=Config123&kxbrand=Brand&kxadvertiserid=Advertiser&kxcampaignid=Campaign&kxplacementid=Placement&kxadid=Ad&kxcreativeid=Creative&kxsiteid=Site&clk=

With a valid click tracker, you would have:

  • Config123 is the Salesforce DMP Configuration ID for the ad server 'Site' as described in the Introduction here (required field)
  • Brand is an optional parameter for tracking and grouping by brand in the Salesforce DMP Platform
  • Advertiser is the Ad Server's Advertiser ID
  • Campaign is the Ad Server's Campaign ID, or Order ID in some ad servers (required field)
  • Placement is the Ad Server's Placement ID
  • Ad is the Ad Server's Ad ID
  • Creative is the Ad Server's Creative ID
  • Site is the Ad Server's Site ID
  • The clk parameter is a required field, and must be followed by the destination URL where people should be redirected to.

If you were using DCM ad server, had a Salesforce DMP client ID of XYZ123, and used the DCM macros to populate the values, the click tracker would look like:

https://apiservices.krxd.net/click_tracker/track?kxconfid=Config123&kxbrand=brand&kxadvertiserid=%eadv!&kxcampaignid=%ebuy!&kxplacementid=%epid!&kxadid=%eaid!&kxcreativeid=%ecid!&kxsiteid=%esid!&clk=%u

For help finding the Salesforce DMP Configuration ID in the Salesforce DMP console, please see the instructions in the JavaScript-based Impression Tracker section.

As with the Impression Trackers, it is possible to use ad server macros to dynamically paste the correct values into the Click Tracker when the ad is served. However, please note that the values for these fields can often only be integers, although there are some that can accept alphanumeric characters. Please see the table of Fields and Field Types in the Generating the Tags section for what is accepted for each field. If the macro passes in a value that includes an unaccepted character - such as non-alphanumeric character like a space, asterisk (*), comma(,) exclamation mark (!) or a percent sign (%) - then that data won't be collected. The macro itself can include special characters, but the value it is replaced with cannot.

Generating the Tags

The Salesforce DMP Solutions team can provide you with the tags you need for your campaigns. Salesforce DMP can also provide you with a Salesforce DMP Tag Generator Excel Workbook to help you generate the appropriate tags for your media campaigns, as well. The Workbook allows you to answer a few simple questions, such as what marketing channel you need to the tags for, and what ad server is being used, and then click a button to generate the tags with the correct Salesforce DMP Configuration IDs as well as the appropriate ad server macros, when available. In addition, the Workbook also lets you easily create the Salesforce DMP tags with hard-coded values as well, which can be useful with site served placements.

Ad server macros are, for the most part, unique to the ad server delivering the ad. Here is the list of the ad server macros for both DCM and Sizmek. For more information about DCM's macros, visit the DoubleClick Help Center page at: https://support.google.com/dcm/table/6096962. For help with Sizmek's macros, you can visit their Help Center at: https://support.sizmek.com/hc/

Field Accepted value / Field Type DCM Macro Sizmek Macro
confid and kxconfid Alphanumeric characters_
(DO NOT EDIT)
N/A N/A
brand and kxbrand Alphanumeric characters N/A N/A
advertiserid and kxadvertiserid Long %eadv! [%tp_AdvertiserID%]
campaignid and kxcampaignid Long %ebuy! [%tp_CampaignID%]
creativeid and kxcreativeid Long %ecid! [%tp_AdID%]
siteid and kxsiteid Long %esid! [%tp_SiteID%]
placementid and kxplacementid Long %epid! [%tp_PlacementID%]

Sizmek does not have a Creative ID ad server macro. To ensure data consistency across ad servers, you should use the Ad ID macro twice for Sizmek implementations, once for the Ad ID field and again in the Creative ID field.

Please note that the field types above identify what the accepted values are for that field. If it says it's a Long field type, then that field can only take an integer. If a macro passes in a value that isn't accepted for that field, then that data won't be collected. The macro themselves can include other characters, but the value it is replaced with cannot.

Trafficking the Tags in a Display Ad Server

Many ad servers include a user interface which lets you paste in third-party Impression and Click tracker URLs. If possible, it's recommended that you traffic the Impression and Click trackers at the Advertiser level and use ad server macros to populate the appropriate values in the trackers. It doesn't have any impact on the trackers themselves whether you traffic them at the Advertiser, Campaign, or Ad level, but it cuts down on the amount of work for your traffickers and helps avoid trafficking errors.

If your ad server doesn't have a UI for trafficking third-party tracking URLs, you should still be able to include them at the creative level. Some ad servers offer creative templates that include options for third-party trackers. With other ad servers you might have to change the creative type to one that lets you enter or edit the HTML code for the creative.

For the Click Tracker, you can always include the Salesforce DMP Click Tracker in the Click-through URL field directly by prepending the Salesforce DMP Click Tracker to the beginning of the Click-through URL. However, when doing this, it's often a good idea to URL encode the Click-through URL since this is a step often handled by an ad server. For example, if the Click-through URL was http://www.example.com, and you were using ad server macros for the values, then the URL with the Salesforce DMP Click Tracker included might look like:

CLICK TO SCROLL and view entire tag

https://apiservices.krxd.net/click_tracker/track?kxconfid=Config123&kxbrand=Brand&kxadvertiserid=%%ADVERTISER%%&kxcampaignid=%%CAMPAIGN%%&kxplacementid=%%PID%%&kxadid=%%ADID%%&kxcreativeid=%%CREATIVE%%&kxsiteid=%%SITEID%%&clk=http%3A%2F%2Fwww.example.com

A valid version of the Click Tracker would have the correct Salesforce DMP Configuration ID and the available ad server macros (where possible) - or the actual values for the advertiser, brand, campaign, site, placement, ad, creative, and click-through URL.

For help finding the Salesforce DMP Configuration ID in the Salesforce DMP console, please see the instructions in the JavaScript-based Impression Tracker section.

Trafficking the Tags in DCM

Salesforce DMP Impression and Click Tracking tags should be trafficked as DCM Event tags. You should traffic the Event Tags at the advertiser level, if possible, to save you from having to do more trafficking work. However, if you need to include brand information in the tags, then you'll likely need to traffic the tags at the campaign level instead. You should traffic one Event Tag for the Click Tracker, and then you could also traffic both versions of the Impression Tracker if you'd like as Event tags as well - or just one Impression Tracker if you want to use it universally. If you traffic both Impression Trackers, though, then you will need to white/blacklist sites appropriately to make sure only one of the Impression Trackers fires when an ad is delivered.

DCM Sample JavaScript-based Impression Tracker:

CLICK TO SCROLL and view entire tag

https://cdn.krxd.net/controltag/Config123.js#kxbrand=brand&advertiserid=%eadv!&campaignid=%ebuy!&placement=%epid!&adid=%eaid!&creativeid=%ecid!&siteid=%esid!
DCM Sample Pixel-based Impression Tracker:

CLICK TO SCROLL and view entire tag

https://beacon.krxd.net/ad_impression.gif?confid=Config123&kxbrand=Brand&advertiserid=%eadv!&campaignid=%ebuy!&placementid=%epid!&adid=%adid!&creativeid=%ecid!&siteid=%esid!

DCM Sample Click Tracker:

CLICK TO SCROLL and view entire tag

https://apiservices.krxd.net/click_tracker/track?kxconfid=Config123&kxbrand=Brand&kxadvertiserid=%eadv!&kxcampaignid=%ebuy!&kxplacementid=%epid!&kxadid=%adid!&kxcreativeid=%ecid!&kxsiteid=%esid!&clk=%u

DCM Impression Event Tag

To traffic the impression and click trackers as Event tags at the Advertiser level, log in to DCM. Click on the Advertiser tab, and then click on the name of the Advertiser you want to add the Event Tags to. This will open the Advertiser properties screen.

Scroll down the page, and open the Event tags section. Look under the Impression event tags heading, and click on the Advertisers tags tab. To add the Salesforce DMP Impression Tracker, click on the New impression event tag button.

Use the following values for the properties for a JavaScript-based Impression Tracker:

Name: Krux Display Impression Tracker (JS)
Application: Apply Automatically
Remove for Ad Exchange: On
Enabled: Yes
Tag Type: Script
Tag URL: Paste in the appropriate JavaScript-based Impression Tracker Tag URL
SSL: Compliant
Site Filter: If you want to use both versions of the Impression Tracker, then you should select which sites to white/blacklist

For a Pixel-based Impression Tracker, use the following values for the properties:

Name: Krux Display Impression Tracker (Pixel)
Application: Apply Automatically
Remove for Ad Exchange: On
Enabled: Yes
Tag Type: Image
Tag URL: Paste in the appropriate Pixel-based Impression Tracker Tag URL
SSL: Compliant
Site Filter: If you want to use both versions of the Impression Tracker, then you should select which sites to white/blacklist

When you're done filling out the form, click Save and that Salesforce DMP Impression Tracker will be trafficked in DCM for all of that Advertiser's ad campaigns.

Note: See the Salesforce DMP Impression Pixel As A Redirect For Site Served Media In DCM article for how to redirect the Salesforce DMP impression tracker on DCM's Standard impression tracker to eliminate the need for Publisher ad-ops to traffic the Salesforce DMP impression tracker separately.

DCM Click Event Tag

From the Advertisers properties page, scroll down until you see the Click event tags heading. (If it's closed, click on the Event tags section heading to see the listings).

Click on the Advertisers tags tab under the Click event tags heading. To add the Salesforce DMP Click Tracker click on New click event tag button.

Use the following values for these properties:

Name: Krux Display Click Tracker
Enabled: Yes
Escaping: None
Site filter: No filter
Tag URL: paste in the appropriate Salesforce DMP Click Tracker Tag URL.

Click the Save button, and your Salesforce DMPClick Tracker will be trafficked in DCM for all of that Advertiser's ad campaigns.

It's also possible to traffic the Salesforce DMP Impression and Click Trackers as Event Tags at the Campaign level.

Trafficking the Tags in Sizmek

[Needs Updated Screenshots & More Information]

Sizmek recommends that in-banner and out-of-banner ads use the JavaScript-based Impression Tracker.

! IMPORTANT: Be sure to set the tag type to "On Ad Download (JavaScript)" for the JavaScript-based Impression Tracker.

For all other ad types, including placements and in-stream ads, you should use the Pixel-based Impression Tracker and fill-in the values manually. The Click Tracker can be applied to all ad types. Sizmek also doesn't support tags with hash signs (#) in them, so you should only use the format that uses ampersands (&) as the field delimiters.

Sizmek Sample JavaScript-based Impression Tracker:

CLICK TO SCROLL and view entire tag

https://cdn.krxd.net/controltag/Config123.js#kxbrand=Brand&advertiserid=[%tp_AdvertiserID%]&campaignid=[%tp_CampaignID%]&placementid=[%tp_PlacementID%]&adid=[%tp_AdID%]&siteid=[%tp_SiteID%]

Sizmek Sample Pixel-based Impression Tracker:

CLICK TO SCROLL and view entire tag

https://beacon.krxd.net/ad_impression.gif?confid=Config123&brand=Brand&advertiserid=[%tp_AdvertiserID%]&campaignid=[%tp_CampaignID%]&placementid=[%tp_PlacementID%]&adid=[%tp_AdID%]&siteid=[%tp_SiteID%]

Sizmek Sample Click Tracker:

CLICK TO SCROLL and view entire tag

https://apiservices.krxd.net/click_tracker/track?kxconfid=config123&kxbrand=Brabd&kxadvertiserid=[%tp_AdvertiserID%]&kxcampaignid=[%tp_CampaignID%]&kxplacementid=[%tp_PlacementID%]&kxadid=[%tp_AdID%]&kxsiteid=[%tp_SiteID%]&clk=http://www.example.com

Note: Sizmek does not have a Creative ID ad server macro. Should you be using multiple ad servers, to ensure data consistency across ad servers, collect the Ad ID value twice for Sizmek implementations, once in the Ad ID parameter and again in the Creative ID parameter.

When implementing the Impression Trackers in Sizmek, please follow the settings below. Either a JavaScript-based or a Pixel-based impression trackers should be used for any placement. Do not use both.

Script-based Impression Tracker

Tag Type: Salesforce DMP Marketer "Control Tag"
Tag Format: JavaScript
Change Sizmek URL Settings To: "On Ad Download"
Use for: Placements only where JavaScript is accepted

Pixel-based Impression Tracker

Tag Type: Salesforce DMP Impression Tracker
Tag Format: Pixel
Change Sizmek URL Settings To: Impression Tracking
Use for: Placements where Javascript is not accepted

Click Tracker

When implementing the Click Tracker in Sizmek, please follow the settings below. Please ensure to modify the Click Tracker to contain the line-item appropriate destination/click-through URL.

Tag Type: Salesforce DMP Click Tracker
Change Sizmek URL Settings To: Click Tracking
Use for: All Placements

What to Send with Site Served Placements

There are two considerations to be made when sending the Salesforce DMP tags to be trafficked in a site served placement. Do you know the ad server that the site uses, and do you want the values in the tag to be for their ad server or your own? If you know the ad server they use, you can send them tags with their ad server's macros included in the tags already. The Salesforce DMP Tag Generator Excel Workbook that was mentioned in the Generating the Tags section could help you generate the tags with the appropriate ad server macros.

However, if you use the site's ad server macros, then the values included in the tag will be for the site's ad server. So if you have five different sites serving five different site served placements, then you would see five different campaigns in the Salesforce DMP Platform, even if you consider them all part of the same campaign. If you prefer, you could send the Salesforce DMP Tags with values from your own ad server already hard-coded in to them. In this case, those five different site served placements would appear as one campaign that was being served from your own ad server. Whether or not you want to use the site's ad server macros or your own hard-coded values simply depends on how you'd like to see the data represented in the Salesforce DMP Platform. If you choose to send hard-coded values, the Salesforce DMP Tag Generator Workbook can help you generate those tags as well.

If you don't know the ad server that the site is using - and you don't want to hard-code your own values into the tags - then you will need to send the tags with placeholder strings. You need to then tell the site that they will have to replace the placeholder strings with either the appropriate macros or values. You should also send them all three versions of the Salesforce DMP Trackers, but ask them to only implement a single Impression Tracker. Which Impression Tracker they implement should depend on which type of tag they accept.

Site Served Sample JavaScript-based Impression Tracker:

CLICK TO SCROLL and view entire tag

https://cdn.krxd.net/controltag/Config123.js#kxbrand=Brand&advertiserid=Advertiser&campaignid=Campaign&placementid=Placement&adid=Ad&creativeid=Creative&siteid=Site&ksgs=KruxSegList

Please note the named values in thee above sample tracker would need to be replace by you with the appropriate values.  Fields that are identified as IDs require integer values.

Site Served Sample Pixel-based Impression Tracker:

CLICK TO SCROLL and view entire tag

https://beacon.krxd.net/ad_impression.gif?confid=Config123&brand=Brand&advertiserid=Advertiser&campaignid=Campaign&placementid=Placement&adid=Ad&creativeid=Creative&siteid=Site

Once again the named values in the above sample tracker would need to be replaced by you with the appropriate values.  Fields that are identified as IDs require integer values.

Site Served Sample Click Tracker:

CLICK TO SCROLL and view entire tag

https://apiservices.krxd.net/click_tracker/track?kxconfid=Config123&kxbrand=Brand&kxadvertiserid=Advertiser&kxcampaignid=Campaign&kxplacementid=Placement&kxadid=Ad&kxcreativeid=Creative&kxsiteid=Site&clk=http://www.example.com

Please note that the named values and http://www.example.com values in the above sample tracker would need to be replaced by you with the appropriate values.  Fields that are identified as IDs require integer values.

Certain publishers that site serve placements will place limitations on the number of trackers allowed. If there is a publisher with a limitation on the number of trackers, please have them send an email to the Salesforce DMP Solutions team at kruxhelp@krux.com and report the following information in an easy-to-read format:

  • The ad server they are using
  • Any ad server limitations for including the Salesforce DMP Trackers
  • Any publisher or site specific limitations
  • The number of other trackers that may already be implemented with the campaign, and what those trackers are
  • The type of creative being trafficked
  • And if only one of the Salesforce DMP Trackers that is at issue, whether it's the Salesforce DMP Click Tracker or the Salesforce DMP Impression Tracker

Validating Your Implementation

For more details on validating Salesforce DMP with your Display Campaigns, see our Media Tag Validation article.

Media Attribute Mapping Import

For more details on updating IDs into human readable names, see our Media Attribute Mapping Import

Need Help?

If you need help with implementing Salesforce DMP with display campaigns, don't hesitate to contact the Salesforce DMP Solutions team at kruxhelp@krux.com.

Have more questions? Submit a request

0 Comments

Article is closed for comments.