Skip to main content
Jan 11, 2025 Arise GTM

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

Most teams tracking training, certifications, or educational content in HubSpot are doing it wrong.

They're logging course completions as Deal stages, tracking certifications in a custom Contact property with 47 dropdown options, and managing partner training in Google Sheets. Or worse—relying on someone to manually update a "training status" field every time a customer finishes onboarding.

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

The result? Zero visibility on who's completed what. No way to trigger workflows based on learning progress. And absolutely no ability to connect education to revenue outcomes or retention metrics.

HubSpot's Course object changes this. Released in late 2024 as part of their Object Library (alongside Appointments, Listings, and Services), it gives you a structured, scalable way to manage educational content—whether you're running internal enablement, customer training programs, or monetised certification courses.

Who should use the Course object?

This isn't just for training companies. Here are the teams getting the most value:

SaaS customer success teams who need to track product education as part of onboarding. If you're measuring time-to-value or trying to reduce churn through better enablement, the Course object lets you see which accounts have completed which training, and automatically trigger CSM outreach when they haven't.

Partner and channel teams managing certification programs. Instead of manually tracking which partners are certified on what, you can automate the entire flow: enrollment confirmation, progress reminders, certification issuance, and renewal tracking. All tied back to partner performance data.

RevOps and enablement leaders running internal sales training. If you're onboarding new reps, rolling out new playbooks, or managing ongoing product training, the Course object gives you visibility on completion rates by rep, team, or region, without leaving HubSpot.

Agencies and consultancies monetising training content. If you're selling courses as a product (or bundling them with service packages), you can track enrollments as Deals, manage course delivery as a structured object, and report on course revenue alongside your other service lines.

Compliance-heavy industries where you need to prove training completion. Financial services, healthcare, professional services firms,  anywhere you need an audit trail showing who completed what training and when.

What you can actually do with it

Before we get into setup, here's what becomes possible once your Course object is live:

Automated enrollment and nudges. Someone fills out a form to register for a course → they're automatically associated with that Course record → they receive a welcome email, calendar invite, and reminder sequence. No manual work.

Completion-based triggers. A contact completes 100% of an onboarding course → workflow updates their lifecycle stage, notifies their CSM, and enrols them in an upsell nurture. Or: they're stuck at 30% progress for two weeks → trigger an intervention email.

Revenue attribution. Associate Courses with Deals to see which training programs correlate with faster sales cycles, higher conversion rates, or larger deal sizes. Example: "Customers who complete our advanced features course upgrade 40% more often."

Multi-dimensional reporting. Which courses have the highest completion rates? Which customers have completed onboarding vs. which haven't? Which partner accounts are certified? Which sales reps finished Q4 product training? All reportable in HubSpot's custom report builder.

Content gating and progressive profiling. Use course completion status to unlock access to advanced resources, communities, or features. Or layer course data into your lead scoring model; contacts who've completed three courses get higher scores than those who haven't engaged.

When not to use the Course object

This isn't a full learning management system (LMS). If you need:

  • Video hosting with progress tracking at the lesson level
  • Interactive quizzes with branching logic
  • SCORM compliance or detailed xAPI tracking
  • Built-in discussion forums or peer interaction

...you'll need a proper LMS like Thinkific, Teachable, or Docebo. But you can integrate those platforms with HubSpot and use the Course object to track high-level enrollment and completion status in your CRM.

Also: if you're just tracking informal content consumption (e.g., "did they watch this one webinar?"), you probably don't need a custom object. Use lifecycle stages, list membership, or workflow enrollment instead.

The Course object shines when you have structured learning programs with multiple courses, repeatable processes, and a need to tie education to business outcomes.


Now that you know whether this is right for you, let's build it properly.

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 is 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.

updated 25th Nov, 2025

Published by Arise GTM January 11, 2025