A key use case for our customers is sending back to HubSpot their CRM Opportunity records to help close the loop on how leads sent from HubSpot turned out in terms of opportunities. This can help fuel both segmentation and reporting in HubSpot's platform. In HubSpot these records are called Deals.
From time to time we have customers who find that they are getting a lot of duplicate Deals created by way of their integration. The following is an overview of the most common reason why this occurs and how you can prevent it from taking place.
How Bedrock Dedupes Opportunity Objects
The first thing to understand is how Bedrock Data dedupes this type of object.
|Identifying Fields||Relationships||Matching Logic|
|NAME, CLOSE_DATE||Contact and/or Relationship||Fuzzy match on name, direct match on close_date and graph match on related contact/company|
The most important thing to understand from above is that this type of record doesn't just rely on fields to help dedupe but also related records such as a Contact and/or Company.
HubSpot's Deals Don't Require Relationships
Next it is important to know that HubSpot's system does not have a built in requirement for Deals needing to be related to either a Contact or Company record. This is not common for most CRM systems since at the very least you should have a related Company record. But if you wanted to create a Deal floating on its own in HubSpot you could do that and this is where the root of the duplicate issue with Bedrock takes place.
How Duplicate Deals in HubSpot Take Place
To boil it all together, here is what commonly takes place when duplicate Deals in HubSpot pop up.
- An Opportunity from your CRM is indexed with all of the appropriated dedupe information, including a related Contact and/or Company record
- The Opportunity passes your Workflow rule setup in Bedrock for syncing this type of record
- During the indexing process, when trying to match the related records in the CRM to records in HubSpot, no such records are found (no company or contact).
- Bedrock pushes the Opportunity into HubSpot and despite there being no related Company or Contact found that matches with these related records in your CRM, HubSpot accepts this new record and a new Deal is created
- But since this Deal doesn't have a related Contact and/or Company in HubSpot, Bedrock is unable to pull it back down since we require these relationships to properly index these types of records
- If the originating Opportunity in the CRM gets updated, it will go through the deduping process in Bedrock and since the original Deal above never got re-indexed, it thinks it has to create a new Deal in HubSpot and this is where the duplicate comes in.
Best Practices to Prevent Duplicate Deals in HubSpot
Having duplicate records of any kind is not ideal so the more you can put in processes to prevent these from occurring the better. For preventing the above, we recommend the following:
- Setup Workflow Rules in Bedrock for Contacts and Company records from your CRM that ensure that if a related Opportunity for these records is eligible to sync to HubSpot, that these records also be eligible to sync
- A common process for the above is to create a field in your CRM called "Sync to HubSpot" and make it a boolean-style field that you check using automation rules in your CRM that would be basted on the record being associated to an Opportunity that is syncing over to HubSpot.