Blog

How to include associated record data in HubSpot duplicate detection (with Koalify)

Written by Jonas | December 29, 2025

When identifying duplicates in HubSpot, detection typically relies on properties that live directly on the record itself—such as first name, last name, company name, phone number, deal name, amount, or close date.

But in many real-world scenarios, determining whether two records are duplicates depends on context from associated records, not just the record you’re deduplicating.

Out of the box, HubSpot duplicate detection—and most deduplication tools—only evaluates properties on the object being reviewed. Associations, like the company linked to a deal, aren’t evaluated directly.

The good news? With a simple and scalable setup, you can include associated record data in your duplicate logic and detect duplicates more accurately using Koalify.

The challenge: duplicate detection doesn’t look at associations

Consider a common scenario:

  • Two deals are created

  • Both are associated with the same company

  • And they represent the same sales opportunity

From a business perspective, those are clear duplicates.

From a technical perspective, there’s a limitation:

  • Duplicate detection evaluates deal properties

  • Company associations are not deal properties

This means you can’t directly say “flag deals as duplicates if they’re associated with the same company”, unless that company information is available on the deal itself.

 

 

The solution: surface associated record data on the object you’re deduping

The key idea is simple: If you want to dedupe using associated data, you need that data stored as a property on the record itself.

In this example:

  • We want to dedupe deals

  • Based on the associated company

So we’ll store the company’s identifier directly on the deal using a custom property.

Step 1: Create a custom deal property for the associated company

Start by creating a custom property on the Deal object, for example:

Property name:
Synced company ID

This property will store the Record ID of the primary associated company.

Why the record ID?

  • It’s unique

  • It never changes

  • It’s ideal for reliable duplicate detection

 

 

 

Step 2: Use the synced company ID in Koalify duplicate rules

Now that the association data lives on the deal, you can use it in Koalify duplicate rules like any other deal property.

Example Koalify rule for duplicate deals

Flag deals as duplicates when:

  • Synced company ID is the same

  • AND (optionally)

    • Deal name matches

    • Amount maches

    • Pipeline matches

This allows you to detect:

  • Duplicate deals within the same company

  • Without falsely flagging similar deals across different companies

 

Why this approach works so well

By syncing associated record data into a property, you unlock several benefits:

  • Include associations in duplicate logic

  • Use stable, unique identifiers

  • Avoid false positives that are associated with a different company

  • Keep detection rules simple and explainable

Most importantly, this approach works across any object:

  • Deals → Companies

  • Contacts → Companies

  • Tickets → Contacts

  • Custom objects → any association

Anywhere context matters, this pattern applies.

 

Final thoughts

HubSpot duplicate detection is property-based by design. When duplicate logic depends on associated records, the solution isn’t to work around that limitation, it’s to surface the right data on the right object.

By syncing associated record IDs into custom properties and using them in Koalify duplicate rules, you can detect duplicates that HubSpot can’t catch on its own, accurately, consistently, and at scale.

Koalify helps you go beyond surface-level fields so your duplicate detection reflects how your business actually works.