Nonprofits

Catching Duplicate Donors in Salesforce using Brickwork

Feb 08, 2024

There are innumerable benefits to nonprofits that use data to manage and improve their programs. Capturing donor information, transactional data, impact metrics, website performance, or campaign effectiveness can, when done with purpose, help nonprofits succeed. 

Does this sound familiar: you have a content management system, CRM, email marketing tool, and donation platform all working to run your nonprofit. When the systems communicate well, things run smoothly. When they don’t, frustration follows. Just managing these tools becomes a challenge unto itself. 

One problem many face is the creation of duplicate donor records in their database. Whether this comes from website sign up forms, donation pages, or anywhere else, duplicate donor records are the scourge of technology systems. They can skew estimates, discourage users from using the tools correctly, and make it impossible to know with confidence what your constituency looks like. 

This article explains how to configure our native Salesforce integration, Brickwork, to match contacts and automatically merge donor records in several use cases.  

Avoiding Duplicate Records Altogether 

Although what follows is specific to iATS Payments by Deluxe, there are some universal best practices when evaluating new technologies to manage the issue of duplicate records: 

1. Choose tools that integrate: some solutions may come with out-of-the-box integrations with the tools you already have. Finding platforms that work well together usually simplifies the transfer of data between systems, saving time and effort while improving accuracy. 

2. Ask vendors about duplicate management: make sure the vendors you plan to work with understand the importance of managing duplicate records in your systems. Look for tools that give you flexibility to customize matching criteria and that can automate much of the work to reduce manual effort. No one likes to manually comb a database for duplicate records, especially if you have a high transaction volume. 

3. Establish data management practices: keeping your systems as clean as possible will make any duplicate management process easier. Establish clear guidelines and standard procedures for data entry, emphasizing the importance of accuracy and completeness to ensure duplicate records are easily caught. Write these standards down and share them with everyone in your organization. 

With these principles in mind, let’s look at how we can set up Brickwork to eliminate duplicates in your Salesforce instance. 

How to Setup Contact Matching in Brickwork 

The Contact Match Settings determine which details are used to match online donors to their existing Salesforce Contact Record, and when a new Contact record will be created instead. 

There are three options for setting up contact matching: 

Basic: Matches the Email Address field to any Email type field on the Salesforce Contact Record (ie. Primary email, alternate email, work email, etc.). No other setup is needed. 

Standard: Matches the donor’s First and Last name to the standard First Name and Last Name fields in Salesforce. Also, it matches either the Email field to any Email field, as in the basic setting, or the Phone field to any Phone field on the Contact Record. For Instance: a donor’s First Name and Last Name must match an existing contact and either the Email or phone number must match, otherwise, a new Contact record is created. No other setup is needed. 

Advanced: Matches the donor’s information from the iATS fields to the Salesforce Contact Record based on the logic selected in the “Advanced Logic” section. Advanced Match can use any standard or custom fields on the Contact Record to make a match with an existing donor. There are a few important caveats to keep in mind when using this option: 

  

  • More match parameters can be added or removed by clicking the “Add Row” and “Remove Row” buttons. Up to 9 match parameters can be used 
  • Custom Filter Logic can be used for added specificity. Follow this link for more information about working with Salesforce Filter Logic 
  • Values used within the Contact Match process must be exact matches, otherwise no match will be found. For example, if a donor has the last name “O’Brian”, the Last Name “OBrian” will not match, and a new Contact Record will be created. This is true for the Basic, Standard, and Advanced settings. 
  • Phone and Email field types are specially formatted Salesforce fields. These validate the data that a donor would fill in. For example, you cannot save coritest.com as it is missing the “@” symbol. In this example, cori@test.com would work. This is true for the Basic, Standard, and Advanced settings. 

The Advanced option is great for organizations that want to be very specific in the way they merge records. Custom logic and the ability to match custom fields gives Brickwork users a lot of flexibility in determining what constitutes a match. For example, you can use an OR operator in case a donor inputs either their personal or work email address, as demonstrated in the example shown. 

Configuring these settings is step one in the process. Next, we’ll show where the Contact Matching Settings show up as data moves into Salesforce, which records are merged, and what is created for each type of transaction.

Mapping Out the Flow of Data

For those more technically inclined, this section covers how the contact match settings affect data flowing into Brickwork. Three cases of data movement are depicted: single donations, recurring donations, and batch uploads on the Nightly Download Journal.  

Please keep in mind that some of the terminology in these examples may differ from your own Brickwork configuration depending on which data model you are using to register contributions. All of these are marked with an asterisk in the diagrams below. 

Single Donation Data Flow: these are the simplest cases in which a donor enters a one-time transaction through an online form. The Contact Match settings will determine if a new donor Contact Record is created or if the transaction is added to an existing donor. 

Recurring Donation Data Flow: contacts are created similarly to single transactions, with the main difference being the donation data model used by your organization for recurring gifts. In your own instance, keep in mind which Salesforce Object you’re using to track recurring donations, whether it’s Payments or Recurring Donations. To choose between these options, see the iATS installation guide.

Batch Upload Data Flow: Transactions entered by batch into Salesforce are also filtered by the Contact Match settings. This is most common in the Nightly Download Journal batch import, which is configured as a Scheduled Job during the Brickwork installation process and pulls transactions that haven’t been processed through iATS’ online forms into Brickwork.  

Transactions can also be imported in bulk to Brickwork through your preferred data importing tool, such as Data Loader or the Data Import Wizard. 

Summary 

Duplicate management is a headache for many organizations. Choosing tools that make data management practices easier will help you make better decisions to advance your mission. Less time is wasted checking that each record is accurate, and more time can be devoted to tasks informed by quality data. 

Brickwork by iATS Payments offers features that mitigate this issue, specifically for organizations using Salesforce. Through simple configurations and robust logic, you can rest easy knowing that your donor database is duplicate-free. Even better, these tools come at no additional cost when you’re an iATS client. 

iATS Payments by Deluxe is the only payment processing solution built and designed exclusively for nonprofits. Over 16,000 nonprofit clients trust us to process their valued donor contributions. If you want to see if Brickwork is the right fit for your organization, contact us today.