How does HubSpot deduplicate contacts and companies?

Last updated: November 15, 2017

HubSpot automatically deduplicates contacts and companies to keep your database clean.


HubSpot deduplicates contacts in two ways, first by usertoken (created by the HubSpot tracking code), then by email address.

  • Usertoken: HubSpot first looks at the contact's usertoken to see if it should be merged with an existing contact. The usertoken is the cookie that HubSpot stores in the visitor's browser when they visit your page with the HubSpot tracking code on it.

    For example, if a visitor submits a form on one web browser, then another visitor submits a form using the same browser on the same computer, the contacts will be merged together. The information from the second form submission will overwrite the information from the first submission because they have the same usertoken (cookie) stored in their browser.

    This will happen only if the email address from the second submission doesn't already exist as a contact in HubSpot. If it does, the matching record will be updated with the new values from the form. However, the analytics data from the second form submission will attach to the first form submission's contact record. Learn how to prevent deduplication of form submissions based on cookies here.
  • Email address: HubSpot will look for a matching value in the Email property. If a contact exists with the same email address as the one being added, new contact information will be added to the existing contact record.

    For example, if you import a list of contacts that includes email addresses already associated with existing contacts in HubSpot, the imported information will overwrite or be added to information on the existing contact record.


HubSpot first looks at the Company Domain Name company property to deduplicate companies. If Company Domain Name is not included as a column in your import, HubSpot will try to match the Website URL company property value to existing company records. If you do not include either of these properties in your import, each row of your import file will be imported as a new company record.

Was this article helpful?