Salesforce Marketing Cloud
Use GrowthLoop audiences and warehouse data for Marketing Cloud Data Extensions and transactional email.
Connect this destination to export audience membership onto a Marketing Cloud Data Extension, to trigger a published transactional journey from a Destination Node, or to write warehouse rows onto Data Extension rows, for use in Marketing Cloud.
This destination writes to your Salesforce Marketing Cloud account and is a good fit when you want to:
- Make GrowthLoop audiences available as Marketing Cloud Data Extensions
- Match contacts on email and a subscriber key
- Trigger a published transactional journey from a GrowthLoop journey
This maps to GrowthLoop Audiences, Journeys, and Syncs:
| Use it for | Audiences | Journeys | Syncs |
|---|---|---|---|
| Sending GrowthLoop audiences to a Marketing Cloud Data Extension | ✓ | ✓ | |
| Triggering a published transactional journey | ✓ | ||
| Creating or updating Data Extension rows from a warehouse table | ✓ |
For campaign patterns after an export, see Integrate with Salesforce Marketing Cloud.
To create Salesforce campaigns or records, use Salesforce CRM. To write Account Engagement lists, use Salesforce Pardot.
Prerequisites
Make sure you have:
- A Marketing Cloud account. The user who creates the installed package needs Installed Package | Administer.
- A server-to-server API integration. In Marketing Cloud, click your profile, then Setup > Apps > Installed Packages. Click New, name the package, add an API component, and choose Server-to-Server.
- Data Extensions read and write on that package. If you will use Send Email from a journey, also grant access to list and fire published transactional journeys.
- Your Subdomain, Client Id, and Client Secret from that installed package.




The Subdomain is the host segment of the Authentication Base URI between https:// and .auth.marketingcloudapis.com.

Set up Salesforce Marketing Cloud as a destination
- In GrowthLoop, click the Destinations tab on the left sidebar.
- Click New Destination in the top right corner.
- Search for Marketing Cloud and click Add Marketing Cloud.
- Enter the required information, then click Create.

| Field | Description |
|---|---|
| Destination Name | Name this destination in GrowthLoop. Use a name so your team recognizes its purpose, like "Marketing Cloud Email". |
| Sync Frequency | Set the default export frequency (for example, daily or weekly). You can override this setting for individual exports and syncs. |
| Subdomain | Host segment of the Authentication Base URI, between https:// and .auth.marketingcloudapis.com. |
| Client Id | Client Id from the installed package. |
| Client Secret | Client Secret from the installed package. |
| Business Unit MID (optional) | Default business unit for this destination. You can also choose a business unit on each export. |
| Data Folder ID (optional) | Default Data Extension folder for this destination. You can also choose a folder on each export. |
| Prefix for Personalization Fields (optional) | Prefix GrowthLoop adds to personalization fields. The default value is fw. Leave this blank for no prefix. If you set one, it must start with a letter and use up to 5 letters or numbers. |
GrowthLoop validates the credentials against Marketing Cloud. Marketing Cloud then appears in your list of connected destinations.
Export to Salesforce Marketing Cloud
From within GrowthLoop, export from an audience or from a journey Destination Node. See Export an audience or Build a journey if you need more information on these steps.
After building or selecting an audience, click Export, then search for Marketing Cloud. In a journey, add a Destination Node under Email and select Marketing Cloud. To write Data Extension membership, keep the export action on Add to new Data Extension or Add to existing Data Extension. To trigger a transactional journey instead, see Send email from a journey.

Map contact identifiers
On an audience or in a journey Destination Node, map Email address and Subscriber key. Both are required for the export to write rows. Subscriber key is the sendable identifier on the Data Extension.
You can also map additional fields, including custom attributes from the audience or from the journey. GrowthLoop can prefix those field names with Prefix for Personalization Fields.
If you write to an existing Data Extension, map every required field on that schema. Fields that are not on the Data Extension cause the export to fail.

Configure the export
This is where you set the campaign type and schedule for audience exports. On a journey Destination Node, you set timing on the journey canvas.
| Setting | Audience export | Journey Destination Node |
|---|---|---|
| Export Name | Defaults to {audience name}_GL_Audience_{audience ID}. GrowthLoop uses this as the new Data Extension name. | Names the node in the journey. It does not rename an existing Data Extension or transactional journey. |
| Campaign type | Choose a one-time or ongoing export. | The journey schedule controls when the journey runs and contacts are sent to Marketing Cloud. |
| Export Inclusion Criteria | All audience members for a full refresh, or Newly added audience members for additions and removals since the last export. | The journey sends contacts who reach this node. |
| Schedule | Set frequency, start date, end date, and days of the week. | Users reach this node when the journey runs. Add a Delay Node or set Criteria Evaluation to control timing. |
| Export action | Audience exports use Data Extension Status. | Add to new Data Extension, Add to existing Data Extension, or Send Email. |
| Data Extension Status | New creates a Data Extension. Existing writes to a Data Extension you select. | Journeys choose Add to new Data Extension or Add to existing Data Extension. |
| Data Extension | Shown when status is Existing. | Shown when the export action is Add to existing Data Extension. |
| Business Unit (optional) | Shown when status is New. Defaults to the primary business unit. | Shown when the export action is Add to new Data Extension. |
| Data Extension Folder (optional) | Shown when status is New. Defaults to the root folder. | Shown when the export action is Add to new Data Extension. |
Export behavior
This is what GrowthLoop writes when you export an audience.
| Behavior | What happens |
|---|---|
| What GrowthLoop writes | Rows on a sendable Data Extension, or a transactional journey send from a journey. Direction is GrowthLoop → Marketing Cloud. |
| When it runs | GrowthLoop sends the export as a batch on the next successful run. An export that starts Now runs within about 15 minutes. Journeys send exports on demand when users reach the Destination Node. |
| New Data Extension | GrowthLoop creates a sendable Data Extension named after the export name, with SubscriberKey and Email. |
| Existing Data Extension | GrowthLoop writes to the Data Extension you selected. The schema must already include the mapped fields. |
| Match fields | Email address and Subscriber key. |
| One-time exports | GrowthLoop adds current members to the Data Extension. |
| Ongoing adds and removals | Ongoing exports add contacts who enter the audience and delete the Data Extension row when they leave. |
| Deletes | GrowthLoop deletes the Data Extension row on remove. It does not delete the Marketing Cloud subscriber. |
Send email from a journey
You can trigger a published Marketing Cloud transactional journey from a journey Destination Node. See Build a journey if you need more information on these steps.
- Add a Destination Node under Email and select your Marketing Cloud destination.
- Select Send Email as the export action.
- Map Recipient's Email.
- Choose the journey in Email Template. GrowthLoop lists published transactional journeys.
- Map Template Variables that GrowthLoop loads from the journey content.
- Send a test email before you publish.
Match fields for Data Extension membership are hidden when the export action is Send Email. The From address comes from the Marketing Cloud journey.

