Page tree
Skip to end of metadata
Go to start of metadata

 

New Name: Marketing Cloud Personalization

Interaction Studio (formerly Evergage) is now known as Marketing Cloud Personalization. The new name reflects our mission and vision for innovation in Salesforce Marketing Cloud. We wish we could snap our fingers to update the name everywhere, but you can expect to see the previous name in various places until we replace it.

Salesforce is an exceptionally powerful CRM tool used by hundreds of thousands of companies to manage their sales processes and relationships with existing customers. When integrated with Interaction Studio, sales and customer support representatives working in Salesforce can gain access to the deep behavioral insights – gathered by Interaction Studio – about visitors and customers interacting with your website, web application or mobile app. This includes information in the form of KPIs, segments, and customer health related to account or user details within Salesforce. Additionally, any text field, drop down menu, numeric value or segment data within Salesforce can be sent to Interaction Studio where it can be used to deliver personalized experiences in real time. Integrating Interaction Studio and Salesforce helps your organization stay informed of customer actions and health and deliver targeted website, web app or mobile app messages based on each customer’s unique relationship with your company. 


This Article Explains

This article details the process for integrating Salesforce and Interaction Studio.

Sections in this Article

PLEASE NOTE

  • Advanced expertise and permissions required. You must have  ModifyAllData permission as well as an intermediate or advanced level of Salesforce expertise.
  • Email addresses must be captured. Your Interaction Studio account must be capturing email addresses. 
  • This integration will only sync data between Interaction Studio and Salesforce CRM for existing users in both platforms. The integration is used to update or pull in user attributes from one system to the other for known users; it will not create new user records in either Salesforce CRM or Interaction Studio. If you would like to import users from external systems into Interaction Studio, please refer to the data feed specification documentation on User ETL .
  • There is no synchronization between this integration and the identity system. This integration is a match and update attribute request. This means that this integration will not create new contacts or populate or merge identities.


Pre-requisites

  1. An Enterprise or higher Salesforce account
  2. A field that can be used to map users and accounts between Interaction Studio and Salesforce (typically email address) which you must be capturing in both Interaction Studio and Salesforce
  3. ModifyAllData permission which is not granted by default for any level of Salesforce access (even at the SysAdmin level)


Start the Integration in Interaction Studio

  1. Log in to Interaction Studio as an Administrator
  2. From the left navigation, select Third Party > Integration Setup
  3. Select Salesforce CRM
  4. On the Setup tab, expand the Connect to Salesforce section
  5. Copy the Callback URL
  6. Do not log out of Interaction Studio



Continue the Integration in Salesforce

  1. Open Salesforce in a new browser window and log in as an Administrator
  2. Select Setup
  3. In the Build section, navigate to Create -> Apps
  4. In the Connected Apps section, click New
  5. In Basic Information, complete the required fields
    1. Connected App Name - enter Interaction Studio 
    2. API Name - Interaction Studio will automatically prefill
    3. Contact Email - enter your email address
  6. In API (Enable OAuth Settings), select Enable OAuth Settings
    1. In the Callback URL field, paste the Interaction Studio Callback URL (copied in step 4)
    2. Add the following OAuth Scopes:
      1. Manage user data via APIs (api)

      2. Access the identity URL service

      3. Perform requests on your behalf at any time 

  7. Click Save


Complete the Integration

If you are redirected to the top level Apps screen, click the Interaction Studio Connected App you just created to return to the OAuth Settings screen
  1. In Salesforce, in your new Connected App Name: Interaction Studio page, in the API section: 
    1. Consumer Key - copy this key from Salesforce to the same field in Interaction Studio in Third Party > Integrations > Salesforce CRM
    2. Consumer Secret - click Click to reveal then copy from Salesforce to the same field in Interaction Studio in Third Party > Integrations > Salesforce CRM
  2. In Interaction Studio, select Connect to a sandbox if you are connecting to a Salesforce sandbox account.
  3. In Interaction Studio, click ESTABLISH CONNECTION to create the connection between Interaction Studio and Salesforce
  4. You may be prompted to log into your Salesforce account
  5. Click Allow if prompted to allow Interaction Studio to access information in Salesforce



Synchronize 

Now you need to decide what data you want to sync between Salesforce and Interaction Studio.  By default, Interaction Studio will sync with contacts and accounts, but syncing with leads is optional. While still in Third Party > Integrations > Salesforce CRM, determine if you have a unique identifier for each account and user that can be used to match Interaction Studio data with Salesforce data. If this information is in both Salesforce and Interaction Studio, this is the data to use to match users and accounts in Salesforce. Most commonly, this is an email address for the user and an account number/key for accounts:

  • Users - if you pass the user email address to Interaction Studio, the user will be synced to the Salesforce contact with that email address. Match fields are case-sensitive. User.Email@company.com doesn't match user.email@company.com.
  • Accounts - if you pass the Interaction Studio account (company) name, and there is a text match, the account will be synced. If there isn't a text match between the Interaction Studio account (company) and the Account name in Salesforce, you must pass a unique identifier as a custom field to Interaction Studio, such as a portalID or accountID; this identifier must also be on the account object in Salesforce


