search
Understanding Contact Merge Flow

Last Updated:

This article will help you understand when Beamery may prompt you to merge a duplicate candidate and how the data is handled during that operation. 

Merge Logic

The following logic rules are implemented when determining IF a merge should occur:

  • IF the profile syncing across has a matching ATS ID to that of a profile already in Beamery, THEN the existing profile in Beamery will be UPDATED.
  • IF the profile syncing across does not have a matching ATS ID to that of a profile already in Beamery, AND has an email address that does not match that of a profile already in Beamery, THEN the new profile will be CREATED.
  • IF the profile syncing across does not have a matching ATS ID to that of a profile already in Beamery, AND has an email address that does match that of more than one profile already in Beamery, THEN the new profile will be CREATED
  • IF the profile syncing across does not have a matching ATS ID to that of a profile already in Beamery, AND has an email address that does match that of one profile already in Beamery, AND has an ATS ID, THEN the new profile will be CREATED.
  • IF the profile syncing across does not have a matching ATS ID to that of a profile already in Beamery, AND has an email address that does match that of one profile already in Beamery, AND does not have an ATS ID, THEN the new profile will be MERGED.

What to Watch Out For :mag:

Please be aware of the following ways merging candidates will effect your data.

  • If a contact is in an active campaign or is scheduled to receive a campaign message and that contact is merged into another contact - the Secondary Contact (the contact merged into another contact) will be dropped from the campaign. The secondary contact will not receive any further touch points.

  • The above also applies to Bulk Messages. Merged contacts will be dropped from all scheduled messages.

  • Secondary Contacts, nor the Primary Contact they were merged into, will not be visible in a campaign. This is unless that Primary Contact was added to the campaign before the merge or was later added separately. Using filters in the People Grid like “Campaign receive date” and “Campaign received” will not return the Secondary Contact nor the Primary Contact unless the Primary Contact received that campaign separately.

  • All contact merges are final and cannot be undone or rolled back.


Data Handling

The following will define the primary and secondary profile in a contact merge and explain how Beamery's logic manages the data during the contact merge. 

Merge Contacts flow snapshot:

When you merge two contacts (let's call them primary and duplicate) Beamery does the following:

  • Retain data on the primary contact but pull any field that doesn't exist on the primary but does on the duplicate contact.
  • In the case of multi-value standard fields, the duplicate contact's data is appended. For example, if the primary has education1 and the duplicate has education2 then the final contact would have both. In the case of custom fields, we take the values of the primary contact.
  • For creation information (timestamp and source), we store the oldest creation object.
  • If any contact had 'do not contact', we keep it enabled on the merged contact.
Contact Properties Merge Logic

Names

'firstName'
'lastName'

The resulting contact will have the value of the property on the primary contact or the value of the property on the duplicate contact if it doesn't exist on the primary contact. For example, if the primary contact (John) didn’t have a last name and the duplicate contact did (John Smith), the resulting contact would have a last name (John Smith).

'middleNames'

The middle names from both contacts are combined and added into the merged contact.

User related

'assignedTo'
'sourcedBy'

The data from the primary contact will be preserved. If it’s missing on the primary contact, it’s taken from the duplicate contact.

Contact metadata

'summary'
'status'

The resulting merged contact will have the value of the  primary contact or the value of the duplicate contact if it doesn't exist on the primary contact.

Employee/Grow specific

'employeeId'
'growUserId'
'contactType',

The resulting merged contact will have the value of the  primary contact or the value of the duplicate contact if it doesn't exist on the primary contact.

pools

The merged contact will be in all pools the primary and duplicate contacts were in. If both contacts were in the same pool, the merged contact will be in the pool once. In this case, the primary contact's pool step will be used for the merged contact.

custom fields

The resulting merged contact will have a combination  of custom fields from both contacts. If an entry is found on both contacts, it will only be added once to the array on the resulting contact. On a single select field where the contacts have conflicting entries, the value for the primary contact will be used.

vacancies

The resulting merged contact will be in any Vacancies the primary and duplicate contact were in. If both contacts were in the same Vacancy then the merged contact will remain at the step of the primary contact.

previously merged, or blacklisted contacts

'mergedWith'

'duplicateBlackList'

 

The merged contact will inherit the list of contacts that were previously merged or kept separate from both contacts.

allowed teams and users

'allowedTeamsIds', 'allowedUsersIds',

 

The merged contact will be accessible by all teams and users that had access to the primary and secondary contacts.

'integrations'

The resulting merged contact will have the integrations object containing the ATS ID of the primary contact, unless it doesn’t exist then it will be that of the duplicate contact.

'education'
'experience'

All unique entries from both contacts will be added on the merged contact.

'primaryExperience'
'primaryEducation'

This will be recalculated after the merge.

'emails'
'links'
'phoneNumbers'

The resulting merged contact will have the combination from both contacts. If the same field is found on both contacts, it will only be added once to the array on the resulting contact. If the duplicate contact has a link or an email, that’s not on the primary contact, the merged contact will have that link or email.

'primaryEmail'
'primaryPhoneNumber'

The resulting merged contact will have the value of the the primary contact or the value of the duplicate contact if it doesn't exist on the primary contact.

'skills' 'honours'
'languages''publications'

The resulting merged contact will have the combination of arrays from both contacts.

'globalTags'
'tags'

The resulting merged contact will have the combination of arrays from both contacts.

'attachments'
'photos'
'portfolio'

The resulting merged contact will have the combination of arrays from both contacts.

'preferredLocations'

The resulting merged contact will have the combination of arrays from both contacts.

'lastEnrichedAt'
'lastActivity'


The resulting merged contact will have the value of the property on the primary contact or the value of the property on the duplicate contact if it doesn't exist on the primary contact.

'gdprConsent'
'gdprLastConsent'
'doNotEnrich'
'doNotCampaign'

The resulting merged contact will have the value of the the primary contact or the value of the duplicate contact if it doesn't exist on the primary contact.

'doNotContact'

The resulting merged contact will have this field set to true if any contact has it set to true.

'createdAt'
'creationSource'

The resulting merged contact will have this field set to the values from the oldest contact

'createdBy'

The resulting merged contact will have the value of the property on the primary contact or the value of the property on the duplicate contact if it doesn't exist on the primary contact.

'confidential'

  • The resulting merged contact will have this field set to true if any contact has it set to true.

  • Confidentiality mode set to the strictest confidentiality mode for either contacts.

'mergedAt'

Set for the primary contact equal to the current date and time of the merge.

'activities'

  • Activities from both contacts will be shown on the merged contact.
  • An activity to reflect the merge operation is added on both contacts.