Developer Community Integration Scenario

Owen manages an existing CRM system for Northern Trail Outfitters, and part of his duties include planning an integration with Marketing Cloud Engagement. While Northern Trail Outfitters wishes to use the CRM as the database of record, the marketing staff wants to use information from that CRM to send emails to customers and subscribers. Those email messages include:

  • A welcome email sent to new customers
  • A monthly newsletter sent to opted-in subscribers
  • Transactional emails based on customer activities on the Northern Trail Outfitters website, such as reminders about special events for which a customer has signed up

Northern Trail Outfitters also wants to use the integration to perform analytic tasks on the data, both in Marketing Cloud Engagement and the CRM system.

Owen's tasks focus primary on the integration of the information of the two systems, as marketing handles the creating and sending of the email messages. He’s working in a .NET/C# environment and receives the appropriate credentials from his supervisor.

Connecting the Development Environment

Before doing anything else, Owen must successfully connect his development environment to SOAP API. Since he’s writing .NET/C# code, Owen connects using Visual Studio and successfully executes a call to retrieve the availability status of the API.

Owen also researches authentication issues to make sure the two systems can interact. He discovers how to get a user token for entity direct login. With this token, his CRM application can directly access Marketing Cloud Engagement.

Owen decides to store subscriber information in data extensions to facilitate the exchange of information between the two systems. Now, he must decide how to move the data from one system to another in order to keep both systems in sync regarding the most current data.

At this point, Owen turns to the documentation to determine how to perform the following actions:

  • Import existing CRM data into Marketing Cloud Engagement
  • Update information in Marketing Cloud Engagement based on what subscriber actions
  • Export updated information and mail analytics information back into the CRM system

Owen learns about import definitions as a method of getting information into Marketing Cloud Engagement. He also learns about retrieving information from data extensions as a method of getting information out of data extensions programmatically. Finally, Owen learns about different methods of mapping fields between Marketing Cloud Engagement and the CRM system.

After he’s reviewed all of the available information on imports, data extensions, and mapping, Owen familiarizes himself with the available API guidelines to ensure his code is efficient and complete.

Mapping Marketing Cloud Engagement to the CRM System

Owen learns that the actual mapping of the fields occurs within the import definition. However, before the import can take place, he must make sure the data extension fields have the correct data type to receive the information from the CRM system. The correct fields also facilitate moving information back into the CRM system.

Owen creates the import definition starting with a single user and a single data extension. The import definition uses CSV data exported from the CRM system and placed on an enhanced FTP site. This site hosts the file until the import definition picks up the file and imports the information into the appropriate data extension.

Owen learns that information within Marketing Cloud Engagement receives updates based on the actions a subscriber takes on an email. This can include tracking information, updates to subscriber information, or unsubscribing from future email sends. The application can also segment out data using filters and query activities. Owen uses a combination of these features to segment updated users and prepare files to be exported.

  1. Owen creates data filters to segment out subscribers based on their behavior regarding the email messages (such as customer service survey responses or messages not opened).
  2. Owen creates query activities to segment out subscribers in the same geographical location.

To export information from Marketing Cloud Engagement, Owen creates and performs an extract to move information back to the FTP site.

Based on the tracking information returned to Owen, he can update records in the CRM to reflect any changes in contact information or behavior. Any changes made in the CRM system can also be reimported into Marketing Cloud Engagement using import definitions.

Owen wants to implement error and exception handling so that the system doesn’t import the same data multiple times or erase previously imported data.

Owen also learns the error code information sounding the import process.

At this point, Owen wishes to scale his operation to handle the following aspects:

  • Handling multiple data extensions
  • Adding more automation
  • Pulling in data from a third party (such as a web analytics firm)