Complete these steps to set up the integration between Marketing Cloud Personalization and Salesforce CRM.
Required Editions
| Permissions Needed | |
|---|---|
| To integrate with Salesforce CRM: | A role with Administrator permissions |
-
Log in to Personalization as an administrator.
For more information, see Log In To Personalization from Marketing Cloud.
- From the main navigation, select Third-Party > Integration Setup.
- Select Salesforce CRM.
- On the Setup tab, expand the Connect to Salesforce section.
-
Copy the Callback URL.
Don’t log out of Personalization.
-
Open Salesforce CRM in a new browser window. Log in as an administrator.
Note The user profile for this administrator account must have the API Enabled permission enabled. - Select Setup.
-
In the Platform Tools section, select Apps >
Apps Manager.
Note As of the Spring '26 release, Salesforce restricts the creation of new connected apps. Existing connected apps continue to work. If New Connected App is unavailable, create an external client app instead. Personalization supports both app types. - Select New Connected App. If this option isn’t available, select New External Client App.
-
In Basic Information, complete the required fields.
Field Description Connected App Name Enter a label, such as Marketing Cloud Personalization. API Name Personalization automatically prefills. Contact Email Enter your email address. - In API (Enable OAuth Settings), select Enable OAuth Settings.
- In the Callback URL field, paste the callback URL from the Connect to Salesforce section in Personalization. Paste the complete URL exactly as it appears, including the protocol, host, port, and path.
-
Select the following OAuth Scopes:
OAuth Scopes Manage user data via APIs (api) Perform requests at any time (refresh_token, offline_access) Access the identity URL service (id) -
Keep the existing setting for Require Proof Key for Code Exchange (PKCE)
Extension for Supported Authorization Flows.
Personalization supports PKCE whether the setting is turned on or off. If Salesforce enforces PKCE for your org, leave the setting turned on. Personalization uses PKCE automatically, so no additional action is required.
- Save your changes.
-
In Salesforce Setup, go to the OAuth settings for the app that
you created:
- For a connected app, in App Manager, open your app and scroll to API (Enable OAuth Settings).
- For an external client app, in External Client App Manager, open your app. In the Settings tab, expand OAuth Settings.
-
Click Consumer Key and Secret, and configure the following
settings:
Field Description Consumer Key Copy this key from Salesforce CRM to the same field in Personalization in Third Party > Integrations > Salesforce CRM. Consumer Secret Click Click and then copy the secret from Salesforce CRM to the same field in Personalization in Third Party > Integrations > Salesforce CRM. - If you’re connecting to a Salesforce CRM sandbox account, in Personalization, select Connect to a sandbox.
-
Under Advanced Options, select For Salesforce
accounts that cannot otherwise be matched to Interaction Studio, obtain account IDs from
matched Salesforce contacts.
This option pulls account IDs from Salesforce CRM instead of Personalization so that you can match users with the same contact name when the account names aren’t exact matches.
- Click Save.
-
To create the connection between Personalization and Salesforce CRM, click
Establish Connection.
The consumer key can take up to 10 minutes to become active. If the connection fails with
invalid_client_idorclient identifier invalid, wait a few minutes and try again. - If prompted, log in to your Salesforce CRM account.
- If prompted, click Allow to allow Personalization to access information in Salesforce CRM.
Next, determine which data you want to share between Personalization and Salesforce CRM. For more information, see Plan Data Sharing Between Personalization and Salesforce CRM.