Send behavior
| Behavior | What happens |
|---|---|
| Trigger | GrowthLoop fires the selected transactional journey for each user who reaches the Destination Node. |
| Journeys listed | GrowthLoop lists published transactional journeys. |
| Template variables | GrowthLoop loads variables from the journey content. |
| Audience membership | Send Email does not create or update a Data Extension. Use Add to new Data Extension, Add to existing Data Extension, or export an audience to write rows. |
Create a sync in GrowthLoop
Create a sync from a warehouse table to write rows onto a Marketing Cloud Data Extension. See Syncs for information on how to complete those steps.
Select an Object Type:
| Object | Use it for | Sync modes |
|---|---|---|
| Data Extension | Create or update rows in an existing Data Extension | Insert, Update, or Upsert |
When you configure the sync:
- Connection: Select your Marketing Cloud destination.
- Object Type: Select the Data Extension you want to write.
- Update Rule: Choose Insert, Update, or Upsert. See Sync behavior.
- Dataset/Table: Select the warehouse table that holds the records.
- Match Field: Map SubscriberKey.
After you map fields, click Update Sync. Enable the sync with the toggle at the top of the page.
When you update mappings on an existing sync, choose Updates only unless you need Back-fill. Back-fill rewrites already synced rows and can be expensive on your warehouse.
Map Email and SubscriberKey. Then map any other fields that already exist on that Data Extension.
Syncs write Data Extension rows. They do not create a Data Extension or fire a transactional journey. To manage audience membership, export an audience.
Sync behavior
| Behavior | What happens |
|---|---|
| When it runs | GrowthLoop sends the sync as a batch on the next successful run. |
| Insert | GrowthLoop creates rows that do not already match. |
| Update | GrowthLoop updates mapped fields on matching rows. |
| Upsert | GrowthLoop looks up the row by SubscriberKey and inserts or updates. |
| Match field | SubscriberKey. |
| Required fields | Email and SubscriberKey. |
| Audience membership | Syncs do not create a Data Extension or add contacts from an audience export. |
| Deletes | GrowthLoop does not delete Marketing Cloud subscribers. |
Confirm the export was successful
When the run finishes, confirm you can use the data in Marketing Cloud.
- Audience export: Open Email Studio > Subscribers > Data Extensions and look up the Data Extension. Look in the folder you selected, or the root folder if you left the folder blank. For a new Data Extension, look for the
_GL_Audience_name unless you changed Export Name. - Journey Destination Node: Open Data Extensions and look up the Data Extension named after the export. You can also spot-check a contact who reached the node.
- Send Email: Confirm Marketing Cloud fired the selected transactional journey for the mapped recipient.
- Data Extension sync: Open the Data Extension and check the mapped fields.
In GrowthLoop, review Added and Removed counts on the audience Exports tab, open the Activity tab on the journey Destination Node, or confirm the sync appears in the Syncs table. See Export an audience, Monitor a journey, or Syncs for more information.
Congrats on successfully exporting to Salesforce Marketing Cloud!
Troubleshooting
These are the issues we see most often. You can always email us at [email protected] for help.
| Problem | Cause | Resolution |
|---|---|---|
| Connection fails to validate | The subdomain, Client Id, or Client Secret is wrong | Copy the Authentication Base URI host, Client Id, and Client Secret from the installed package |
| You cannot see Installed Packages | The Marketing Cloud user is missing Installed Package | Administer | Ask an admin to grant that permission, then open Setup again |
| Rows fail to match | Email address or Subscriber key is unmapped or blank | Map both Email address and Subscriber key |
| An existing Data Extension export fails | A mapped field is not on the Data Extension, or a required DE field is unmapped | Map every required field on that schema. Do not add fields that are not on the Data Extension |
| The new Data Extension is not in the folder you expected | No folder was selected | Choose Data Extension Folder on a new export, or set Data Folder ID on the destination |
| A Send Email journey did not create a Data Extension | Send Email triggers a transactional journey only | Use Add to new Data Extension or export an audience to write rows |
| A sync did not create a Data Extension | Syncs write rows to an existing Data Extension | Create the Data Extension in Marketing Cloud first, or export an audience with status New |
Updated 6 days ago
