Skip to main content
Jan 11, 2025 Arise GTM

How to set up HubSpot’s course object for maximum results

In the rounds of updates and features that HubSpot is shipping, in late 2024, they added an object library. This library contains four new and optionally activated objects: Appointments, Courses, Listings (property), and Services.

FireShot Capture 019 - Object Library - app.hubspot.com

In this article, I want to focus on the course object, which has multiple use cases. The most apparent are internal training courses and employee onboarding. So, let’s get into it.

How to fully set up your HubSpot Courses Object

If you want to use the custom object for courses in HubSpot CRM, you would need several key properties to manage and track course-related information effectively. Here are some essential properties to consider:

Core Course Information

Course Name: This is the primary display property that identifies the course. It's crucial for quick recognition and searching.

Course Code: A unique identifier for each course, useful for internal reference and integration with other systems.

Description: A detailed overview of the course content, objectives, and target audience.

Duration: The length of the course, which could be in hours, days, or weeks.

Scheduling and Logistics

Start Date and End Date: For scheduling purposes and to track course offerings over time.

Location: Whether it's a physical venue or an online platform for virtual courses.

Capacity: The maximum number of participants allowed crucial for managing registrations.

Instructor(s): The name(s) of the course instructor(s), which can be linked to a separate instructor object if needed.

Financial Information

Price: The cost of the course, which may vary based on different factors.

Discounts: Any applicable discounts or promotional offers.

Course Details

Prerequisites: Any required prior knowledge or courses that participants should have.

Syllabus: A breakdown of the course content into modules or sessions.

Learning Objectives: Specific goals that participants should achieve by the end of the course.

Course Type: Whether instructor-led, self-paced, online, or in-person.

Administrative Properties

Status: Whether the course is active, archived, or in development.

Created Date: When the course was added to the system.

Last Modified Date: When the course information was last updated.

Association Properties

Related Materials: Links to course materials, presentations, or resources.

Associated Certifications: Any certifications that this course contributes towards.

FireShot Capture 028 - Property settings - app.hubspot.com

By including these properties, you create a comprehensive course object that can be easily managed, searched, and integrated with other CRM functions. This structure allows for efficient course scheduling, participant management, and reporting. It also provides a foundation for automating processes like course notifications, registration management, and performance tracking.

Remember, the specific properties you choose may vary based on your organisation's unique needs and the capabilities of your CRM system. Your custom object must support your business processes and integrate seamlessly with other objects in your CRM, such as contacts (for students) and companies (for corporate clients).

But that’s just the easy part. Setting your object up for success is one thing; using it once you have it is another, so let’s dive into that.

Using properties in HubSpot CMS pages

You can leverage HubSpot's dynamic content capabilities to use HubSpot properties in CMS pages. Here's how you can incorporate properties into your CMS pages:

Accessing Properties

1. Use HubL tags to access properties in your templates. For example, to display a contact's first name, you can use:

 

2. For company properties, use:

 

Personalising Content

You can use properties to personalise content on your pages:

  1. Create smart content rules based on property values.
  2. Use if/else statements to display different content based on property values:

 

Custom Objects

If you're using custom objects, you can query and render them on your CMS pages. This allows you to share data between your business operations, website, and emails.

Dynamic Pages

You can build dynamic pages using CRM objects, including custom objects. For example, if you have a custom object for "Courses", you could create a dynamic page that displays information about each course based on its properties.

Best Practices

1. Always check if a property exists before using it to avoid errors:

 

 

2. Use default values for properties that might be empty:

 

 

3. Group related properties together for better organisation and easier template management.

 

4. Remember that some properties may require specific permissions to access, especially when dealing with sensitive information.

 

Using these techniques, you can create highly personalised and dynamic CMS pages that leverage the full power of HubSpot's CRM data and custom properties.

What are the steps to embed HubSpot properties in a CMS page

To embed HubSpot properties in a CMS page, follow these steps:

1. Create or Select a Page

Create a new page or select an existing one in your HubSpot account by navigating to Content > Website Pages or Content > Landing Pages.

2. Access Page Settings

Click on the name of your page to open it in the editor.

3. Use HubL Tags

Incorporate HubL tags in your page template to access and display properties. For example:

