Blog

How to Automatically Associate Contacts to Companies Using Fuzzy Matching in HubSpot

Written by Jonas | December 29, 2025

Getting contacts associated with the right company in HubSpot sounds simple, but in practice, it often isn’t.
Automatic association based on email domain works well for small businesses. But as soon as you’re dealing with:

  • enterprise accounts

  • shared or generic email domains

  • multiple subsidiaries or regions

  • contacts without a clear domain match

…that logic quickly breaks down.

The result? Contacts that clearly work at the same company remain unassociated, creating gaps in reporting, segmentation, and lifecycle automation.

With Koalify, you can take a more flexible approach, using fuzzy matching on company names to identify likely colleagues and automatically associate them to the correct company.

 

The challenge: associations depend on domain name matches

HubSpot can automatically associate contacts with companies by matching the email domain to a company’s domain. In many cases, this works well and helps reduce manual effort.

However, this default behavior has some important limitations, especially for B2B teams with more complex data models.

Fuzzy matches like:

  • “Acme Inc.” vs “Acme Corporation”

  • slightly different addresses

  • missing or generic domains

aren’t enough on their own.

That’s where Koalify’s fuzzy matching rules come in. Koalify can identify likely relationships even when the data isn’t an exact match, you just need one additional step to turn that insight into a reliable association.

 


The idea: identify colleagues first, then reuse that context

Instead of trying to associate contacts to companies directly, the approach is:

  1. Use Koalify to identify contacts that likely work at the same company

  2. Treat those contacts as colleagues

  3. Reuse the company association from one colleague to associate the other colleague with the same company.

This keeps everything accurate, explainable, and fully automated.

 

Step 1: Create a Koalify rule to identify colleagues

Start by creating a Koalify duplicate rule for contacts that:

  • Do not match on first name, last name or phone number

  • Do have a similar company name / street address / email domain (using fuzzy matching)

For example:

  • Company name is a close or fuzzy match

  • First name and last name are different

This rule doesn’t say “these are the same person.”
It says: "these people likely work at the same company".
Koalify will group these contacts together and mark them consistently.

 

 

Step 2: Use the Koalify rule to associate contacts as colleagues

Once Koalify flags these contacts, you can use HubSpot workflows to:

  • Detect contacts that belong to the same Koalify group

  • Automatically associate them as colleagues

At this point, you’ve created a reliable relationship between contacts, without merging them and without needing exact matches.

 

Step 3: Create 2 custom properties to pass the associated company

In many cases, one contact is already correctly associated with a company, while the other is not.
To reuse that association, you’ll need two custom contact properties:

  1. Primary company record ID
    Stores the record ID of the contact’s associated primary company



  2. Colleague’s primary company record ID
    Used to temporarily store the company ID copied from an associated colleague

Because associations themselves can’t be copied directly, these properties act as a safe and controlled handoff mechanism.

Step 4: Create a workflow to set the the contact → company association

Now you can bring everything together with a workflow.

Enroll contacts that:

  • Don’t have a primary company association

  • Are associated with a colleague who does have one

In the workflow:

  1. Copy the primary company record ID from the colleague

  2. Store it in the custom “colleague company ID” property

  3. (Optional) Add a short delay to ensure the property is populated

  4. Use a standard HubSpot workflow action to associate the contact to a company using that "Primary Company ID of Colleague"

At this point, the contact is correctly associated with a company, without relying on email domain logic or manual intervention.



Why this works so well

Why this approach works

HubSpot’s association logic is intentionally strict and that’s a good thing. It ensures data consistency and prevents accidental mis-associations. But in real-world B2B data, exact matches aren’t always available.

This approach bridges that gap.

By using Koalify’s fuzzy matching to identify likely colleagues first, and then relying on HubSpot-native record IDs to create the actual association, you get the best of both worlds:

  • Flexible, real-world matching that reflects how companies actually appear in data

  • Deterministic, reliable associations built on stable record IDs

It also scales naturally:

  • Works for enterprise and multi-entity organizations

  • Handles subsidiaries, regions, and naming variations

  • Applies anywhere context matters more than exact matches

The result is a contact-to-company association process that’s both accurate and automated and a CRM that models your business the way it really works.