Matching and Duplication
  • 12 Feb 2024
  • 7 Minutes to read
  • Dark
    Light

Matching and Duplication

  • Dark
    Light

Article Summary

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

Payments App

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 is the field that will control how Payment Gateway Customers, Contacts, Accounts, and Leads are created. This field can be defined differently for each Event Settings or Payment Gateway you have in your organization.

This functionality fires when a record is created, via API, and webhooks. The logic is fired from the Payment Gateway Customer, and will roll down into the Payment Method for the customer. We recommend using the Standard Salesforce Matching and Duplication rules to prevent any duplicate records from being created.

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.

matching and duplication


Salesforce Duplicate Rules

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.

Configuration

Important Step

Add the Relationship Settings field to the Event Settings page layout before proceeding.

  1. From the App Launcher, open "Relationship Settings".
  2. Click New in the top-right hand corner.
  3. 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.)
  4. Click Save.

Configure%20Releationship%20Settings

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. If the Event requires payment, a Payment Gateway Customer will also be created in Salesforce.

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. If the Event requires payment, a Payment Gateway Customer will also be created in Salesforce.

Example of the Attendee being created. Notice the Contact and Account fields are populated with the information.
Configuration 3

The associated account "Perfect Venue" will have the "Bucket Account" Contact record added as well.
Configuration 4

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.

  1. In the App Launcher, enter and click “Relationship Settings”.
  2. Click New.
  3. Enter a Name.
  4. Select a Relationship Rule.
  5. 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.
  6. Set Create Rule = "Account".
  7. Set Account Record Type = "Person Account". (Enter the name of the Person Account.)
  8. Click Save.

Event Settings and Matching

The BT Events Attendee Matching Rule does not use matching logic; it is a packaged rule that runs before the ERS record processing starts.

Therefore, the BT Events Attendee Matching Rule fetches the existing Attendee record & updates the matching Attendee. If you disable the BT Events Attendee Matching Rule and BT Events Attendee Duplicate Rule, it will create a new Attendee record and will not perform matching.

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 = “True” (checked), 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 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.

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:
      Configuration 5

Example

I have the Work Email field defined on my pre-existing Contact record.
Configuration 6

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.
Configuration 7

Duplicate Matches

Events Attendee Matching Rule

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.