Control duplicate constituents on import

In this article:

Why it's important to use matching preferences in your import

Optimizing matching preferences for each import is key to minimizing the creation of duplicate constituent records and reduces time-intensive de-duplication work after import. 

The Flex Importer tool provides a number of options you can select to match constituent data you're importing to constituent data that already exists in your account. The matching will occur as the Flex Importer compares each row of data in the import file to data previously saved to your account.

This article explains how the defaults and options for matching preferences work. Continue reading below to learn the details of how each matching option works.

NOTE: Matching preferences in this context apply to constituent records only.

Default matching preferences

In the screenshot shown below, the default options of "Match on LGL Constituent ID" and "Match on External Constituent ID" are highlighted. Neither of these options can be turned off. If your import file has a column for LGL Constituent ID or External Constituent ID, these default matching preferences can be ignored if the field mappings are set to "Do not import" during mapping.

These two matching preferences are applicable to the following cases:

  • Match on LGL Constituent ID allows for easy and accurate matching when data exported from the account is reimported in order to make a bulk update to multiple records
  • Match on External Constituent ID allows for easy and accurate matching when data is being loaded into LGL during a data migration project or when a parallel system is in use. 
    NOTE: When your import has a mapping for "External Constituent ID", we strongly recommend turning off all optional matching options because all you should need is this ID for a match to be correctly made. If you intend to import a file in which some rows contain external IDs but others do not, it is best to separate the file into two separate files so as to match on external ID only for the file with IDs present and use other appropriate matching options for the file with no IDs present.

Optional matching preferences

You can also match on name and/or email address in three different ways. (For example, team members or stewards can be uniquely identified using name* or email address.)

The checkbox options shown above allow you to control which types of matches to allow. If you check all the boxes, you'll be allowing all of the possible matches. By checking just one or two of the boxes, you'll be allowing just one or two types. 

See the following sections of this article for a description of when to use which constituent matching preferences.

* A name containing two words can be matched; however, a match cannot be found for names containing more than two words.

Match on LGL Constituent ID or External Constituent ID

If your import spreadsheet contains a column for either LGL Constituent ID or you have an external constituent ID, you can map to either of these fields in LGL to bring your data into the correct constituent record.

Match on email address and name

This option is safe for most imports but is limited to matching constituents that have email addresses. It will ensure that constituents match only when both the email address and first name match. This process looks at all email addresses.

NOTE: A partial name match will be found as long as the first name contains letters from the second name (e.g., "Joe" in your import file will not match to "Joseph" in the LGL record, but "Joe" in your import file will match to "Joey" in the LGL record).

Click to see a larger version

Match on email address only

This option is safe for most imports as well, but it is limited to matching constituents that have email addresses. It also looks at all email addresses and will match to the first constituent it finds with the same email address.

NOTE: While the match option can be set to look at email only, the import file itself must include enough name data (at least the last name must be present) to create a constituent record or it will cause an error and the data will not load.

Click to see a larger version

Match on name only

Matching is performed on first and last names for individuals, or organization name for organizations. This option can be effective but should be used with caution in cases where it's relatively common to have more than one constituent in your database with the same name.

Click to see a larger version

Import Summary shows matches to records in your LGL account

The Import Summary indicates how many records are expected to be added as new or updated, based on successful matches to records that already exist in your LGL account.

What happens when there are duplicates within an import file?

If there are duplicates within your import spreadsheet, the Flex Importer will process those in the order they appear. But note that the Import Summary will not reflect those matches at the step where you review and commit the import. This is because the Flex Importer looks only at records that already exist in your LGL account. 

As the Flex Importer processes each row in your spreadsheet, those rows are added to your LGL account and become part of your data. This means later rows in your spreadsheet (which the Flex Importer processes "later") might match to rows higher up in the spreadsheet (which the Flex Importer processed "earlier" in the import). 


This import spreadsheet contains 5 rows, and there are matches within the spreadsheet. 

When this import has a "Ready for Review" status, it's possible the number of new constituent records shown will be higher than after the import completes processing. This is because there may be duplicates within the spreadsheet, and matching can happen only after the constituent records are created (after you accept the import). 

During processing, the Flex Importer will successfully de-dupe these records because it can match against the rows that it has already processed. After you accept the import, the final Import Summary will show the true number of constituent records created versus the number that were updated:

Report showing how each row of import data was processed

Once your file is fully imported, you can generate a report showing exactly which records from your import spreadsheet matched and which did not match existing records (i.e., created new records) in your database. To create this report, click the Generate Export button in the "Review and commit" step of your import, as shown here:

The spreadsheet that results from this export contains all records and their status in terms of whether a match was found in LGL or not. If you want to see just those that were rejected, you can sort/filter by status in Excel to see all of the applicable records.