Supercharge what your teams can do in Salesforce Marketing Cloud with rich customer data from your data warehouse
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. These are the minimum scopes. If using FTP mode, additional permissions are required.
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.
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.
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.
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.
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
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.
Hightouch will enter and exit contacts in the journey based on a column containing the contact key.
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.
Hightouch supports syncing objects to existing 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.
If FTP is selected, Hightouch will upload a file via FTP to SFMC. Then, Hightouch will create and run an Import Definition to import the file to the Data Extension. This is done in batches. After each batch, Hightouch processes the SFMC results file to determine row errors.
FTP mode requires:
- FTP credentials to be configured for the destination in Hightouch.
- Username, which is typically a ~10 digit numeric ID.
- Password or private key with a corresponding public key uploaded to SFMC.
- The private key in the Hightouch destination configuration should be the full
private key, starting with
-----BEGIN...PRIVATE KEY-----. You can generate a private-public key pair with a tool like ssh-keygen.
- A private key passphrase if required by your private key.
- The following permissions granted to the installed package in SFMC:
- File location read and write
- Automation read, write, and execute
The default mode uses only the SOAP API and works in smaller batches. FTP mode is generally faster.
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.
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.
Objects can be matched from your source to your Data Extension by the "primary" field of your Data Extension.
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
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.
For auto-created Data Extensions, you can select whether the Data Extension is sendable and testable. These properties are set the next time the sync runs.
Testable can only be set if sendable is set.
The options available for the sendable field are the currently mapped fields.