I'm relatively new to using Salesforce Marketing Cloud and wondering if there is a best practice for synchronizing data from an external database to make it available in the Salesforce Marketing Cloud.

My Scenario

I'm using Salesforce Sales/Service Cloud and an external database that stores additional information related to Salesforce accounts (can be linked using the Id of the Contact which is also used as subscriber key). The Sales/Service Cloud is already integrated using Marketing Cloud Connect. So I only need to connect the external database to the Marketing Cloud and link it with the synchronized data from Sales/Service Cloud.

Possible solution

Using the REST API (https://code.exacttarget.com/apis-sdks/rest-api/v1/routes.html#putDataExtensionRowByKey) every change could be pushed to data extensions that are copies of the external database's tables. To connect the external data with Sales/Service Cloud data, a query activity could populate the joined data to another data extension. However, in my opinion there are some major downsides when using this approach: Failover mechanisms, etc. have to be implemented so the data stored in the external database and the data extensions in Salesforce Marketing Cloud don't ever diverge. Furthermore if the automation running the query activity is triggered on every change, there is a lot of data to be processed as there is no "Append or Update" functionality and an "Overwrite" would have to be used for the query activity. When using a scheduled automation instead, the data wouldn't be up to date all the time.

  • You're certainly on the right track, but depending what you intend to do with the data may provide other options. Will you be sending Guided Sends from Email Studio? Or are you using the Contact data in a Journey? – Eliot Harper Sep 20 '16 at 6:16
  • The main use cases will use the data in Journeys, but intelligent newsletter sends based on our contacts' data using Guided Sends are also a requirement from our marketing department. Your help is greatly appreciated! Thank you! – Markus Slabina Sep 20 '16 at 7:09

The best way to have synchronize data with any source regardless of where it is coming from (database, ERP, CRM) is use of MDM (master Data Management) ETL SaaS. The problem integrating database directly is you must ETL first before you import or export. MDM allows you to do that to perform data cleansing and normalization. Once you you implement MDM, you can have MDM connector that will allow you to have real time synchronization in both direction. I hope it helps.

|improve this answer|||||
  • Einstein, are you saying MDM has a connector for Salesforce Marketing Cloud and that it provides bi-directional realtime integration ? Please share the details, I would love to evaluate it for my implementations. – Rajdeep Singh Apr 21 '17 at 15:38
  • Yes depending on the MDM for example Informatica informatica.com/products/cloud-integration/connectivity/… – Einstein Apr 22 '17 at 15:59
  • 1
    I'd recommend MuleSoft Anypoint, which is now part of the Salesforce Ohana. There are ready-made connectors for Salesforce Platform and Marketing Cloud. mulesoft.com/exchange – muenzpraeger Jul 26 '18 at 10:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.