Synchronization merging strategy


Guide to how contacts are merged or created when Data Exchange Framework synchronizes contact information.

When the Data Exchange Framework (DEF) synchronizes contact information, it uses the contact ID to determine if new data has to be merged into an existing record. The contact IDs are listed in the following table:

Synchronization type


Dynamics Contacts to xConnect

Dynamics contact ID

Salesforce Contacts to xConnect

Salesforce contact ID

When DEF reads a record from the source system, it searches the target system for an entity with the same identifier ID as the source record. If DEF finds a record, it updates that record with the data from the source system. If DEF does not find any matching record, it creates a new record for the data.


Synchronization overwrites all values in the target record that are set up for mapping, even if the value in the source record is blank.

Use a custom identifier

If you want to use a custom identifier, for example, the email address of a contact, to match records between the source and target systems, you must:

  1. Create a custom resolver pipeline step.


    The example in the link above shows how to create a pipeline step for reading data. However, it uses the same principles, classes, and interfaces you use to create a resolver pipeline step.

  2. In the Content Editor, navigate to the pipeline where you want to use the custom identifier.

  3. On the Content tab, in the Identifier section, in the Email Field Value Accessor field, enter the name of the custom resolver. For example:

    Custom resolver in Email Field Value Accessor field
  4. Save the pipeline.