Synchronization Logic

You have option to sync with leads in addition to contacts and accounts. There are a few things to be aware of before determining if you should also sync with leads, contacts, or accounts:

  • A corresponding Interaction Studio user is not created when a new Salesforce contact or lead is created
  • A corresponding Salesforce contact or lead is not created when a new Interaction Studio user or account is created
  • Only matched users are synced
  • Match fields are case-sensitive
  • Salesforce contacts take precedence over leads. If there is a match on both the lead and contact level, Interaction Studio will only sync on the contact level
  • There is a separate lead attribute. If a lead is converted to a contact, data will be synchronized with the contact record
  • Contacts, accounts, and leads will synchronize nightly, or when you click SYNCHRONIZE NOW

The setup process is similar to that of contacts and accounts. 


Select Interaction Studio Fields to Push to Salesforce

Determine what you want to push from Interaction Studio to Salesforce by selecting check boxes next to the data you want to send.

  1. In Interaction Studio, still in Third Party > Salesforce CRM, select the Push tab
  2. If you want to synchronize more than one Interaction Studio dataset to Salesforce, select Push data to dataset-specific Salesforce fields and then enter a text value in Dataset-specific field infix. This will be added to the field name as:   Interaction Studio_infix_LastActivity
  3. Select Create Salesforce field sets to group Interaction Studio fields if you want to group all Interaction Studio fields in a single field set on your Contact or Account pages.
  4. On the User tab, select the data items you want to send 
  5. Click the Account tab and select the data items you want to send
  6. Click SAVE

Select Fields to Pull from Salesforce


  1. Select the Pull tab
  2. In the Synchronize Salesforce section, select the types of Salesforce records you want to synchronize with Interaction Studio
  3. In the Only pull records section, for each record type (Contacts, Accounts, or Leads), you can further filter the pull request to restrict the sync to include records created or modified after a certain number of days. Doing this reduces the sync time and allows for incremental syncs. For example, this allows you to initially pull all leads modified in the last 180 days and then change the configuration to only pull leads modified in the last two days, so the nightly sync only pulls leads modified after the last nightly sync.

    The last created and last modified filters are joined with AND logic, so they are cumulative.

  4. For specific records, click +Pull New Salesforce Field
    1. Use the dropdown to select the Salesforce Field to pull
    2. Use the dropdown to select the Interaction Studio User Field that will receive the data 
    3. Select Match On-Field to set the field as a unique identifier match between Salesforce and Interaction Studio

      For more information on how fields are matched, please see the FAQ section below.

    4. Click ADD to add the new field
  5. Click SAVE to save changes


Initialize the Synchronization

Data will synchronize nightly, but only after an initial synchronization. Once the sync has successfully completed, the imported custom fields will be visible in Interaction Studio on the Unified Customer Profile screen or the Account Details screen. Fields that have been pulled from Salesforce and mapped to Interaction Studio attributes will be indicated by "(Salesforce)" after the field name.

  1. In Interaction Studio, at the top of Third Party > Salesforce CRM > Setup, click SYNCHRONIZE NOW
  2. Once the synchronization is complete, the Last synchronized date and time will update, preceded by Success  
  3. Now the synchronization will happen nightly, but you can also manually synchronize the data at any time by following the same process


Adjust Salesforce Record Layouts to View Interaction Studio Data

The Salesforce data that is pulled into Interaction Studio is immediately usable in reports, filters, and the  Unified Customer Profile Screen . In addition, Interaction Studio data can be made available on contact, accounts, and lead records in Salesforce by adjusting the layout of the record. You can use workflows and formula fields in Salesforce to pass Interaction Studio data from a contact or account to other Salesforce objects.

NOTES

  • Since you may have more than one contact layout, speak with your Salesforce Administrator to confirm which layout needs to be adjusted to impact the screens utilized by your target user group.
  • Use Object Manager to set Field-Level Security for Interaction Studio fields that are accessed by any profile.
  1. In Salesforce, click Setup at the top right of the page
  2. Enter Object Manager in the Quick Find search
  3. Select Object Manager
  4. Select Contacts or Leads or Accounts 
  5. Select Page Layouts
  6. Select the layout you want to adjust
  7. Create a new section for Interaction Studio by dragging and dropping the Section block to the desired location on the layout
  8. In the Section Properties box, name the section and select other options as needed
  9. Click OK
  10. Drag and drop the fields you want to add to the section
  11. Fields already in the layout are grayed out (in image at the right Interaction Studio Eng. Trend is in the layout and Interaction Studio in Segments is being added)
  12. Click Save



Frequently Asked Questions

How many API calls does Interaction Studio use to sync with Salesforce?

