April 17, 2018
Salesforce Marketing Cloud ConnectOR?
Intro and history
The story of Marketing Cloud, and how Salesforce enhanced its sales and service areas by acquiring Exact Target’s unique suite in 2013, is well known. Today, customized Salesforce Marketing Cloud (MC) based solutions allow marketers to reach customers in the best way with the right message by means of seven core products:
- Journey Builder, Cross channel consumer engagement.
- Email Studio, Email marketing platform.
- Mobile Studio, Mobile messaging.
- Social Studio, Social media marketing.
- Advertising Studio, Audience and campaign management tool.
- Salesforce DMP, Data management platform.
The power of this platform is unsurpassed, but many customers are missing out on the full value of their investment, because they have questions about what is now possible, or are unaware of upcoming enhancements.
For example, is it possible to integrate data from Sales Cloud, App Cloud or Service Cloud with Marketing Cloud to create more personalized, targeted campaigns and build an actionable custom Salesforce solution?
The simple answer is, yes.
In order to synchronize data between the the various databases, there exists a tool called Salesforce Marketing Cloud Connector. Through its use, any data from the entire Salesforce ecosystem is available inside Marketing Cloud. This includes transfer reports and objects, such as Contacts, Leads, Campaigns, and Person Account. You can also send emails directly from Salesforce or continue tracking valid information about each email. The Salesforce Marketing Cloud Connector is feature-reach including
- Journey Builder integration.
- Triggered/guided sends, making Salesforce CRM data more accessible.
NOTE: Marketing Cloud Connect features work in Salesforce Classic. Those using Lightning Experience with Salesforce are automatically redirected to Salesforce Classic when Marketing Cloud Connect tabs are clicked.
Although the Marketing Cloud Connector can write and synchronize data extensions in connected Marketing Cloud, those data extensions are read-only. This means that pushing data from Marketing Cloud to Salesforce is not possible.
How about sophisticated systems built on Sales Cloud or App Cloud that are tightly integrated with marketing processes, and have Marketing Cloud objects, e.g., Campaigns, Surveys, Content, Statistics, Analytics, etc., as part of their business flows?
In this case you need two-way synchronization. There are several approaches, but we will describe one that is general enough to satisfy most cases.
Customized Salesforce Marketing Cloud Connector: step by step.
To work with data extensions, Marketing Cloud offers SOAP API, which supports CRUD operations; filtering by numerous parameters; managing and executing query definitions; operations with data extensions structure; and many others. Our custom synchronization process will run by a schedule similar to the way the native connector does.
This is where Marketing Cloud Automation Studio comes in handy. It is a powerful tool for running activities on a schedule. We will need an API endpoint to get data from Marketing Cloud data extensions and write it to Salesforce. Now, we need to know what data has been synchronized before and what has not in order to send new data. The last synchronization date for each entity type works perfectly. The shared data extension is a good place to store the entity type together with the last synchronization date pairs. Having everything set up on MC side, we can proceed to the Salesforce part of the connection.
Our web API application must be integrated to Salesforce as a connected app in order to access the Salesforce API. Connected apps are Salesforce managed packages used to connect applications to Salesforce using APIs. Connected apps use standard SAML and OAuth protocols, i.e., pen protocol to allow secure API authorization, etc., to authenticate, provide single sign-on, and provide tokens for use with Salesforce APIs. In addition to standard OAuth capabilities, connected apps allow Salesforce admins to set various security policies, and retain explicit control over who can use the corresponding apps.
Since our background process does not involve user interaction and redirect is not an option, only Username-Password OAuth Authentication suits our aim. Now that we have come to the point of updating volumes of data, we can apply UPSERT and composite requests. UPSERT is a combination of Update and Insert, so existing records will be updated, and records included in the upload that are not in Salesforce will be inserted. With UPSERT, the problem of choice between Insert or Update is easily solved, and composite requests solve those issues with huge data volumes storage.
UPSERT and composite requests simplify writing to Salesforce. The Flow looks like this:
- The script from automation studio triggers synchronization of API endpoint.
- The API endpoint gets the most recent synchronization dates with entity types.
- Create Marketing Cloud filters through Marketing Cloud API for each entity based on previous synchronization data and business logic.
- Retrieve data from the corresponding data extensions using filters.
- Update the last synchronization dates.
- Apply business logic and data validation.
- UPSERT to Salesforce using external ID.
Salesforce Marketing Cloud offers marketers the very real possibility of listening to their customers and prospects. With skillfully installed managed packages, configurations, and customization of Marketing Cloud Connect, the platform is a perfect tool for a marketing team to learn much more about their target audience and, consequently, to create and deliver far more personalized customer interaction.