Salesforce Marketing Cloud Source

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

Salesforce Marketing Cloud, formerly known as ExactTarget, is a marketing automation suite with the ability to build complete customer journeys as well as creating, targeting, tracking, and managing email and digital media campaigns.

With the Segment Salesforce Marketing Cloud Source, you can extract data from Marketing Cloud and send them to a data warehouse such as Redshift or Big Query with ease, avoiding having to build your own expensive custom solutions.

If you are trying to setup Salesforce Marketing Cloud as a destination to receive data from Segment, check out Salesforce Marketing Cloud Destination.

NOTE: The Salesforce Marketing Cloud Source is currently in beta. This means that component names and functionality may change. If you have any feedback to help us improve the Salesforce Marketing Cloud Source and its documentation, and please let us know!

Getting Started

API Access

To access the Salesforce Marketing Cloud data on your behalf, Segment requires the client ID and client secret from your Salesforce Marketing Cloud integration. The integration must also have the following permissions:

CategoryCollectionPermission Needed
AutomationJourneys (Interactions)Read
ContactsLists and SubscribersRead
HubCampaignsRead

If you already have a Salesforce Marketing Cloud Segment Destination, you can choose to re-use the client ID and client secret setup for the destination. To enable the permissions required for the source:

  1. Log in to your Salesforce Marketing Cloud account.
  2. Click your name in the top-right corner of the screen and select “Administration”.
  3. Navigate to the existing package with the the Segment destination API Integration.
  4. Adjust the scope according to the permission table above.
  5. Click “Save”.

If you do not have a Salesforce Marketing Cloud Segment Destination, follow the steps below to acquire the client ID and client secret:

  1. Log in to your Salesforce Marketing Cloud account.
  2. Click your name in the top-right corner of the screen and select “Administration”.
  3. Click the “Account” menu at the top-left corner of the page and select “Installed Packages”.
  4. If you want to use an existing package, click on that one or click “New” to create a new one. We recommend giving it a name like “Segment”.
  5. Click “Add Component”.
  6. Select “API Integration” and click “Next”.
  7. Enable the permissions as specified in the table above.
  8. Click “Save”.

You should now see a Summary page with a Components section. This section lists your Client ID and Client Secret settings.

Enable the Salesforce Marketing Cloud Source

  1. From your Segment workspace’s /Sources page, click Add Source.
  2. Under the Email Marketing category, choose Salesforce Marketing Cloud and click Connect.
  3. Give your source a name to identify it within your workspace.
  4. Select the data warehouses to connect the source to.
  5. Specify the Client ID and Client Secret values acquired from the API Access section above

Components

Sync

The Salesforce Marketing Cloud source is built with a sync component, which means we’ll make requests to their API on your behalf on a 3 hour interval to pull the latest data into Segment. In the initial sync, we’ll grab all the Salesforce objects (and their corresponding properties) according to the Collections Table below. The objects will be written into a separate schema, corresponding to the source instance’s schema name you designated upon creation. For example, if you went with sfmc_prod, the campaigns collection will be accessible at sfmc_prod.campaigns in SQL.

Each sync will only sync the data that has been modified since the previous sync.

The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources will sync with Segment every 3 hours. Depending on your Warehouses plan, we will push the Source data to your warehouse on the interval associated with your billing plan.

Collections

Collections are the groupings of resources we pull from your source. In your warehouse, each collection gets its own table.

CollectionTypeDescription
campaignsObjectA campaign in your account. Corresponds to Campaigns
campaign_assetsObjectThe assets associated with each campaign. Corresponds to campaign_assets
listsObjectA mailing list. Corresponds to Lists

Collection Properties

Segment performs a one-to-one mapping of all publicly available fields from Salesforce Marketing Cloud. Below are tables outlining the properties included in the collections listed above.To see the full description of each property, please refer to the Salesforce Marketing Cloud documentation linked in each collection above.

Campaigns

Property NameDescription
campaign_codeThe campaign short code
colorThe code of the calendar color given to the campaign
created_dateTimestamp when the campaign was created
descriptionThe campaign description
favoriteWhether the campaign was favorited
idThe campaign’s unique ID in Salesforce Marketing Cloud
modified_dateTimestamp when the campaign was last modified
nameThe campaign name

Campaign Assets

Property NameDescription
campaign_idThe ID of the campaign this asset is associated to
created_dateTimestamp when the asset was created
idThe campaign asset ID
item_idThe asset’s unique ID in Salesforce Marketing Cloud
typeThe asset type. Can be one of: email, triggered send, mobile message, push message, twitter update, facebook update, facebook tab, sites, landing pages, subscriber list, subscriber group, data extension, automation, or event

Lists

Property NameDescription
categoryID of the folder containing the list
client_created_byUser ID of the user who created the list
client_customer_keyExternal key assigned to the list in Marketing Cloud
client_idID of the owner account of the list
client_modified_byUser ID of the user who last modified the list
client_partner_client_keyUser-defined partner key for owner account of the list
client_partner_user_keySpecifies the partner key value of a user
client_user_idUser ID of the owner account of the list
created_dateTimestamp when the list was created
customer_keyUser-supplied unique identifier for an object within an object type. This property corresponds to the external key assigned to an object in Marketing Cloud.
descriptionThe list description
idThe list’s unique ID in Salesforce Marketing Cloud
list_classificationSpecifies the classification for a list. Valid values include: ExactTargetList, PublicationList, SuppressionList
list_nameThe list name
modified_dateTimestamp when the list was last modified
object_idAuto-generated ID for the object
partner_keyUnique ID provided by the partner for the object
typeIndicates the list type. Valid values include Public, Private, Salesforce, GlobalUnsubscribe, and Master

Adding Destinations

Currently, Warehouses are the only supported destination for object-cloud sources.


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