Get Started

OverviewCreate a sourceCreate a modelCreate a destinationCreate a sync


AcousticActiveCampaignAirtableAmplitudeAsanaAuth0Bing AdsBrazeChurnzeroClientSuccessCloseCustom DestinationCustomer.ioFacebook Conversions APIFacebook Custom AudiencesFacebook Offline Conversions APIFacebook Product CatalogFreshdeskFrontGainsightGainsight PXGoogle AdsGoogle Campaign ManagerGoogle SheetsHeapHubspotIntercomIterableJiraKlaviyoMailchimpMarketoMixpanelMoengageMongoDBmParticleNetsuiteNotionOneSignalOrbitOutreachPartnerstackPendoPipedrivePostgreSQLQualtricsReply.ioRoktRudderstackS3SailthruSalesforceSalesforce Marketing CloudSalesforce Marketing Cloud File DropSalesloftSegmentSendGridSFTPSlackSnapchatStripeTheTradeDesk PostbackTiktokTotangoUserflowVeroWebhookZendesk
Documentation/Destinations/Salesforce Marketing Cloud

Salesforce Marketing Cloud

Table of Contents
Marketing Cloud by Salesforce is a platform that helps marketers engage with their audience at scale. The platform provides digital marketing automation, analytics, and lead management for B2B and B2C companies.


To connect Hightouch to Marketing Cloud, a "package" must be created in Marketing Cloud on behalf of Hightouch.Navigate to Setup > Apps > Installed Packages and hit "New". Name your package and after creating it, add an API Integration component to the package with the integration type as "Server-to-server".Grant Hightouch the scopes for journey, list, subscribers, accounts, and data extensions as below: With the API Integration created, copy the client ID, client secret, and subdomain into Hightouch. The subdomain is the part of the authentication base URI highlighted in the red box.

Syncing Marketing Cloud Contacts

Sync Modes

This integration only supports upserting contacts into Marketing Cloud. In this mode, new users will be inserted into Marketing Cloud and all user attributes will be kept up-to-date when mapped.

Record Matching

Records can be matched from your source to your Marketing Cloud workspace by your contact key. Note: this is not the ID or email address, but the contact key on the top left of the contact page.

Field Mapping

You can sync columns from your source to Marketing Cloud's attribute sets.Ensure all the required fields in each attribute set is completed. For example, to add an email address, both Email Address and HTML Enabled must be mapped. Refer to the Usage section of the Creating Contacts documentation.

Managing User Journeys

Hightouch can manage the entry and exit of contacts in Marketing Cloud journeys based your results.
  • When a record enters your results set, a contact will be added to the journey via a contact key (this is done by triggering the entry event)
  • When a record leaves your results set, a contact will be exited from the journey

Journey Selection

Here is an example journey that the Hightouch would work for, note that it is:
  • A multi-step journey
  • Triggered by an entry API event with an associated event definition key and data extension
Hightouch will automatically look for the event definition key, simply select a journey that fits the above requirements.

Record Matching

Hightouch will enter and exit contacts in the journey based on a column containing the contact key.

Field Mapping

Field mapping is needed to map other columns in your results to the data extension containing data for your journey.In the data extension, there is a required attribute email_address which means that you will have to map a result column to that attribute. You can do this in Hightouch by typing the attribute name in the mappings section.

Syncing Data Extension Objects

Hightouch supports syncing objects to existing Data Extensions.

Automatic Creation of Data Extensions

If enabled, Hightouch will create a Data Extension for you the first time the sync runs:The Data Extension's name can be specified as well. The name defaults to the model name, and it will be used for the Data Extension's customer key as well.The Data Extension will only be created the first time the sync runs. Hightouch will not modify the name or customer key of the Data Extension after the first run. If you want to change the name or customer key, you will have to create a new sync.

Field Mapping for Automatically Created Data Extensions

If you are using a Data Extension automatically created by Hightouch, you can create new fields and select their types.The primary field will be required. If it's a text field, its max length will be set to the maximum of 4000.All other fields will be optional.Hightouch will add new fields to the Data Extension that are added each run.Hightouch will not remove fields that are dropped from the sync.

Sync Modes

Hightouch supports upsert mode for Data Extension objects. In this mode, new objects will be inserted into the data extension and all object attributes will be kept up-to-date when mapped.Deletion is disabled by default. If you enable it, Hightouch will delete objects that are removed from your results set.

Record Matching

Objects can be matched from your source to your Data Extension by the "primary" field of your Data Extension.

Field Mapping

You can map from your source to any field in your Data Extension. Make sure that you include all non-nullable fields when syncing new objects to the Data Extension. In upsert mode, it's possible to send requests that don't have all non-nullable fields, but only if the object already exists in the Data Extension. For new objects, non-nullable fields are required.