This will display the first name of the contact viewing the page.

4. Personalise Content

Use if/else statements to create personalised content based on property values:

5. Add Dynamic Elements

For more complex scenarios, you can create dynamic pages using CRM objects:

  1. In the page editor, click the Settings tab.
  2. Under Page URL, click the "Make this page dynamic" toggle.
  3. Select the CRM object (e.g., contacts, companies, deals) you want to use for the dynamic content.

6. Insert Property Tokens

Use property tokens in your content to display specific CRM object properties:

7. Preview and Test

Use the preview function to ensure your properties are displaying correctly.

8. Publish the Page

Once you're satisfied with the setup, publish your page to make it live.

Always remember to check if a property exists before using it to avoid errors, and consider using default values for properties that may be empty.

So, you now understand how to use the course custom object and, more importantly, how to utilise it on the HubSpot CMS effectively. Armed with this information, you should be able to build your educational course content for sale, internal use, or free.

FAQs: Setting Up HubSpot’s Course Object for Maximum Results

1. What is a custom object in HubSpot, and why use it for courses?

A custom object allows you to create a bespoke data structure in HubSpot beyond the default (Contacts, Companies, Deals, Tickets). Using a Course object helps you manage structured learning programs, tracking enrollments, completions, and course progress, while integrating seamlessly into your CRM workflows.


2. What properties should a Course object include?

Core properties typically include:

  • Course Name

  • Course Status (Active, Archived, Draft)

  • Course Type (On-demand, Live, Certification, etc.)

  • Duration

  • Enrolment Limit

  • Progress %

  • Completion Date

  • Related Contact/Company/Deal associations

Custom properties depend on your GTM model and how you monetise or nurture course content.


3. How do I associate the Course object with Contacts or Deals?

You must define associations when creating the custom object via API or in your HubSpot portal (if you're using Operations Hub). Best practice:

  • Contacts: to track learners

  • Deals: to link course enrollments to revenue-generating motions

  • Companies: if offering B2B training programs

Use automated workflows to sync status updates between associated records.


4. Can I automate email workflows based on course status or progress?

Yes. Once the object is live, you can use custom object-based workflows to:

  • Send onboarding emails when a Contact is associated with a Course

  • Trigger reminder nudges if completion progress < 50%

  • Notify CSMs when someone finishes a course

  • Push data into Slack, email, or an external LMS via webhook


5. How can I track ROI or engagement on my courses?

You can track:

  • Engagement: by analysing Course > Contact associations and progress metrics

  • Revenue impact: by associating Courses with Deals or calculating the influenced revenue

  • Content performance: by measuring which courses convert best using source tracking + lifecycle stage movement

Use HubSpot custom reports or sync with BI tools for deeper analysis.


6. How do I update or version control Courses in HubSpot?

You can:

  • Use the Course Status property to mark a course as archived or replaced

  • Add a Course Version property

  • Track historical completions via an associated "Course Completion" custom object (if needed for certification compliance)


7. Can I use HubSpot’s Course object to replace a full LMS?

Not entirely. HubSpot isn’t an LMS. But if you want to track training, onboarding, or content consumption (e.g., for product education, customer success, or partner enablement), a well-structured Course object gets you 80% of the way—especially when layered with email, workflows, and custom reporting.


8. How do I report on courses per customer or company?

Use custom reports to slice:

  • Courses by Contact or Company

  • Completion rate by Company

  • Course revenue by Deal association
    This unlocks strategic enablement insights like: “Which accounts have completed onboarding?” or “Which customers took the upsell-focused course?”


9. Can I use HubSpot forms to enroll users in courses?

Yes. Embed forms to collect sign-ups and use workflows to create a new Course association with that Contact. You can also send automated confirmation, trigger Slack alerts, or update CRM fields based on enrollment.


10. What are common mistakes when setting up the Course object?

  • Not defining clear associations (Contact, Deal, Company)

  • Using too many or too few properties

  • Forgetting to build reporting from day one

  • Lack of lifecycle tracking or success metrics

  • Assuming it replaces a true LMS without limitations


Thanks for reading. I hope you found this helpful. If you need any help with the CMS or publicising course content on HubSpot, use the form in the footer to get in touch.

Published by Arise GTM January 11, 2025