(API) Salesforce Marketing Cloud (formerly known as ExactTarget) is a digital marketing suite that allows you to build and customize journeys for visitors and customers to personalize their experience.
Note the difference between this connection and the other Salesforce Marketing Cloud connection that exists within the Email marketing catalog section. The other Salesforce Marketing Cloud connection allows you to export files to a specified storage location, whereas this is an API-based streaming connection.
This Adobe Experience Platform destination leverages the Salesforce Marketing Cloud update contacts API, which allows you to add contacts / update contact data for your business needs after activating them within a new Salesforce Marketing Cloud segment.
Salesforce Marketing Cloud uses OAuth 2 with Client Credentials as the authentication mechanism to communicate with the Salesforce Marketing Cloud API. Instructions to authenticate to your Salesforce Marketing Cloud instance are further below, in the Authenticate to destination section.
To help you better understand how and when you should use the (API) Salesforce Marketing Cloud destination, here is a sample use case that Adobe Experience Platform customers can solve by using this destination.
The sales department of a home rental platform wants to broadcast a marketing email to a targeted customer audience. The platform’s marketing team can add new contacts / update existing contacts (and their email addresses) through Adobe Experience Platform, build segments from their own offline data, and send these segments to Salesforce Marketing Cloud, which can then be used to send the marketing campaign email.
Before activating data to the (API) Salesforce Marketing Cloud destination, you must have a schema, a dataset, and segments created in Experience Platform.
Note the following prerequisites in order to export data from Platform to your Salesforce Marketing Cloud account:
A Salesforce Marketing Cloud account with a subscription to the Marketing Cloud Account Engagement product is mandatory to proceed.
Reach out to Salesforce Support if you do not have a Salesforce Marketing Cloud account or your account is missing the Marketing Cloud Account Engagement product subscription.
When activating segments to the (API) Salesforce Marketing Cloud destination, you must input a value in the Mapping ID field for each activated segment, in the Segment schedule step.
Salesforce requires this value to correctly read and interpret segments coming in from Experience Platform and to update their segment status within Salesforce Marketing Cloud. Refer to the Experience Platform documentation for Segment Membership Details schema field group if you need guidance on segment statuses.
For each segment that you activate from Platform to Salesforce Marketing Cloud, you need to create an attribute of the type
Text within Salesforce. Use the Salesforce Marketing Cloud Contact Builder to create attributes. The attribute field names are used for the (API) Salesforce Marketing Cloud destination field and should be created under the
Email Demographics system attribute-set. You can define the field character with a maximum of 4000 characters, according to your business requirement. See the Salesforce Marketing Cloud Data Extensions Data Types documentation page for additional information on attribute types.
Refer to the Salesforce Marketing Cloud documentation to create attributes if you need guidance on creating attributes.
An example of the data designer screen in Salesforce Marketing Cloud, into which you will add the attribute is shown below:
A view of the Salesforce Marketing Cloud Email Demographics attribute-set is shown below:
The (API) Salesforce Marketing Cloud destination uses the Salesforce Marketing Cloud Search Attribute-Set Definitions REST API to dynamically retrieve the attributes and their Attribute-Sets’ defined within Salesforce Marketing Cloud.
These are displayed in the Target field selection window when you set up the mapping in the workflow to activate segments to the destination. Note that only mappings for the attributes defined within the Salesforce Marketing Cloud
Email Demographics attribute-set are supported.
Within Salesforce Marketing Cloud, you must create attributes with a FIELD NAME that exactly matches the value specified within Mapping ID for each activated Platform segment. For example, the screenshot below shows an attribute named
salesforce_mc_segment_1. When activating a segment to this destination, add
salesforce_mc_segment_1 as Mapping ID to populate segment audiences from Experience Platform into this attribute.
An example of attribute creation in Salesforce Marketing Cloud, is shown below:
(_)character as a separator.
Note down the items below before you authenticate to the (API) Salesforce Marketing Cloud destination.
|Subdomain||See Salesforce Marketing Cloud domain prefix to learn how to obtain this value from the Salesforce Marketing Cloud interface.||If your Salesforce Marketing Cloud domain is
you need to provide
|Client ID||See the Salesforce Marketing Cloud documentation to learn how to obtain this value from the Salesforce Marketing Cloud interface.||r23kxxxxxxxx0z05xxxxxx|
|Client Secret||See the Salesforce Marketing Cloud documentation to learn how to obtain this value from the Salesforce Marketing Cloud interface.||ipxxxxxxxxxxT4xxxxxxxxxx|
(API) Salesforce Marketing Cloud supports the activation of identities described in the table below. Learn more about identities.
|contactKey||Salesforce Marketing Cloud Contact Key. Refer to the Salesforce Marketing Cloud documentation if you need additional guidance.||Mandatory|
Refer to the table below for information about the destination export type and frequency.
|Export frequency||Streaming||Streaming destinations are “always on” API-based connections. As soon as a profile is updated in Experience Platform based on segment evaluation, the connector sends the update downstream to the destination platform. Read more about streaming destinations.|
To connect to the destination, you need the Manage Destinations access control permission. Read the access control overview or contact your product administrator to obtain the required permissions.
To connect to this destination, follow the steps described in the destination configuration tutorial. In the configure destination workflow, fill in the fields listed in the two sections below.
Within Destinations > Catalog, search for (API) Salesforce Marketing Cloud. Alternatively you can locate it under the Email marketing category.
To authenticate to the destination, fill in the required fields below and select Connect to destination. Refer to the Gather Salesforce Marketing Cloud credentials section for any guidance.
|(API) Salesforce Marketing Cloud destination||Salesforce Marketing Cloud|
|Subdomain||Your Salesforce Marketing Cloud domain prefix.
For example if your domain is
you need to provide
|Client ID||Your Salesforce Marketing Cloud
|Client Secret||Your Salesforce Marketing Cloud
If the details provided are valid, the UI displays a Connected status with a green check mark, you can then proceed to the next step.
To configure details for the destination, fill in the required and optional fields below. An asterisk next to a field in the UI indicates that the field is required.
You can enable alerts to receive notifications on the status of the dataflow to your destination. Select an alert from the list to subscribe to receive notifications on the status of your dataflow. For more information on alerts, see the guide on subscribing to destinations alerts using the UI.
When you are finished providing details for your destination connection, select Next.
To activate data, you need the Manage Destinations, Activate Destinations, View Profiles, and View Segments access control permissions. Read the access control overview or contact your product administrator to obtain the required permissions.
Read Activate profiles and segments to streaming segment export destinations for instructions on activating audience segments to this destination.
To correctly send your audience data from Adobe Experience Platform to the (API) Salesforce Marketing Cloud destination, you need to go through the field mapping step. Mapping consists of creating a link between your Experience Data Model (XDM) schema fields in your Platform account and their corresponding equivalents from the target destination.
To correctly map your XDM fields to the (API) Salesforce Marketing Cloud destination fields, follow the steps below.
Although your attribute names would be as per your Salesforce Marketing Cloud account, the mappings for both
personalEmail.address are mandatory. When mapping attributes, only attributes from the Experience Platform
Email Demographics attribute-set should be used within the target fields.
In the Mapping step, select Add new mapping. You will see a new mapping row on the screen.
In the Select source field window, choose the Select attributes category and select the XDM attribute or choose the Select identity namespace and select an identity.
In the Select target field window, choose the Select identity namespace and select an identity or choose Select custom attributes category and select an attribute from the
Email Demographics attributes displayed as needed. The (API) Salesforce Marketing Cloud destination uses the Salesforce Marketing Cloud Search Attribute-Set Definitions REST API to dynamically retrieve the attributes and their attribute sets defined within Salesforce Marketing Cloud. These are displayed in the Target field popup when you set up the mapping in the activate segments to workflow. Note, only mappings for the attributes defined within the Salesforce Marketing Cloud
Email Demographics attribute set are supported.
Repeat these steps to add the following mappings between your XDM profile schema and (API) Salesforce Marketing Cloud:
|Source Field||Target Field||Mandatory|
An example using these mappings is shown below:
When you have finished providing the mappings for your destination connection, select Next.
When performing the Schedule segment export step, you must manually map Platform segments to the attributes in Salesforce Marketing Cloud.
To do this, select each segment, then enter name of the attribute from Salesforce Marketing Cloud in the (API) Salesforce Marketing Cloud Mapping ID field. Refer to the Create attribute within Salesforce Marketing Cloud section for guidance and best practices on creating attributes in Salesforce Marketing Cloud.
For example, if your Salesforce Marketing Cloud attribute is
salesforce_mc_segment_1, specify this value in the (API) Salesforce Marketing Cloud Mapping ID to populate segment audiences from Experience Platform into this attribute.
An example attribute from Salesforce Marketing Cloud is shown below:
An example indicating the location of the (API) Salesforce Marketing Cloud Mapping ID is shown below:
As shown the (API) Salesforce Marketing Cloud Mapping ID should exactly match the value specified within Salesforce Marketing Cloud FIELD NAME.
Repeat this section for each activated Platform segment.
Depending on your use case all activated segments can be mapped to the same Salesforce Marketing Cloud FIELD NAME or to different FIELD NAME in (API) Salesforce Marketing Cloud. A typical example based on the image shown above could be.
|(API) Salesforce Marketing Cloud segment name||Salesforce Marketing Cloud FIELD NAME||(API) Salesforce Marketing Cloud Mapping ID|
|salesforce mc segment 1||
|salesforce mc Segment 2||
To validate that you have correctly set up the destination, follow the steps below:
Select Destinations > Browse to navigate to the list of destinations.
Select the destination and validate that the status is enabled.
Switch to the Activation data tab, then select a segment name.
Monitor the segment summary and ensure that the count of profiles corresponds to the count created within the segment.
Log in to the Salesforce Marketing Cloud website. Then navigate to the Audience Builder > Contact Builder > All contacts > Email page and check if the profiles from the segment have been added.
To check if any profiles have been updated, navigate to the Email page and verify if the attribute values for the profile from the segment have been updated. If successful, you can see that each segment status in Salesforce Marketing Cloud was updated with the corresponding segment status from Platform, based on the Mapping ID value provided in the segment scheduling step.
All Adobe Experience Platform destinations are compliant with data usage policies when handling your data. For detailed information on how Adobe Experience Platform enforces data governance, see the Data Governance overview.
When checking a dataflow run, you might encounter the following error message:
Unknown errors encountered while pushing events to the destination. Please contact the administrator and try again.
When activating a segment, you might obtain an error message:
The client's IP address is unauthorized for this account. Allowlist the client's IP address...