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.
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 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.
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
Now that the association data lives on the deal, you can use it in Koalify duplicate rules like any other deal property.
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
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.
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.