Interaction Studio uses two API calls for every 100 accounts and users. Since 100 items are batch processed at a time, one API call is used to push data to Salesforce and one API call is used to pull data from Salesforce.


What if the account names for a contact are different in Interaction Studio and Salesforce?

It is often the case that the account name in Interaction Studio does not exactly match the account name in Salesforce. For example, your contact John Doe is listed under account name Acme in Interaction Studio, but the John Doe contact in Salesforce is associated with the account name Acme Fireworks. You can enable an option in Interaction Studio that will match users who have the same contact name in Interaction Studio and Salesforce, which will pull account IDs from Salesforce instead of from Interaction Studio: 

  1. In Interaction Studio, select Third Party > Integrations > Salesforce CRM
  2. Scroll to Advanced Options
  3. Select the second option: For Salesforce accounts that cannot otherwise be matched to Interaction Studio, obtain account IDs from matched Salesforce contacts
  4. Scroll to the top of the screen and click 


What if I make a change to OAuth security settings in Salesforce?

Any changes to Salesforce security settings at the OAuth App level, the Salesforce User level, or the Field security level may disrupt the integration. If the integration is not working as expected and you have made any security changes, you will need to reconfigure the integration.


What are the minimum security requirements for the integration?

  • User - the profile of the user establishing the OAuth connection must have the ModifyAllData permission. This permission is needed for Interaction Studio to create custom fields using the Metadata API 
  • OAuth - the Connected App used by Interaction Studio must include the following OAuth scopes:
    • Access your basic information (ID, profile, email, address, phone)
    • Access and manage your data (API)
    • Perform requests on your behalf at any time (refresh_token, offline_access)
  • Field - Each Salesforce contact, account, or lead field created by Interaction Studio must be made visible to the profile of the Salesforce user that was used to establish the OAuth connection in Interaction Studio. There are two ways to do this and you should discuss the best option with your Salesforce administrator:
    • Manually make each field visible after it has been created by Interaction Studio
    • Contact Interaction Studio Support to have Interaction Studio automatically make new fields visible immediately after creation


How does Interaction Studio match contacts, accounts, and leads?

Before a match occurs, Interaction Studio checks the value of a specific Salesforce field for the Salesforce user against the value of any configured Interaction Studio match fields. The Salesforce user will be matched to the corresponding Interaction Studio user if any of the match fields are identical.

Contact matches occur on the following Salesforce fields (listed from highest to lowest priority):

  1. Salesforce ID
  2. Any other configured Salesforce match fields
  3. Salesforce Name or Salesforce Email but only if Only use designated match fields for matching users and accounts, if match fields are specified above is enabled in Interaction Studio on the Setup tab, Advanced Options section

Lead matching follows the same protocol, however lead matching is disabled by default and contact matches take priority. Accounts matching also follows the same protocol as contact matching except Salesforce email is not used.

NOTE

Match fields are case-sensitive. User.Email@company.com doesn't match user.email@company.com.


Troubleshooting the Synchronization

Confirm you have not made any security changes.

Any changes to Salesforce security settings at the OAuth App level, the Salesforce User level, or the Field security level may disrupt the integration. If the integration is not working as expected and you have made any security changes, you will need to reconfigure the integration.


Check your security settings.

  1. Confirm you have permissions selected for View Setup and Configuration
  2. Set Permitted Users to All users may self-authorize
  3. Under OAuth Policies set Refresh token policy to Refresh token is valid until revoked


Click show errors next to Last synchronized in Third Party > Salesforce CRM.

If the error detail lists any of the following error messages:

  • Error refreshing Salesforce OAuth token: token validity expired
  • Error refreshing Salesforce OAuth token: expired access/refresh token
  • Error refreshing Salesforce OAuth token: inactive user
  • INSUFFICIENT_ACCESS: use of the Metadata API requires a user with the ModifyAllData permission

Complete the following steps to resolve the error:


In Salesforce:

  1. Ensure the profile of the user establishing the OAuth connection has the ModifyAllData permission. This permission is needed for Interaction Studio to create custom fields using the Metadata API
  2. Select Setup > Manage Apps > Connected Apps
  3. Edit the Interaction Studio connected app (your integration might be named differently)
  4. In OAuth policies:
    1. Confirm Permitted Users is set to All users may self-authorize
    2. Confirm Refresh Token Policy is set to Refresh token is valid until revoked
  5. Make changes as needed and click Save
  6. At the top right of the screen next to your name, select Setup
  7. Under Build, select Create > Apps
  8. Under Connected Apps, click the name of the Interaction Studio app (do not click Edit or Manage)
  9. You'll copy the Consumer Key and Consumer Secret in the next set of steps

In Interaction Studio:

  1. Select Third Party > Salesforce CRM
  2. Expand Connect to Salesforce
  3. Copy the Consumer Key and the Consumer Secret from Salesforce to Interaction Studio
  4. Click ESTABLISH CONNECTION
  5. Click SYNCHRONIZE NOW