Setting up the Salesforce Marketing Cloud Connection in BlueConic
For instructions on configuring and running the Salesforce Marketing Cloud Connection, see the main Salesforce Marketing Cloud page.
This article provides a technical overview of the different connection goals in the Salesforce Marketing Cloud connection. It supplements the primary article on how to configure the connection, and includes technical details on the following:
Import profiles: Records from data extension are imported into profile properties or the profile timeline.
Import groups: Records from data extension are imported into group properties.
Export profiles: Profile data (or derived data like segments) is sent to a data extension.
Export groups: Group data is exported to a data extension.
Trigger customer journeys: Add or remove a profile from a Salesforce Marketing Cloud journey.
For groups, you use a similar process as for profiles, so the steps for groups are not explicitly described on this page.
Note: BlueConic asks you to enter a file location external key when you use automatic mode (because this cannot be retrieved using the Salesforce Marketing Cloud API).
You can find the file location external key in Salesforce Marketing Cloud under Setup → Data Management → File Locations.
Note: You can choose whether to use a relative folder path with this connection.
Note: BlueConic generally uses the REST API instead of the SOAP API, but some functionality is only possible using the Salesforce Marketing Cloud SOAP API.
BlueConic uses CSV files on an SFTP server (from Salesforce Marketing Cloud) to be able to exchange data in a scalable way. There is a Salesforce Marketing Cloud API to send data in bulk to a data extension; however, there is no API for importing data in bulk, and we want to align the import and export.
To be able to exchange the files via SFTP, the credentials for the SFTP server need to be configured. Note: In Salesforce Marketing Cloud, it’s possible to define if data is imported or exported using PGP, so this option is also available in the BlueConic Salesforce Marketing Cloud connection.
Time zone
The setup page of the Salesforce Marketing Cloud Connection contains a time zone setting, and this has to match the time zone setting in your Salesforce Marketing Cloud instance. This setting can be found in Salesforce Marketing Cloud at Setup → Company Settings → Account settings.
The time zone setting is used for:
Profile, profile timeline, and group export: The time zone is used for the filename (the filename format is “YYYY-MM-DD-HH”). The time zone setting is not actually used for the export; the BlueConic UTC time is translated to a date format with a time zone in it (using MM/DD/YYYY hh:mm:ss A Z). Salesforce Marketing Cloud is responsible for translating this to the correct time zone according to the Salesforce Marketing Cloud setting
Profile import: For the export automation on the Salesforce Marketing Cloud side, the time zone setting is used to determine the start date.
Importing threshold events: When the automation setting is set to “automatic”, the default time zone (US/Central) is used; the time zone setting is used to parse dates from the CSV file.
Note: When you use the default Salesforce Marketing Cloud setup, it is set to CST but without daylight savings. To match this, you should set the setting to for example Costa Rica; see also Central Standard Time – CST Time Zone.
Import data from data extension into BlueConic
Common use cases:
Import subscriber data to have data such as country, first name, last name, etc. Note: Some BlueConic users do not use the email address as the subscriber key (but for example an internal id). This import is then needed to import the email address.
Import email engagement data such opens and clicks, to do analysis on the preferred channel or to use to include or exclude profiles in marketing campaigns.
Import consent: Salesforce Marketing Cloud often serves as the primary source of truth for end users' email or marketing consent.
The flow is as follows:
When a Salesforce Marketing Cloud connection is saved, the automation for all data extensions is updated to schedule an extract of the full data extension to be done every hour.
Salesforce Marketing Cloud gets the data from data extensions or from email engagement database to generate a CSV and put it in the Salesforce Marketing Cloud-owned SFTP server.
The BlueConic Salesforce Marketing Cloud connections batch run checks which unhandled files are on the Salesforce Marketing Cloud SFTP server for a specific data extension. When there are multiple files, the last one is taken. This can be the case when the Salesforce Marketing Cloud connection runs every day: the Salesforce Marketing Cloud SFTP server will contain 24 files which are not all handled because a full export is done every time and only one file is used.
Optionally files are linked (based on the configuration) and data processors are applied to transform the data.
Data is written to the profile. When the update for a profile is the same as in the last run, the update is ignored.
The automation created in step 1 contains the following steps for all configured data extensions in all import goals:
Create data extension extract
Create file transfer for extract
If engagement events are configured, for each event mapping:
Create tracking extract for the last 90 days.
Create file transfer for extract.
This is scheduled on the Salesforce Marketing Cloud side to run every hour (setting: FREQ=HOURLY;INTERVAL=1;UNTIL=20790606), independent of the connection's schedule setting in BlueConic. All steps for all data extensions are added to one automation.
Export data from BlueConic into Salesforce Marketing Cloud
Common use cases include:
Segments are created in BlueConic for campaigns and the segment is synced to Salesforce Marketing Cloud. Only the needed data for the email (email and data used for personalization) needs to be synced, because segmentation is done in BlueConic
The Salesforce Marketing Cloud connection is connected to a lifecycle stage to target people when they are part of a stage
Some customers prefer to determine the target audience in Salesforce Marketing Cloud (using a query), because they are familiar with this method. BlueConic recommends that you do the segmentation in BlueConic, because the same segment will be used for other data activations.
The flow is as follows:
When the Salesforce Marketing Cloud connection is saved in BlueConic, for each used data extension in an export goal an automation is created. This automation will immediately be triggered when a file is dropped on the Salesforce Marketing Cloud SFTP server matching the name of the data extension.
The Salesforce Marketing Cloud connection (batch process) retrieves the profiles from the database based on the configured segment or lifecycle.
The Salesforce Marketing Cloud connection transforms the data (based on the matching and mapping) to a CSV file and adds it to the Salesforce Marketing Cloud SFTP server using as filename the name of the data extension and a timestamp.
The automation is picking up the file and adds the data in the data extension. How this is done is based on the selected “update type” in BlueConic. Possible strategies: “Add and update”, “Add only”, “Overwrite” and “Update only”.
Once the data is in the data extension, it can be used for email campaign to send bulk emails.
The automation created in step 1 contains the following steps:
If PGP is configured, create a file transfer to do a decrypt of the file supplied by BlueConic.
Create a file import, which imports the CSV file in a data extension.
If the automation is defined, it will run when a file is dropped and the filename meets the criteria of the file generated by BlueConic.
Add profiles to a Salesforce Marketing Cloud journey
Common use cases:
When a linear journey is defined (for example with splits and / or SMS and email integrations), you would like to add a profile to a journey when the profile is part of a segment. This will trigger a campaign in Salesforce Marketing Cloud.
The flow is as follows:
When a profile is entering a segment (based on changing a profile property on the web), the BlueConic profile triggers a change. The segment and trigger properties are defined in the goal. When a connection goal is added to a lifecycle stage, the profile also has to be part of the stage.
The change is handled by the Salesforce Marketing Cloud connection and sends an API call (postEvent) to Salesforce Marketing Cloud journey builder
Depending on the Salesforce Marketing Cloud journey, data is written to a data extension
The flow of the journey determines what needs to be done for this person. In most cases an email is sent out, but it could also be a SMS or have conditional steps in between.
The batch run part of the Salesforce Marketing Cloud connection checks if profiles who have been added to the journey have left the segment or lifecycle stage. If that’s the case, an API call to the exitEvent Salesforce Marketing Cloud API is called and the person is removed from the journey.
Troubleshooting the connection to Salesforce Marketing Cloud
Review the information in Troubleshooting the connection to Salesforce Marketing Cloud for tips on running the connection and resolving errors.