Now that we've gone through the connector's scope and prerequisites, setup with a CRM Online organization, and setup with a CRM On-Premise organization, I wanted to offer some insight into tailoring the mapping configuration to best suit your business needs and to ensure that you have the information necessary to successfully synchronize custom field data between Dynamics Marketing and CRM.

Before covering the configuration process itself, I want to quickly call out that not all field mapping configurations are supported, and the field types within each application must match one another to ensure that the data flows correctly. The field types and relative mapping configurations that are supported include:

MDM "Category" Field <---> CRM "Option Set" Field (both ways)
MDM "Checkbox" Field <---> CRM "Two Options" Field (both ways)
MDM "Date" Field <---> CRM "Date and Time" Field (both ways) *
MDM "External Entity" Field ---> CRM "Single Line of Text" Field (one way) **
MDM "Float" Field <---> CRM "Floating Point Number" Field (both ways) ***
MDM "Integer" Field <---> CRM "Whole Number" Field (both ways) ***
MDM "Numeric" Field <---> CRM "Floating Point Number" Field (both ways) ***
MDM "Text" Field <---> CRM "Single Line of Text" Field (both ways) 

* Dates are synchronized between MDM and CRM, but the HH:MM time selection is only available in MDM.

** External Entity field data can only be populated through the Dynamics Marketing SDK, after which it will synchronize to CRM if a mapping is present.

*** "Float" and "Integer" field distinctions are only available for contact UDFs.  For other entities, these UDFs are only categorized as "Numeric" in the Languages area.

With this information in mind, we'll log into Dynamics Marketing as an administrative user and navigate to Settings -> Integration Options. Before we make any changes to the mapping configuration, it's a good practice to download the existing field configuration by clicking the left-most "down arrow" icon in the "Mapping" section. With this XML file backed up, you can always revert to the original configuration if you make any changes that are found to be undesirable by clicking on the "up arrow" icon in the "Mapping" section and browsing to the file.

Once complete, click on the "pencil" icon in the "Mapping" section to proceed to the "Interoperation Mapping" interface:



In the above screenshot, I've annotated the areas of interest in the UI, including:

  • Section 1: This is a dropdown list of the Dynamics Marketing entities available for customization, and changing from one entity to another will change the fields available for editing within the mapping area highlighted in red. If an entity is not listed here, it is not supported for synchronization.
  • Section 2: The CRM entity that will be synchronized with for the MDM entity chosen in the above dropdown list. There is no way to change this designation and custom CRM entities are not currently supported.
  • Section 3: If you want to define a trigger on when a record will synchronize between the two applications, that can be done through the "Threshold Field". A good example of this can be found under the "LeadManagement" entity, where this field is set to SALESREADY by default (and therefore only leads that have reached a "Sales Ready" grade will flow to CRM).
  • Section 4: In the event that you've chosen a "Threshold Field" above, you can now set the "Threshold Value" that the field must contain for the synchronization to occur. For the "Sales Ready" grade example, this is a boolean and is therefore set to a value of "1".
  • Section 5: Checking this box will enable an entity to be synchronized between the two applications. Unchecking it will disable all synchronization for that particular entity.
  • Section 6: To add or delete a row within the mapping area highlighted in red, you can click on the "+" or "trash can" icons, respectively.

One final mention I want to make here is that the "ListEntity" entity contains one additional field for "Sync Interval (minutes)".  This section defines how often Dynamics Marketing and Dynamics CRM will synchronize marketing lists, and defaults to a value of 10 minutes.  If you have very large marketing lists that you are synchronizing, you may want to increase this value to ensure that enough time is allotted for the full list to synchronize before restarting the process.

Now that we understand what each area represents, I also want to point out that the list of available fields within the “CRM Field” column is refreshed through a synchronization message sent from Dynamics CRM every 10 minutes.  As such, if a field has been created or modified in Dynamics CRM prior to this refresh message being received, the changes will not be reflected in the mapping configuration page.
 
To further illustrate how the mappings can be customized, let's go through a typical example of setting up a custom category field on the contact entity in Dynamics Marketing and have the categories in this field synchronize with a set of equivalent values on a custom Option Set field on the contact entity in Dynamics CRM. We'll start off by creating the field in Dynamics Marketing with an administrative user by navigating to Settings -> Company Settings and choosing the "Custom Contact Fields" option in the footer section of the page (note that this is specific to the contact entity - UDFs for other entities are added through Settings -> Languages and available categories are added through Settings -> Categories). We can then click the "+" icon to add the new field:



Next, we'll give the field a name of "Role" and change its field type to "Category", then click Save.  We can now click on the "+" icon in the Categories section below the field to define the values that are going to be available for this field.  For this example, I will add the values "Designer", "Editor", and "Publisher", then click Submit:



With the field and relative values now available in Dynamics Marketing, we can log into Dynamics CRM as a user with the necessary privileges to add custom fields and make form layout changes.  Within CRM, we will navigate to Settings -> Customizations -> Customize the System -> Entities -> Contact -> Fields and click on the "New" button to add a new field:



When the new field page opens, we will change the "Display Name" to a value of "Role" to match our field name in Dynamics Marketing (they can have different names, if you prefer), which in turn will auto-populate the "Name" value with your chosen custom field prefix appended at the front.  Next, we'll change the "Type" to a value of "Option Set" and click the "+" icon in the "Options" section to add three values of "Designer", "Editor", and "Publisher".  The numeric values for each option can be left as their defaults or you can change them if you'd like:



Click the "Save and Close" option to save the field we created, then click on the "Forms" area of the Contact entity in the "Customize the System" window.  From here, click on any form that you would like to add the custom field to, with the "Contact" form of type "Main" being the default.  We can then adjust the Filter in the Field Explorer dock on the right to "Custom Fields", drag our new "Role" field onto the form wherever we'd like it to appear, then click "Save" and "Publish" to make the changes live:



With the field in place within both applications, we will now return to Dynamics Marketing and navigate to Settings -> Integration Options -> Mappings (Edit) -> Contact.  From here, click the "+" icon to add another row and choose "ROLE" in the Microsoft Dynamics Marketing Field column and "new_role" (or whatever prefix you used) in the CRM Field column.  We can now open the option value mapping window with the icon to the right of the row:



In the resulting window, our option names in Dynamics Marketing of "Designer", "Editor", and "Publisher" will appear on the left and we will need to key enter the values for the respective option sets we created in CRM on the right.  If you left the values as their defaults and entered them in alphabetical order, the values should be "100000000", "100000001, and "100000002" (note that the commas must be removed):



Click Submit twice once finished, and we are then ready to create a contact record in order to test whether our custom mapping synchronization is occurring successfully.  For the sake of example, I will create a contact named "Ben Burton", select the role of "Editor", and if you've been following the example closely, the end result will be the following when comparing the record in both applications:



Once you are satisfied with the mapping changes you have made and field data is synchronizing as expected, I would recommend re-downloading the mapping XML file from the Integration Options page so that you can easily revert back in the event that the mapping configuration is modified or removed by another administrator in the future.  Direct changes to the XML file itself can be made if necessary, though I would caution against this unless it's strictly for testing or demo purposes.

For additional information on configuring the connector or its mappings, please refer to our TechNet article - "Connect Microsoft Dynamics CRM 2013 and 2015 with Microsoft Dynamics Marketing".