Salesforce DMP Destination

This destination is currently in beta. If you are interested in joining, let us know!

Salesforce DMP allows website operators to create a holistic databank to organize, taxonomize and make their full range of audience information actionable. It allows them to model, define and manage audience segments to improve content delivery and advertising revenue.

NOTE: Salesforce DMP is currently in beta, and this doc was last updated on April 3, 2018. This means that there may still be some bugs for us to iron out and we’re excited to hear your thoughts. If you are interested in joining or have any feedback to help us improve the Salesforce DMP Destination and its documentation, please let us know!

Getting Started

The first step is to make sure Salesforce DMP supports the source type and connection mode you’ve chosen to implement. You can learn more about what dictates the connection modes we support here.

📱 Device-based
☁️ Cloud-based
  1. From your Segment UI’s Destinations page click on “Add Destination”.
  2. Search for “Salesforce DMP” within the Destinations Catalog and confirm the Source you’d like to connect to.

Client-Side Web Implementation

  1. You’ll need a “Config ID” from your Salesforce DMP console. Log into the console and go to Manage > Capture > Sites. If you don’t see this option, talk to your Salesforce DMP representative.

  2. In that tab, you should see a dropdown list of sites and tags. If you haven’t created one already, then select “Create Site” and go through the options to create a new site.

  3. In the dropdown, find the site tag which you’d like to use for your source’s Salesforce DMP destination. The string we want is under “Config” - it will look something like r0u08k4tz.

Server-Side Implementation

  1. To set up Salesforce DMP via a server-side connection, you’ll need a full Pixel.gif URL. To locate this, please contact your Salesforce DMP representative. Helpful documentation can be found here.
  2. Once you’ve retrieved your Pixel.gif URL, follow the instructions in the Segment Salesforce DMP settings to enter your Pixel.gif Domain, Pixel.gif Site and Pixel.gif Section in the correct fields.


On the client, page fires an event to the usermatch.gif endpoint, sending the visitor’s anonymousId.

On mobile and the server, page and screen fire off to the pixel.gif endpoint. To use these calls, make sure that you’ve defined your Pixel.gif Domain, Site, and Section in your Segment Salesforce DMP destination settings. When you fire off this call, it will send the IDFA or AAID if it exists, plus the data from the destination’s settings. If you’ve defined any mappings in the “Page Call - Page Attribute Data” or “Page Call - User Attribute Data” fields in your destination, we will send those values, if they exist in the properties.


identify is used to match Segment user IDs inside of Salesforce DMP. We will send the userId if it’s provided (for example, analytics.identify('asd231') will send asd231 as the userId), falling back to anonymousId if no userId is provided. On mobile and server, we will automatically include the user’s IDFA or AAID, if it’s provided. This will match both our Segment IDs and the mobile advertising IDs to the Salesforce DMP UUID.


On the client, track pushes event properties to the Krux data layer, then sends information in the dataLayer to Krux. To track events on the client, you must add each event name to the “AJS Track Event Whitelist” setting in your Segment Salesforce DMP settings.

On mobile and the server, track is used to fire off to the event.gif endpoint. You do not need to whitelist any events.

To use this call in any environment, make sure that you’ve defined any Event ID mappings in both your Segment Salesforce DMP destination settings, and in your Salesforce DMP console under Manage > Capture > Events. If you’ve defined any mappings in the “Track Call - Event Attribute Mapping” field in your Segment settings, we will send those values, if they exist in the properties.

Common Server-Side Salesforce DMP Errors

You may see these errors appear in a Segment source’s “event tester” or “event delivery” dashboard. Here’s what they mean and how to fix them.

Invalid Settings Errors

An “invalid settings” error indicates that there’s something wrong with your destination’s settings in Segment.

A Site is required to send Page, Identify or pixel-based Track calls.

A valid event Id mapping is required for event [ event name ].

Message Rejected Errors

A “message rejected” error indicates that there’s an issue on the destination’s end - either Segment received an error code or the event is not formatted correctly for the destination and would fail if Segment attempted delivery.

A valid advertisingId in the message payload is required to send this event to SFDMP.

If you have any questions, or see anywhere we can improve our documentation, please let us know!