Salesforce Marketing Cloud (SFMC) is a marketing automation solution that helps marketers with email, mobile, social, and online marketing automation. Use this integration to stream SFMC events such as email sent, email open, email click or SMS sent and SMS not sent actions, in a near real-time manner and have them in TD CDP for further decision-making.

Features of this integration:

  • Easily configurable connector to ingest SFMC events data to the TD platform 

  • Subscribe to specific or multiple SFMC events 

  • Use as a reliable data source

  • Stop subscribing to event data as needed

The following event data can be selected and streamed to Treasure Data from SFMC:

  • EmailSent

  • EmailNotSent

  • EmailBounced

  • EmailOpen

  • EmailClick

  • EmailUnsubscribe

  • SmsSent

  • SmsNotSent

You can set the destination for data as:

    • Plazma DB

This feature is in beta. Contact your Customer Success representative for more information.

Learn more about:



  • The expected target latency for data to be available in Plazma is between 5  to 10 minutes.
  • TD users are required to use the Write-only API key to create an SFMC Streaming connection.
  • Be aware of the number of callbacks that can be created for your SFMC account because this limits the number of sources that can be created on TD to ingest events.
  • Be aware of the email send limits for their SFMC account. See Salesforce Article.
  • You must create databases and tables in Plazma before creating sources to ingest data in those tables. Full support for automatic database and table creation is expected in the next implementation.
  • Expect a few seconds delay before the newly created source starts streaming data.
  • TD Toolbelt commands are not supported for Streaming connectors.
  • The event size commit to the SFMC streaming connection can't exceed 1MB.
  • The SFMC streaming connection data ingestion endpoint per task limit is ~400 requests per second.
  • Maximum of 2 tasks per account.


You need to complete the SFMC Package API Integration Setup which requires obtaining the SFMC Client ID and Secret first.

Obtaining SFMC Client ID and Secret

These instructions guide you to locate the client ID and client secret that is necessary to authenticate using credentials.

1. Go to Setup > Apps > Installed Packages.
2. Select New.
3. Type the Name and Description of the Package.
4. Select Save.

5. Locate the newly created Package in the list of installed packages.
6. Select the package name.
7.  Select Add Component.
8. Select API Integration 

9. Select Server-to-Server. 

10. Select EVENT NOTIFICATIONS options as showing in the following.

These options allow us to run operations for read/create/update/delete for callbacks and subscriptions.

OAuth 2.0 Scopes for Using API for SFMC Package Setup

If you use the API to get the credentials, then the following scopes need to be specified:


11. Copy Client Id and Client Secret.
    • Both are needed when you create the Connection in TD.
12. Copy Authentication Base URI and Rest Base URI.
    • Both are needed when you create the Source in TD.

Use the TD Console to Create Your Connection

Create a New Connection

In Treasure Data, you must create and configure the data connection before running your query. As part of the data connection, you provide authentication to access the integration.

1. Open TD Console.
2. Navigate to Integrations Hub  Catalog.
3. Search for and select Salesforce Marketing Cloud Data Streaming.
4. Select Create Authentication.

The following dialog opens.

5. Edit the following parameters:
Client IDRequired

The Client ID of your Salesforce Marketing Cloud.

See Obtaining SFMC Client ID and Secret.
Client SecretRequired

The Client Secret of your Salesforce Marketing Cloud.

See Obtaining SFMC Client ID and Secret.
TD API KeyRequired

TD write-only API Key for access to the database.

See Getting Your API Keys.

6. Select Continue.
7. Enter a name for your connection.
8. Select Done.

Transfer Your Data to Treasure Data

After creating the authenticated connection, you are automatically taken to the Authentications listing page.

1. Search for the connection you created. 
2. Select New Source.
3. Type a name for your Source in the Data Transfer field.
4. Select Next.

The Source Table dialog opens.

5. Edit the following parameters:
DatastoreRequiredPlazma is the only option available now.
TagsOptionalTags can be used to find this source
DatabaseRequiredSpecify the database within Treasure Data for which you want to import data into.
TableRequiredSpecify the table within the database where you would like the data placed.
Authorization EndpointRequiredAuthenticate URL. The endpoint that you want to use to provide the authorization. 
Rest API EndpointRequiredThe Salesforce REST API endpoints.
Event CategoriesRequiredWithin event categories, you can add and specify as many event types as are necessary for your environment.
Event TypeRequired

 Events can be generated, triggered by the system, or initiated by user action.

Review the list of values and select event types that you want to monitor.

6. Select Create.

 Source Id should be treated with caution.

Data Preview 

  •  For streaming data, there is no preview.

Data Ingestion

  • The connector can start Event data ingestion in TD as soon as the first event is triggered after successful Streaming data source creation.

  • No labels