- 07 Oct 2024
- 8 Minutes to read
- Print
- DarkLight
Matching and Duplication
- Updated on 07 Oct 2024
- 8 Minutes to read
- Print
- DarkLight
When Attendees register for your Event and their information matches an existing Contact, Lead, Person Account, or Account the settings below will control if a record is created, ignored, etc.
Relationship Settings
The Relationship Setting is part of the Blackthorn Payments package, the user configuring the Relationship Settings logic will need a license to the Payments application.
There is a field on Event Settings object called Relationship Settings. This field controls how Contacts, Accounts, and Leads are created and can be defined differently for each Event Settings you have in your organization.
We recommend using the Standard Salesforce Matching and Duplication rules to prevent any duplicate records from being created. But custom, duplicate matching rules for Account, Contact, and Lead records are supported.
Default Setting
We provide a default Relationship Setting that your team can use.
- Relationship Rule = "Create a New Record if No Match"
- Create Rule = "Contact"
- Match Records = "Contact"
When this is configured correctly, a registration will result in an Attendee record that is related to an existing Contact if there is a match or a new Contact if there isn't a match.
Blackthorn's Relationship Settings harness the power of the Salesforce Duplicate Rules. Unless you select the relationship rule "No Matching or Record Creation," you must have an active duplicate rule for any objects listed in the Match Records field.
Matching Logic Sequence
When matching an Account/Person Account, you must remove "Contact" from the Match Records field so the matching process can match the Person Account. The matching logic uses the following sequence.
- Try to fetch Contacts.
- If no Contact is found, then match Accounts.
- And if no Account is found, then match Leads (if selected).
Configuration
Add the Relationship Settings field to the Event Settings page layout before proceeding.
- From the App Launcher, open "Relationship Settings".
- Click New in the top-right hand corner.
- Fill in the following fields.
- Name (required)
- Default - if this record will be the default settings. You can only mark one Relationship Setting record as the default for your org.
- Relationship Rule
- Match Records - select the record type.
- Create Rule - this will control which record you want configured, if you choose to create new records.
- You can also define a record’s Type field’s picklist values. (The values must be a Name, not an ID.)
- Use the object or record’s Label name (using the API Name will cause Blackthorn Log errors).
- Account Record Type (Enter the Field Label, not the API Name.)
- Contact Account Rule
- Contact Record Type (Enter the Field Label, not the API Name.)
- Contact Bucket Account
- Lead Record Type (Enter the Field Label, not the API Name.)
- Click Save.
Relationship Rules
When the relationship settings match an existing record (i.e. a Contact or Lead record), it will only match and relate to the Attendee record. It won’t update the details on the matched record (i.e. the Lead or Contact record).
"Only Relate A Matched Record"
This setting will not create new records, but only update existing records."Create New Record If No Match"
This settings will create a record if there is no match detected"Always Create New Record"
This setting will ignore duplication rules, and will create a new record even if there is already an existing record."No Matching Or Record Creation"
This setting will not attempt to match or create new records.
Examples
Example #1
For this example, we setup:
- Relationship Rule = "Create New Record If No Match"
- Create Rule = "Lead"
Now, when a new Attendee checks out of an Event, a Lead will be created.
Example #2
For this example, we setup:
- Relationship Rule = "Create New Record If No Match"
- Create Rule = "Contact"
- Contact Account Rule = "Bucket Account"
- Contact Bucket Account = "Perfect Venue" (this is an Account within our org, used for Bucket Accounts)
Now, when a new Attendee checks out of an Event, a Contact will be created and added to the Bucket Account.
Example of the Attendee being created. Notice the Contact and Account fields are populated with the information.
The associated account "Perfect Venue" will have the "Bucket Account" Contact record added as well.
Example #3 (NPSP/HEDA)
For this example, we setup:
- Relationship Rule = "Create New Record If No Match"
- Create Rule = "Account"
- Contact Account Rule = None
Now, when a new Attendee checks out of an Event, if you're using an NPSP/HEDA Salesforce organization, the Account creation rules of NPSP/HEDA will apply.
Person Accounts
If the Person Account data model is being used, use the steps below to create a Relationship Settings record for the Person Account object.
- In the App Launcher, enter and click “Relationship Settings”.
- Click New.
- Enter a Name.
- Select a Relationship Rule.
- For the Match Records, select “Account” and move it to the Chosen column. If a Person Account is enabled, then the "Account" option works for the Person Account.
- Set Create Rule = "Account".
- Set Account Record Type = "Person Account". (Enter the name of the Person Account.)
- Click Save.
Event Settings and Matching
The BT Events Attendee Matching Rule does not use matching logic; it is a packaged rule that uses the Event_ID and runs before the ERS record processing starts. The Event_ID is used instead of the Event Name to distinguish between Events with matching names. Also, the registration process will be successful if the BT Event Attendee Duplicate Rule’s Action on Create is set to “Block.”
Therefore, the BT Events Attendee Matching Rule fetches the existing Attendee record and updates the matching Attendee. If you disable the BT Events Attendee Matching Rule and BT Event Attendee Duplicate Rule, it will create a new Attendee record and will not perform matching.
About the BT Event Attendee Duplicate Rule
The BT Event Attendee Duplicate Rule's default setting is “Allow.” This allows for the creation of extra Attendee records without checking for duplicates.
The differences between the values “Block” and “Allow” are as follows.
If Action on Create = ”Block,” then the Event tries to find a matching Attendee. If one is found, it will be used. If no duplicate Attendee is found, a new Attendee record will be created.
If Action on Create = “Allow,” then a new Attendee record will be created even if a duplicate record exists.
About the One Unique Attendee Email Per Event Field
If the Event Settings One Unique Attendee Email Per Event checkbox is checked, then the same Attendee email cannot be used for two Attendees. Each Attendee needs a unique email address.
The One Unique Attendee Email Per Event field on the Event Settings record provides another way to change the following scenarios.
Checkout Process
- If One Unique Attendee Email Per Event = “True” (checked), a warning message will be displayed when a user registers for multiple Event Items with different names but the same email address.
- If One Unique Attendee Email Per Event = “False” (unchecked), the ERS Status will be set to “Completed" when a user registers for multiple Event Items with different names and with different email addresses.
Campaigns
When Attendees are added to an Event from a Campaign, the BT Event Attendee Duplicate Rule will be respected, and duplicate records will not be created. If One Unique Attendee Email Per Event = "True" (checked), then all but the individual duplicate Attendee record will be processed. However, if a user clicks the Add Attendees button on a Campaign record, Attendees will be synced to the related Event even if the Event Settings’ One Unique Attendee Email Per Event = “True” (checked). This will happen even if a duplicate Attendee is identified in the Attendees list.
Matching Logic Variations
Match Records
There could be use cases that do not require matching on Accounts, Contacts, and Leads. We've added a multi-select picklist that allows users to select which object they would like to use for matching.Set All Email Fields
If this checkbox is enabled the matching logic will look for all email fields defined in your Salesforce matching rules from the object selected in Match Records. Then, it will match the email fields to the same value.- Note: You will need to create a matching rule on each of the email address fields.
- Example matching rule:
Example
I have the Work Email field defined on my pre-existing Contact record.
When the Contact registers for an Event, the Attendee will match to the existing Contact using the Work Email field and then populate the Contact field on the Attendee record.
Duplicate Matches
The Events Attendee Matching Rule was added to prevent duplicate Attendees from being created after an Attendee registers for an Event without using an AttendeeLink.
BT Events Attendee Matching Rule: If there is an existing Campaign Member based on a Contact/Lead, the Attendee will be associated with the previously mentioned Campaign Member.
Matching Criteria: (Attendee: Event EXACT MatchBlank = FALSE) AND (Attendee: Email2 EXACT MatchBlank = FALSE) AND (Attendee: First_Name2 FUZZY: FIRST NAME MatchBlank = FALSE) AND (Attendee: Last_Name2 FUZZY: LAST NAME MatchBlank = FALSE)Location of Rule: Setup > Matching rules > BT Events Attendee Matching Rule
- If there are exact duplicate matches, then the Attendee is matched against the most recently created record (as defined in the "Match Records" field on your Relationship Settings).
- If using fuzzy matching rules and multiple matches are found, then the Attendee is matched against the record (as defined in the "Match Records" field on your Relationship Settings) with the highest match confidence which is determined by Salesforce’s matching algorithms.
- If an existing Campaign Member is based on a Contact/Lead, then the Attendee will be associated with the previously mentioned Campaign Member. The Registration Status for the Attendee and any accompanying questions will be automatically updated.