When a merge is detected in the CRM, Acoustic's custom Merge API for CRM integrations is used to merge matching records in Acoustic.
CRM Record Matching involves
- the CRM GUID which is the CRM_SYNC_ID in Acoustic
- the Acoustic Recipient ID which is shared with CRM.
Merging requires the CRM_SYNC_ID to exist for both records to work properly.
How does Acoustic detect and perform CRM Merges?
All CRM Environments have field-identifying rules for
- Leads converting to Contacts.
- Leads merging with other Leads.
- Contacts merging with other Contacts.
Conversions create a new Contact ID and deactivate the originating Lead ID in CRM. This counts as a merge within CRM and Acoustic.
After merging the Campaign Activity for the identified recipients, Acoustic deletes the losing or "merge from" recipient.
Each CRM System Acoustic support for integration has its ID fields to identify merging records.
CRM SYSTEM | CRM Lead Loser ID fields | CRM Contact Winner ID fields | Acoustic Merge API Steps and Action |
Salesforce
For Acoustic, the silverpop_ fields come from the Package Install.
The Acoustic user performing the merge is the Campaign admin user set in the credentials tab. |
Id,
IsConverted = true, ConvertedContactID is not null ConvertedDate is not null, silverpop_Silverpop_RecipientID_c is not null |
Id, - matches the Lead.ConvertedContactID
silverpop_Silverpop_RecipientID_c is not null
|
Lead.ConvertedContactID is set as the MASTER_CRM_SYNC_ID in the field mapping.
Lead.ID is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 1,
ConvertedContactID is searched for in the database where CRM_CONTACT_TYPE = 2,
|
Microsoft
For Acoustic, the sp_ fields come from the Solution Install.
The Acoustic user performing the merge is the Campaign admin user setup for the Scribe refresh token. |
leadid, sp_convertedon, sp_engageid, |
contactid, originatingleadid sp_engageid |
contactid is set as the MASTER_CRM_SYNC_ID in the field mapping.
leadid is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 1,
contactid is searched for in the database where CRM_CONTACT_TYPE = 2
|
SugarCRM
For Acoustic, the sp_ fields come from the Module Install.
The Acoustic user performing the merge is the Campaign admin user setup for the Scribe refresh token. |
Id, contact_id, Converted = true, sp_convertedon is not null, sp_engageid is not null
|
Id, sp_frommerge is not null, matches the leads.id sp_engageid is not null
|
Leads.contact_id is set as the MASTER_CRM_SYNC_ID in the field mapping.
Leads.ID is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 1,
Leads.contact_id is searched for in the database where CRM_CONTACT_TYPE = 2
|
Lead to Lead merges and Contact to Contact Merges use specific fields as well.
CRM System | CRM Lead or Contact Loser ID fields | CRM Lead or Contact Winner ID fields | Acoustic API Action |
Salesforce
For Acoustic, the silverpop_ fields come from the Package Install.
The Acoustic user performing the merge is the Campaign admin user set in the credentials tab. |
Id, MasterRecordId is not null. silverpop_Silverpop_ |
Id, silverpopSilverpop_ |
MasterRecordId is set as the MASTER_CRM_SYNC_ID in the field mapping.
Lead.ID is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 1,
Contact.ID is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 2, |
Microsoft
For Acoustic, the sp_ fields come from the Solution Install.
The Acoustic user performing the merge is the Campaign admin user setup for the Scribe refresh token. |
leadid or contactid, masterid, sp_engageid, |
leadid or contactid, sp_engageid, |
MasterId is set as the MASTER_CRM_SYNC_ID in the field mapping.
leadid is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 1,
contactid is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 2, |
SugarCRM
For Acoustic, a custom object or module is created in SugarCRM from the Module Install named SP_MergedObjectPointer.
It uses the following SP_MergedObjectPointer fields for the same record type merges.
The Acoustic user performing the merge is the Campaign admin user setup for the Scribe refresh token. |
sp_objecttype will be lead or contact, sp_slaveid matches the lead or contact id being merged.
|
sp_masterid matches the lead or contact ID winning the merge.
|
sp_masterid is set as the MASTER_CRM_SYNC_ID in the field mapping.
sp_slaveid is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 1,
sp_slaveid is set as the CRM_SYNC_ID in the field mapping and searched for in the database where CRM_CONTACT_TYPE = 2 |
An Acoustic Merge Job is created for the RECIPIENT_ID and MASTER_RECIPIENT_ID related to the mapped CRM_SYNC_ID and MASTER_CRM_SYNC_ID respectively.
Merge API Winner Record Identifiers | Merge API Loser Record Identifiers |
When a manual or automated merge occurs in CRM, the important field values from the losing record are already selected and added to the winning record in CRM. The Acoustic Merge API only needs the IDs to merge the Marketing activities in the Acoustic Campaign.
Campaign org Admins can see Merge jobs by going to Settings > Activity Reports > All data jobs.
|
|
Only the Job ID is available |
If you need more details about the recipient IDs involved in a merge, open a support case and provide the Job IDs so the Backend Data Job Details can be retrieved.
Data Job ID: 222094976 Submitting User: crmsyncuser@campaignorg.com (Name: Sync Acct) Org Name: CampaignOrgName Datajob Name: Merge Recipients@Wed May 24 15:42:14 UTC Description: Merge duplicate contacts to master contact from contact source DatabaseName, and delete deprecated contacts. Status: Completed |