Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can export segments from Treasure Data directly to Salesforce DMP Krux using S3.

Salesforce DMP Krux helps collect and unify data from digital interactions across devices and use it to better understand your customers, for better marketing experiences. It unifies consumer data from first and third-party sources and algorithmically determines personas that best define a brand’s audience.

Table of Contents


  • Basic knowledge of Treasure Data, including the TD Toolbelt.

  • An S3 credential is provided by Salesforce.

  • Authorized Treasure Data account access.


TD supports the export of the following data columns:

  • identity_id}} that is our {{uid1

  • list of attributes: {{attr1:value1,attr2:value2 }} 

  • segments: {{segment:segment1,segment2,segment3}} 


This integration has three limitations:

  • 24-hour data delay. Salesforce has a daily batch process that picks up the files posted by this connector on S3 and then processes their contents before applying updates to audiences. Therefore, the connector has up to a 24-hour data delay before it is picked up by Salesforce DMP.

  • Audience updated replacement. If the connector runs twice on the same day, the second run replaces, not appends to, the file created by the first run. It is designed this way because Salesforce DMP requires that all updates to an audience within a single day to be consolidated into a single file per day. A "day" is in the UTC timezone.

  • Deduplication is not supported. Same user ID records can be duplicated depends on output results.

These limitations can impact how this connector can be used as an activation for Audience Studio. For more information, see Understanding Semantics.

Query Requirements

With the currently supported data for export, the query result must meet the following conditions:

  • The first column is named user_id, the second column is named td_segment.

  • Those 2 columns above must have the string data type.

  • The remaining columns will be saved as attributes that correspond to the format: column_name:value.

Designing a TD Workflow that Accommodates KRUX Semantics

The limitations can impact how this connector can be used as an activation for Audience Studio. Because you likely need to activate more than a single segment to Salesforce DMP per day, the following design is recommended:

Numbered Headings
Create a database called "activate_to_krux".

It is recommended that the target table in "activate_to_krux" have a common prefix such as "segment_".

From Audience Studio, use the Treasure Data Output activation and activate the "activate_to_krux" database.

This activation can contain at least two columns: KUID for Krux ID, segment_name for the name of the segment, which later becomes attributes name on Salesforce DMP.

Create a daily Treasure Data Workflow that:
    • scans "activate_to_krux"
    • consolidates all tables into one table
    • reformats the table into the format outlined in this documentation
    • outputs to Salesforce DMP

Obtaining Salesforce KRUX Authentication Information

Numbered Headings
Open Salesforce DMP.
Locate the following:

client name

e.g. client-treasure-data
access key id
secret access key

Use TD Console to Create your Connection

Create a New Connection

You must create and configure the data connection to be used during export, before running your query. As part of the data connection, you provide authentication to access the integration.

Numbered Headings
Open TD Console.
Navigate to Integrations Hub  Catalog.
Search for and select Salesforce DMP.

Select Create Authentication. You are creating an authenticated connection.
Specify the following authentication information:

Edit the client name (e.g. client-treasure-data), access key id, and secret access key that you retrieved from Salesforce DMP.

Enter a name for your connection.
Select Done.

Define your Query

Numbered Headings

Excerpt Include
PD:Exporting Your Query Data to Your Destination
PD:Exporting Your Query Data to Your Destination

Integration Parameters for Salesforce DMP Krux Export


Export Data

The first-party segment type is supported.
Skip invalid records

Append exported results into same date folder path: 

If selected, new files are created when the user exports data many times into the same destination. If clear, data is replaced.

Example Query


For example:

Code Block

Here is an example of what the conventional query results might look like:

Code Block
SELECT user_id, td_segment, email, firstname, lastname
  ('uid1', 'seg1,seg2', '', 'Britty', 'Morris'),
  ('uid2', 'seg1,seg2,seg3,seg4', '', 'David', 'Morris'),
  ('uid3', 'seg1', '', 'Halley', 'Morris')
   ) AS first_data(user_id, td_segment, email, firstname, lastname)

Optionally Schedule the Query Export Jobs

You can use Scheduled Jobs with Result Export to periodically write the output result to a target destination that you specify.

Numbered Headings

Excerpt Include
PD:Scheduling Jobs Using TD Console
PD:Scheduling Jobs Using TD Console

Optionally Configure Export Results in Workflow

Within Treasure Workflow, you can specify the use of this data connector to export data.

Learn more at Using Workflows to Export Data with the TD Toolbelt.

Example Workflow for Salesforce DMP Krux

Available parameters are as follows:

  • export_type: Enumeration. Of the different export types, first_party_segment was temporarily supported. Required*.

Code Block
timezone: UTC
    database: sample_datasets

  td>: queries/sample.sql
  result_connection: my_salesforce_dmp_connector  
    export_type: first_party_segment

Read about configuring Result Export in workflows from the command line.