Determine how contacts are matched
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 |
ID |
---|---|
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 matching 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.
You might want to use a custom identifier, for example, the email address of a contact, to match records between the source and target systems instead of the default contact ID.
To use a custom identifier:
-
Create a custom resolver pipeline step.
NoteThe example in the preceding link 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.
-
In the Content Editor, navigate to the pipeline where you want to use the custom identifier.
-
On the Content tab, in the Identifier section, in the Email Field Value Accessor field, enter the name of the custom resolver. For example:
-
Save the pipeline.