Source of the Problem
We are currently helping a client build out their HubSpot portal to allow them to track referral partnerships. This is a task that should be simple to implement, but the capability of the custom object at the moment is a bit limited, and solutions to this are not as elegant as they should be.
Who is affected
This problem affects multiple clients in the HubSpot platform and many user roles from the accounting team to the sales team and the RevOps team. Allowing the custom object to be developed in a way that would allow the end-user to clearly understand the structure and create a streamlined process for tracking the data that is valuable to their business operations.
Tools we can currently do this in
Tools like Salesforce, Marketo, and MS Dynamics allow dynamic relationships to be built between different objects.
Example
The example that I am going to use is building a referral partner program. Building a referral partner tracking system could be achieved in a myriad of ways.
Current Limitation
Contacts cannot be associated with different contacts; there is no parent/child relationship.
Each deal can only have one company, and associating the referring contact to the deal does not allow a report to be run for the referral relationship only.
Simplest implementation
Allow a custom property to be created that is associated with another contact or company in the CRM. Then a user could create a field that would be called "Referred by" or "Referred to." Then when a user wants to see who has referred them business, they could run a report to see all of the referral associations. The advantage to this method is that if a contact record gets updated, then the link to the referring contact would link to contact with accurate information. This special association has been in beta once by HubSpot; it was called Special associations between contacts and companies. If this were to be expanded to a property created on any other object in the CRM and the custom property created through the GUI, that would simplify this process.
The list of contacts or companies could even pull from an active list in the system to limit the number of displayed options in the field. This field could also be set the contact's email address to start the association. That would enable the property to be used on a form. The contact filling out a referral form would only have to enter their email into the field, and then the field would update to the contacted to create the relationship.
Current (Simple) Option for Implementation
Creating a new object that is named referral partnership. This field will store all data relating to the Partnership. Such as:
Partnership name
The company owning the partnership
Company Properties [ ]
The primary contact owning the partnership
Contact Properties [ ]
The primary problem here is that the information relating to the company and the contact will not update when the contact's or company's information is updated. And when if there is more than one contact at the partnership, there is no place to store the information. This also limits marketing-based communications to your referral partners as there is no way to have a workflow search for a property in another object, ie. if "referral_partner.contact_email" = "contact.email" then set contact.partner=TRUE.
Current (Complex) Option for Implementation
This option entails creating multiple objects for the partnership, the company owning the partnership, and the contacts that are a part of the partnership. The object named referral partnership will store all data relating to the partnership. Such as Partnership Properties [ ] and would relate the companies that were referred by the relationship.
The object named referral partner company will store all data relating to the company owning the partnership. Such as Company Properties [ ], and would have a one-to-one relationship with the partnership and a one-to-one relationship with the company record.
The object named referral partner contacts will store all data relating to the partnership. Such as Contact Properties [ ], and would have a one-to-one relationship with the partnership and a one-to-one relationship with the contact record.
The primary problem here is the helper tables just end up creating noise in the system showing data that just links to other data. It also uses two objects for a purpose that is less than valuable for a custom object. It also creates a process that is rather cumbersome to maintain.
https://lucid.app/lucidchart/ec89aed2-2e71-409c-807e-10de50e27289/view
... Afficher plus