I have some very specific requirement in regards to contact merge.
First our setup: Our XM directory contains vehicle relations (combination of customer + vehicle). One customer may have multiple vehicles which means he also has multiple entries in the XM directory. We are using an external reference consisting of the customer ID and the vehicle ID as key. The customer ID and the vehicle ID is also stored separately as embedded data for each contact.
Our requirement: We have some duplicate check in our CRM system. When a duplicate customer is identified, we also need to correct this in Qualtrics. In this case we have an old customer ID (to be archived/deleted) and a main customer ID (keep). We would need to identify all vehicle relations with the old customer ID in the Qualtrics directory. Then we would need to merge/copy the transactions of those contacts to the contact in the directory which has the main customer ID but same vehicle ID. It may also be that there is not yet a contact with the main customer ID since we only create contacts in the directory when the first survey is sent to the vehicle relation. In this case I think we could just replace the old customer ID in the external reference and the embedded data with the main one.
So my question would be how we could achieve the merge of two contacts and their transactions the best way. We would either need to do all actions via API from the CRM system or somehow trigger the process from the CRM system (if that is possible). I was thinking about following approaches:
- We could try to copy all transactions of the old contact and paste/create them for the main contact. This would need to be done for all vehicle relations of the customer separately. Afterwards, the old contacts could be deleted. This approach will probably require a lot of API calls, especially if a customer has multiple vehicles and a lot of transactions to be copied.
- I was also thinking about the "Consolidate Duplicates" feature from Qualtrics. However, only directory fields can be used. I think this will not really help us.
Do you have any idea how to achieve our requirement? Thankful for any hint!