Introducing the data model in HubSpot

Defining your data model is a part of CRM implementations that often happen behind the scenes in the planning phase, and set the foundation for every process and every report you need to build after that.

A great data model is usually so simple that you won't even think about it, while a poor data model will cause constant complications and confusion.

The needs for your data model is somewhat different for most companies. An optimal data model should facilitate for tracking and storing all relevant data in a way that makes it convenient for the users to store, read, and aggregate into relevant reports for your company.

 

Elements of a data model in HubSpot

A data model in HubSpot includes several element types that all play a part in how your data is stored and used. The four main elements to consider are:

  • Object types 
  • Properties
  • Associations, labels, and limits
  • External data

 

The Standard HubSpot Data model

Every HubSpot instance is set up with all the elements of their standard data model. This model is based on the common needs of most organizations, and will usually cover all your primary needs in a CRM system.

 

Objects

An object is a type of record that shares a common set of characteristics and available properties. "Contacts" is an example of this. Even though all contacts are unique, they share the same structure, and should have the same type of data, like their name, email address, etc. "Companies" are another object with a different set of Properties like Organization number and annual revenue, that would not be relevant for a contact.

There are more than 20 different object types in all HubSpot accounts solving for various needs, and some of them are more essential than others.

Everything from contacts and companies, to events, email, calls, subscriptions, invoices etc.  are all examples of objects available to you. Some of these are very fixed, like emails and calls, while objects like contacts can be heavily modified with properties and associations to fit your specific needs.

The most essential object types that all companies need to be familiar with to some degree are:

  • Contacts - Any specific person you store information about.
  • Companies - Any organisation you store information about.
  • Deals - Typically used to keep track of your sales process, forecasting, and detailed transaction details.
  • Tickets - Typically used for incoming support inquiries.

 

Properties

Each object has a predefined set of properties based on the typical use case for most companies. Information that would be relevant for any organization to keep track of, like address, phone numbers, names, status fields, etc. already has properties available in a relevant format, and you won't be able to remove these. Specific information about the company that is only relevant for your organization, like "Customer club" has to be added specifically.

 

Associations

All the main object types can be associated to each other by default, but you can also have association labels, that will give you more context into the relationship between two records.

The widely used standard labels from HubSpot are:

  • Contact -> Primary company
  • Parent company <-> Child company

Both of these are also set up with a "one-to-many" association limit, so a contact can only have one primary company, but many contacts can have the same primary company. Additional companies associated to the same contact will just not have a label. The same goes for Parent company, where a parent company can have many child companies, but any company can only have one parent.

 

Modifying the data model to your needs

Utilizing the standard data model as much as possible where it fits your needs will almost always be the better option, but companies are not all the same, and adjusting the model to meet your specific needs may be necessary. This could mean adapting the existing objects in the data model to different use cases, or it could be to create entirely new custom objects.

 

External data

External data is not really a part of your data model in HubSpot, but it is still an important aspect to consider. Define what data you have in other systems that should be available in your CRM, and whether this should be moved, mirrored with an integration, or accessed from your other system without storing it in HubSpot.

A typical example how many companies track their sales process and closed revenue in the CRM, while the specific invoices and accounting data is managed separately. 

 

Objects

There are a couple methods to consider when adapting to your ideal use of HubSpot objects in your setup. You could facilitate for alternative uses of the existing objects, utilize the additional objects from the objects library (like services, listings, or appointments), or by creating your own custom object from scratch (only if you have an enterprise license).

 

Associations

While associations are already a really great way to connect related data without copying and storing the same values in multiple places, association labels will take this yet another step.

The standard data model already have some examples of using labels, like separating a specific "Billing contact" from any other contact associated to a company or deal, or by having a specific "primary" company for contacts who may also be associated with several other companies.

Used right, this will make sure you can really keep track of the important relationships between your data, like who are the decision makers or influencers of a company's purchase decisions, even across many companies they are involved in, or which company is the client and which is the distribution partner in a partner sales setup.