Skip to main content

Duplicate Records in Evergrowth

Learn how Evergrowth manages and sanitises your data, and how to avoid pitfalls when it comes to duplicate accounts & contacts

Updated over 2 weeks ago

Data can enter Evergrowth through multiple channels:

When potentially new records are about to be created, Evergrowth runs a de-duplication process to ensure your repository does not become cluttered and bloated.

The goal of this de-duplication is to reuse (and update) an existing record whenever possible, and only create new records when no reliable match exists.


What Happens When Data Enters Evergrowth

Every time Evergrowth receives new Account or Contact data, it follows the same high-level flow:

  1. Normalise & Standardise key fields so equivalent values and identifiers can be easily compared & matched

  2. Look for existing records in the workspace that matches the incoming data

    1. If one exists, reuse (update) that record

    2. Otherwise, create a new one if no match is found

This process always happens before any new Account or Contact is created.

Important context as you read the rest of this article:

  • Matching only happens inside your Evergrowth workspace

  • Evergrowth prevents new duplicates, it will not automatically merge or delete records that are already duplicated

    • This is to prevent silently making updates to your CRM or 'removing' records you might wish to keep separate


What Evergrowth Does (and Doesn’t Do)

Before we get into rules, here’s the most important distinction:

✅ What Evergrowth does

  • Prevents new duplicate Accounts and Contacts from being created

  • Reuses & updates existing records when a match is found

    • Updates and enriches existing records safely

❌ What Evergrowth does not do

  • Automatically merge existing duplicate records

  • Delete or clean up duplicates already in your workspace

If duplicates already exist, those need to be handled manually or with help from support.


How Evergrowth Normalises Incoming Data

Normalisation is a simple process where Evergrowth takes values and strips away any irrelevant details so just the core elements of the field remain.

This is good for clean data, but also means that 2 versions of the same value will not be stored, just because of a stray forward-slash

Company Website Domains (Accounts)

When an Account comes in, Evergrowth converts the domain into a consistent format before comparing it to existing Accounts:

For example:

  • example.com

  • HTTP://WWW.Example.com/path?x=1

  • example.com/

All of these are standardized and stored as:

Linkedin URLs (Contacts)

When a Contact includes a LinkedIn profile URL, Evergrowth removes query strings and regional prefixes so the profile can be matched reliably:

For example:

  • https://uk.linkedin.com/in/foo?bar=baz

is standardized to:

This allows Evergrowth to recognize the same person even if the URL format varies across sources.


How Evergrowth Decides a new record already exists

This assessment takes place after normalisation, when Evergrowth can more confidently check whether the record is actually new - or whether the format of the domain/linkedin url is just slightly different

Account matching

Evergrowth checks whether an Account already exists in the following order:

  • Option 1) Account name and domain* both match

    • *i.e. the normalised version domains match, when compared

  • Option 2) Domain matches*, even if the name is different

    • *This has to be an exact match for complete confidence

This ordering reflects how Evergrowth evaluates confidence.
Domains are treated as the strongest identifier because company names can often vary, while domains rarely do.

When an Account is Matched

When Evergrowth detects the Account being imported already exists it:

  • Does not create a new accounts

  • Add any tags from the import to the existing Account

    • The Account's already present tags will not be affected

  • Updates any fields & owners for the existing Account


Contact matching

Contacts are only matched within an Account, not globally, across your whole Evergrowth repository.

That means Evergrowth only looks for duplicate Contacts among Contacts already associated with the same Account.

This avoids incorrectly merging people with the same name who work at different companies.

When Evergrowth processes a Contact for a specific Account, it checks:

  • LinkedIn URL match (after normalisation, of course)

  • First name + last name match, within that Account

If a LinkedIn URL is present, it always takes priority because it’s the most reliable identifier for a person.

When a Contact is matched

When a matching Contact is found during an import, Evergrowth:

  • Reuses the existing Contact record

  • Merges in new tags

  • Updates or adds additional fields from the source

  • Overwrites the owner only if configured to do so*

Pictured above: the setting which can be enabled for Account & Contact CSV imports


Summary Decision Tree For CRMs

When synchronising with CRM databases, Evergrowth has additional rules to check whether it should create new CRM records, or find existing records and connect them with the Evergrowth version.


The below flowcharts explain how Evergrowth decides if a new record already existin the the CRM (and should links and update the existing record) or completely new (and should create a new record).

Contact Decision Process Diagram

Account Decision Process Diagram

Decision Tree for SalesForce Leads

Additional Safety Measures for CRM Syncs

Aside from the logic applied to every record being sync'd to your CRM, Evergrowth also has the below rules:

Conflicting Sync Prevention
Multiple sync requests for the same record are processed one at a time, preventing accidental duplicates from simultaneous operations.

Automatic retry with verification
If CRM is temporarily unavailable or busy, the system waits and searches again before retrying, ensuring no duplicates are created during the interruption.

Link protection
Each Evergrowth record can only be linked to one CRM record, preventing the same data from being synced to multiple places.


Imports from different sources

Although data can enter Evergrowth in different ways, the matching logic detailed above is always applied

What changes is how much context Evergrowth already has when the data arrives

CRM sync (inbound leads & recycling dormant leads)

When syncing from a CRM, Evergrowth will first check whether the CRM record is already mapped to an Evergrowth record.

If no direct mapping exists, Evergrowth falls back to the matching from above:

  • Domain and name matching for Accounts

  • LinkedIn URL or name matching for Contacts (within the Account)

If your CRM already contains duplicates, multiple CRM records may map to the same Evergrowth record. Evergrowth does not attempt to clean up or merge those CRM duplicates, for you

FYI: In this scenario, your Evergrowth record will show a link to the most recently sync'd CRM record

Data Explorer imports

Accounts imported through Data Explorer are processed the same way as CSV imports:

  • Domains are standardized

  • Existing Accounts are reused when a match is found

  • New Accounts are created only when no match exists

Chrome extension

When creating Accounts or Contacts via the Chrome extension:

  • Accounts are found or created using domain and name matching

  • Contacts are found or created using LinkedIn URLs first, then name matching within the Account

If enrichment fails and manual details are entered, the same matching rules still apply.

CSV uploads

For CSV uploads, Evergrowth always:

  1. Finds or creates the Account first

  2. Then finds or creates the Contact within that Account

As long as domains and LinkedIn URLs are consistent, CSV uploads will reuse existing records rather than creating duplicates.


Pro Tip: How to Minimize Duplicates in Practice

To get the most reliable behavior from Evergrowth’s matching logic:

  • Always verify you're providing a correct domain for Accounts

  • Include LinkedIn URLs for Contacts whenever possible

  • Keep your CRM reasonably de-duplicated (especially Accounts and domains)*

  • Avoid creating Accounts without domains unless absolutely unavoidable

*In our experience, this is the single biggest blocker to success.

Of course it can feel like boring admin. But once your CRM is reasonably de-duplicated—especially at the Account and domain level—your Evergrowth workflows for inbound follow-ups and automated recycling become significantly more reliable and efficient.

💡 If CRM cleanup feels daunting, many teams use their included "Expert Hours" to audit domains, resolve duplicates, and set this up correctly, so Evergrowth’s automations work as intended going forward


Additional Reading 📚

📖 Bulk Imports - Learn how to Bulk Import Account & Contact records

📚 CRM Integrations - Learn how to configure a 2-way sync between Evergrowth and your CRM

📖 Chrome Extension - Learn how to install and use the Evergrowth Chrome Extension for prospecting while browsing LinkedIn

Did this answer your question?