Duplicate companies in HubSpot: why they appear and how to merge them
Missing domains, subdomains, the API and imports: where duplicate companies come from, and how to stop them coming back.
By Quentin Tristan3 min read
Duplicate contacts get most of the attention, but duplicate companies do more damage. Contacts and deals hang off the company record: when "Acme" exists three times, its people, its deals and its history are spread across three records, and nobody sees the whole account.
Where duplicate companies come from
HubSpot deduplicates companies on their company domain name (HubSpot: deduplication of records). Duplicates appear whenever that domain is missing, different or bypassed:
- Companies created without a domain. A company created with a name only has nothing to match on. The next "Acme" is created as a new record.
- A website but no domain. The website is filled in, the domain isn't. Deduplication relies on the domain, not on the website.
- Subdomains. When HubSpot automatically creates companies from contact email domains, it creates one company per unique domain, subdomains included. Contacts at two subdomains of the same company end up on two company records (HubSpot: automatically create and associate companies with contacts).
- The API. HubSpot states that companies created through the API are not deduplicated by domain, so integrations and scripts can create copies.
- Imports without an identifier. Without a record ID or a company domain name in the file, an import creates new records instead of updating existing ones (HubSpot: set up your import file).
- Rebrands and acquisitions. A company changes its name or its domain, and someone creates the new one without looking for the old one.
How to find them
HubSpot's duplicate tool compares companies on domain, name, country/region, phone number and industry, and suggests pairs to review. It's available on Professional and Enterprise subscriptions of Marketing, Sales, Service, Data or Smart CRM Hub (HubSpot: manage duplicate records).
Beyond the tool, a few manual checks catch what it misses:
- Filter companies with an empty domain and look for names that already exist.
- Sort by name, ignoring legal forms: "Acme", "Acme SAS" and "ACME Inc." are usually one company.
- Look at shared LinkedIn company pages and phone numbers. Two records with the same LinkedIn page are almost always the same company.
Before you merge
A merge can't be undone, and the primary company's values win (HubSpot: merge records). For each group:
- Make sure it's the same legal entity. Subsidiaries and branches often share a name. Merging a parent with its subsidiary loses a real distinction.
- Keep the record with the most activity and the right owner as primary.
- Check the domain on the primary record. It's the key every future contact will be matched on.
- Look at the open deals on each record, so the merged company still makes sense in reports.
Stop them coming back
- Fill the domain on every company. When a website is set, the domain can be derived from it.
- Decide how to handle subdomains, and exclude the ones you don't want as separate companies: HubSpot lets you exclude up to 1,000 domains from automatic association.
- Import companies with their domain, and contacts with an identifier that links them to the right company.
- Ask your integrations to look up a company by domain before creating one.
Duplicate companies in Forgeo
Forgeo groups duplicate companies by domain, with the protocol, "www." and the path ignored, by LinkedIn company page, or by name without its legal form, confirmed by the same phone, city or LinkedIn page. A group is marked sure when the records share a domain or two signals agree, and to review otherwise. A value shared by more than 25 records, like a group switchboard, never links anything.
The audit also flags the causes: companies without a website or domain, and companies with a website but no domain, for which Forgeo proposes the domain read from the website.