Creating custom objects in HubSpot

HubSpot Custom Objects 101

Written by: Tanya Wigmore

Published: 28 November, 2022

When and how should you use HubSpot Custom Objects? We invited HubSpot Academy Professor Kyle Jepson to join our HUG and share all his insights on Custom Objects. You can catch the video below!

There was loads of great information in this session. Here's the recap:

What is a Custom Object?

Before we get into custom objects, let's define objects:

In the context of HubSpot, an object is something that gets represented in your CRM by a record that has properties and a timeline and can be associated with other records in your CRM.

Your contact, company, deal and ticket records are standard objects in HubSpot. 

New objects that have been rolled out over the past year or so include:

  • Calls
  • Invoices
  • Marketing Events
  • Payments

They have the same record format as you've come to recognize within the HubSpot portal and have properties that are specified by HubSpot though you can customize these by adding your own custom properties. 

Custom Objects

A custom object is an object inside HubSpot that's defined by YOU. 

What are some of the things you could use custom objects for?

We've seen many uses of custom objects over the years and some of them include:

  • Accounts (especially where they need to be associated with multiple contacts or companies, or where companies and contacts may have associations with multiple accounts). 
  • Shipments/Deliveries (if you're doing multiple shipments and need to associate them with a deal)
  • Locations
  • Vehicles
  • Real estate listings (great for personalization of your CMS pages!)

Do I Need a Custom Object?

First, Custom Objects are only available in Enterprise levels in HubSpot. If you do not have enterprise you will be limited by this constraint and in many cases, it doesn't make financial sense to upgrade just to get access to custom objects. (If you're not sure if upgrading makes sense for your organization, give us a call and we'll give you the straight talk on what to expect with Enterprise.)

Second, most of the things you need to track in HubSpot don't really need to be custom objects and, with some pre-planning, can be tracked as properties on an existing object record in a way that you can still segment and report on those properties. 

If you're still leaning towards a custom object, ask yourself these questions to confirm that this is the right approach for you:

Is the source of truth for this data HubSpot or another system?

Example: Sales data vs Accounting Data. HubSpot is going to be the source of truth for your sales data but likely not for accounting. You can integrate your accounting data in but you likely don't need to have a custom object to store it. In cases like this, you may want to look at viewing your external data inside HubSpot using custom cards

Does the record of this data need to be dynamic or immutable?

Dynamic can change over time but immutable is permanent. 

Example: a phone number vs. a phone call. 

On your contact record, the phone number is a dynamic property. If a contact changes their phone number you want it updated in the system and the old one replaced as it's no longer valid.

A phone call is an immutable record. On your contact record you want to see the dates of all phone calls made to that contact with the important info of each phone call. You wouldn't want these properties to be overwritten each time. For immutable data, use custom timeline events to store this data in a standard object

Is the relationship between this data and other HubSpot data one-to-one or one-to-many?

Example: Billing address vs Shipping address. 

Your contacts likely only have one billing address but may have multiple shipping addresses if they're shipping to other locations. 

Data with one-to-one relationships should be added as properties to an object. 

Is this data primarily inward or outward facing?

Example: A Testimonial vs a Support Ticket

A testimonial is a great thing to use on your website to build trust with your audience. You can manage outward-facing data in HubDB and get so many more features out of it such as links, images, and pull in other properties from other tables. You wouldn't really want to use a custom object for this as it won't offer the same flexibility. (Read more: What's the difference between HubDB and a Custom Object?)  

A support ticket is an internal facing piece of data that will have associations with other records within your CRM. This is an excellent use of an object for data management. 

Standard Object or Custom Object?

If you need HubSpot to store dynamic, internal data in a one-to-many relationship with other data, use an object. 

Example: Bank accounts. A bank account may be shared between multiple contacts, and a contact may have multiple accounts. 

Some Rules for Objects:

  1. If it's a person, store it as a contact. If you want to send emails, add to lists, or do any other contact based things, you'll wan to use contact records. 
  2. When you're dealing with categories that aren't mutually exclusive, create a dropdown property. Example: Students vs Parents vs Alumni. A contact may fall into one or more categories and you want the flexibility to adjust their record as needed. 
  3. If you want to report on revenue, use deals. 

Creating a Custom Object

Creating custom objects has gotten much easier over the past few months. Now, you can create custom objects in your account going to the Settings > Data Management > Custom Objects area. 

Creating Custom Objects

Learn more from Kyle!

Kyle is one of the most generous people when it comes to sharing information. Here's where you can follow Kyle to learn more:

Learn more from CRO:NYX! 

HubSpot
CRM
Education
Creating custom objects in HubSpot

Written by: Tanya Wigmore

Tanya Wigmore is the founder of CRO:NYX Digital and is passionate about growing healthy teams and businesses. With an extensive background in inbound marketing, search marketing, web analytics, CRO & UX, she's always finding new ways to apply optimize and improve.

Let's Get to Work!

We’d love to chat about how we can help you with your next project.

Get started

Let's Get to Work!

We’d love to chat about how we can help you with your next project.

Get started