Help & Support Knowledge Base


What is the difference between a Course and a Lesson?

Inside your program you can create any number of Courses. Every Course can have an unlimited number of Lessons. Once you publish a Course in your program, all of its published Lessons will be accessible to your students.

How can I change my platform styles and colors?

You can add your program name or logo, change color schemes and more from your Account Settings page. This page is accessible from the left sidebar on your mentor dashboard, or the the drop down menu at the top right of every page.

You can also adjust your landing page, and student payment pages' content via the links in your mentor dashboard sidebar.

How do I collect payments from my students?

By creating and connecting a Stripe account or a PayPal business account you can charge for access to your program and collect credit and debit card payments from students. Heights allows you to easily enable multiple payment plan options including one-time, installments and subscription payments.

With Stripe you'll receive payments directly to your bank account as quick as a 2 day rolling schedule, depending on the country of your business. Learn all about how payments work in the Payments section below.

How do I learn about my students' performance?

There are a few ways you can measure students performance in your program. The mentor dashboard provides an overview and has links to the student list and answers views, but the most powerful way to gain insight on individual student performance is via their profile.

As the mentor you will have access to a more detailed version of the student profile than students see themselves. Here you can see a student's recent lesson views and completions on a line chart as well as which lessons they recently viewed and how much time they have spent online inside your program (displayed under their profile picture). If a student comes to you saying that they are having trouble, or you notice them progressing slower than others, you can compare these metrics and an idea of what a student might need to do in order to progress best. Maybe that means they haven't made it to a certain lesson, haven't spent much time online, or have overlooked particular lesson that they completed too quickly.

How many lessons should I have before I start accepting students? How do I know when my program is ready?

Every program is different, but as a general guideline we recommend having one to three courses published when designing your program curriculum. Each course should have anywhere from 3 - 50 lessons.

Think to yourself, does this seem like enough content for this course, or are there too many lessons that could potentially be separated into a separate course? ie: "Interface Design 101" and "Advanced Interface Design"

How can I tell what my students will see when entering my platform?

We designed Heights so that you see what your students see. This way, as you are building your program out, you can feel confident since you are experiencing it the same ways students would be. Students won't be able to see your mentor dashboard, editor, or other admin sections, but lessons and courses will appear the same to them as they do to you. If you would like to get a sense of the student enrollment experience, you can set your program to free enrollment and sign up with another email as a "test" student account. Then either delete this dummy student user or make them inactive before you launch your program.

Is there a limit to content or courses I create?

You can create an unlimited amount of Courses and Lessons in your program regardless of the plan you are on.

Can I disable points or badges if I don't want them in my program?

Yes, in your Account Settings page you can disable these features as well as others if they are not needed for your particular program.

How do I enable or disable enrollment for my program?

On your Account Settings page you can find a setting for enabling/disabling student enrollment. See more about this option in Account Settings Help section.

Do I need to have a Project for students before launching my program?

No, there is no strict requirement for Courses, Lessons or Projects, before your program is ready to go. Everyone will have different content that might benefit from a slightly different structure. We do believe that it is a good idea to find a way to work a Project into your program structure though since this will help students actually put what they learned to use and continue to learn from their peers work as well. You can learn more in the Projects section below, and you can always add a Project later after your program already has some students in it.

Program Structure

Your Program is composed of Courses, their Lessons , Discussions, Projects, and Digital Products. Learn about each of these types of content below to understand how they can be combined to make your learning program a success.

Our Platform Adheres to the Following Concepts:

  1. Getting results for students by helping them take action on what they learn with our unique Projects feature
  2. Making learning enjoyable for students with gamification elements like Badges and Points
  3. Making the setup of your courses as effortless as possible so you can focus on teaching and growing your business
  4. Allowing you to understand how your students are performing with real time activity feeds and actionable analytics


Your program's learning content is primarily composed of Courses. Each course you create will contain many lessons (we describe what is in a lesson just below this section). For example, our program might be about design and we might create a course titled "Interface Design". It would then have many Lessons to teach about interface design. When a student purchases access to your program (or enrolls for free) they will have access to all courses inside it by default. We usually recommend selling access to your entire program rather than selling individual courses, but you can set a course to be "sold separately" to sell it on its own if it better fits your business.

While courses are the main building block in your program structure, as you build your program and explore the options available to you, you'll learn that the power in your program extends far beyond the courses it includes.

Screenshot of Heights Platform Online Course Builder

Course Attributes

Configuring your first course is simple. Each course has a name, description, cover image, and optional difficultly label. A course can only be seen by your students if the published box is checked. While completing your lesson content you can leave the course in draft mode and it will be hidden from any students currently enrolled in your platform.

If you are a member of our Academy plan, you can create roles which will have access to a selection of courses. By adding a course to a role, you can hide it from students that are not members of that role.

By default any student enrolled in your program will have access to all of your courses. While editing a course, you can choose for it to be "sold separately". This will allow you to set a price for the course independent of any program enrollment fee or payment plan you have configured.

A course's price will be charged in the same currency as you've configured in your Edit Payment Settings page.

Make sure you always set a price above zero. If you set the course price or upsell price to $0.00, students will see a message in place of the price and purchase button that reads "Currently Unavailable". If you want to grant course access to select students we recommend using adding the course to a role and assigning that student to the role. Learn more about Roles and Permissions .

Course Upsells

We offer a great amount of flexibility in the way you choose to sell access to your program. Sometimes you'll want to sell an individual course at a price that is independent from any program enrollment payment plan. If you are selling a course separately, you can also sell the course as an upsell.

When you set your course to be sold separately and check off "is upsell", an upsell sales page for your course will be shown to students right after they complete their program enrollment. You can set a special discounted upsell price that is different from the regular course price. If the student decides to navigate away from the upsell page and continue on to the program, they will be able to return to it, but only during their initial login to your program. After a student has logged in to your program more than once, the upsell course page will no longer be available to them, though they can purchase the course at the regular price like any other course that is not an upsell.

An upsell will only be shown after enrollment if your program is set to a paid enrollment option.

Only one upsell offer can be active at a time. If you set multiple courses as upsells, only the first will be shown to the enrolling student. If you have also set a digital product as an upsell, it will take priority over the course upsell.

For more on this topic, you may want to read the Payment Settings or the Digital Products sections.


Modules are an optional way to segment and separate groups of lessons within a course. A course can contain multiple modules, and each module can contain multiple lessons. What is unique about our modules feature is that using modules is completely optional! If your course has under 10 lessons, then likely you will want to put them directly in your course, instead of being forced to add them into a module first. When you have a larger course (let's say 30 lessons+), modules can help you visually separate groups of related lessons into chapters, sections, or topics.

As you build your course and add lessons to it, you can decide at any time whether you want to use modules or not. Maybe your course will start off small, but as it grows, you can add modules to better group your content.

To create a module, go to your Climb Outline, and hover over a lesson you've created that you wish to add to a module. You will see a plus button appears to the left of that lesson. Clicking this button will bring up the create module window and will add the lesson you highlighted to the module when it is created. To add additional lessons to your new module, simply drag and drop them from your lesson list into the module.

Publishing and Drip Release

Module Publishing

Just like courses and lessons, modules you create will default to being in draft mode and will be hidden until published. You can edit a module by hovering over its name and clicking the "edit" link. When a module is in draft mode, all lessons inside the module will be hidden until the module is published.

Module Drip Release Day

When creating or editing a module, you also have the ability to set a release day. Just like release days on lessons, the release day feature allows you to drip your course content to students at a pace you choose. For example, if you enter the number 7 as the module release day, the module's lessons will become available to students 7 days after they join your program. You can use this feature to help guide students through your program more slowly and keep fresh new content coming to them based on their individual signup time.

Module release day and lesson release day can be combined if you want, but take note that a module's release day always takes priority over a lesson's release day. For example: If we set our lesson release day to 2 and this lesson is inside a module which has a release day of 7, the lesson's release day will have no effect. This is because even though the lesson becomes available, it's parent module is not yet available so it doesn't make a difference. Alternatively, you can set a release day on a lesson in your module that is longer than the release day of your module, then the lesson will release after the release of other lessons in that module without a release day. This is helpful for example if you want to release a module every week, but then have the last lesson in that module release towards the end of that week after the rest of the module.

Your students will be able to see the module and lesson release days in the program sidebar, or on the course page itself, but they will not be able to view the full lesson until it has released.


Every Course you create will have many Lessons. Lessons are pieces of content that serve to teach or test your student. There are several lesson types:

  1. Text/Content
  2. Video
  3. Audio
  4. Download
  5. Assignment


This is the default text based lesson type. You can use the lesson editor to adjust and style text inside this type of lesson as well as add image content in between text. The same text/content area is available in all other lesson types as well. You can also add third-party media such as a Google Form or Typeform, a spreadsheet from Airtable, quizzes from Riddle, or a Google Doc directly in your lesson. See the Lesson Editor help section for more info. If you want to include another type of media in addition to text and images, you will want to use one of the lesson types below.


Many of your lessons will likely be video lessons. Like text/content lessons, you can include any text needed below the video. Sometimes you might not want to include any at all, but other times it might be a good idea to include a short description or a transcript. There are two ways in which you can add videos to your lessons:

Adding via Video Upload

Heights offers a robust video hosting and encoding service with multiple benefits over third party video providers. If you prefer to upload your video files directly to Heights instead of using a third party video service, you can upload a video file from your computer and we will transcode it into multiple resolutions and file types it so that it can be played back quickly across every kind of device.

What makes our video hosting better?

  • Built-in branding. Your video player automatically adopts the color theme set in your account settings. Nothing to configure.
  • Built-in security. Students cannot view or embed your video on any domains other than your program.
  • Built-in analytics. When editing a lesson with a video attached that is hosted with Heights, you will see total watch time right on the lesson itself.
  • Adjustable playback speed option on player.
  • Upload in any resolution and we’ll convert and encode your video for all devices from 240p to 1080p. Playback can dynamically adapt resolution and video is delivered to your students via a CDN for fast loading anywhere in the world.

After you upload your video and the upload completes, you will need to click "Save Lesson" to save the uploaded data. After you save, we will begin encoding your video for fast playback across devices and geographic locations. If you upload a large video, it will take a few minutes to finish the encoding process. When viewing your lesson if you see a message that your video is still encoding, you can leave the page open, or navigate away to work on other lessons, and your video will appear automatically when encoding is complete.

We recommend you save your videos at the following bitrates for fastest processing and uploading: 1080p content at a bitrate of 8 Mbps, or 720p content at 4.8 Mbps.

Videos uploaded to your Heights account will be encoded at a max of 1080p resolution. Our built in video player will automatically match the color theme set for your account and includes a playback speed option that may be helpful to students who would like to listen to your content either faster or slower.

Adding via Video URL

The "Video URL" is simply the link you see in the address bar of your browser when on the desired video page. There is no need to find your video platform's specific embed code. Simply copy the URL of the video on Youtube, Vimeo, Wistia, or almost any other popular platform and paste it in the "Video URL" field.

Adding via video URL is a great option if you already have your video content stored somewhere online, or if you prefer the video player of a different service.


Audio lessons can be played directly from the lesson page using our built in player. Like video lessons, you may use the text area to include a transcript of what is said in the audio. To create an audio lesson, choose the Audio lesson type and upload your MP3 file.


If you would like to provide something for your students to download, choose the Download lesson type and either upload your file or paste in the URL of the file you are providing for download. If you choose to paste a URL, this can be a Dropbox or Google Drive URL, or it can be a link to a file you have hosted somewhere else online.

If you do not want your students to be able to share the URL of your file with others, we recommend uploading your file instead of adding via URL.


If you would like to collect information from your students, you can use the Assignment lesson type. This lesson type allows you to supply a question at the bottom of your lesson content. Your students will be required to answer this question before they can complete the lesson. As a mentor, you can view the list of all of your student's answers by navigating to the Student Answers page available in the sidebar of your Mentor Dashboard. You can also use Zapier to be notified when a student submits a new answer (See API & Zapier).

Can I Include Multiple Types of Lesson Content in a Single Lesson?

To create a consistent experience for your students and ensure they know what to expect when navigating your course, a lesson cannot have multiple types other than the ability for all lessons to contain text and images. However, there is one exception to this rule: If you upload an audio file to an Audio lesson and then change the lesson type to Video, your lesson can have an audio player appear simultaneously below the video player. We offer this option incase you would like to have a video lesson with a separate audio track underneath (potentially followed by a transcript added in the lesson text), so that your students can choose how they want to consume your content.

To learn about editing your Lessons themselves, see our guide on the Lesson Editor.


Projects are a way of showing that students can put the content you've taught them to use in a real world setting. We believe this approach is much more beneficial to both the student and teacher than a traditional quiz or test. It is recommended that you have at least one Project in your Program.

What should my Project be for?

A Project should be a task where the student demonstrates achieving the goal of your program. Let's say your program is about teaching people to build their first app. Your Project might then be titled, 'Create Your First App', where students would submit their work.

Heights Platform Project Screen Project Page with Project Posts by Students

Project Posts

Students can submit a Project Post in each project that you create. Since a Project is meant to put knowledge learned in your program to use, a student will not be able to submit a Project Post of their own until they have completed all the Lessons in your Program. All students are able to view, vote and comment on Project Posts even if they have not yet completed all Courses.

When any student or mentor votes up a Project Post, the post will receive 15 points and the student's points will increase by 15 as well. This mechanic helps motivate students to make an impact with their post.

As a mentor, you can interact with your student's Project Posts by commenting on them and providing feedback. The ability to comment and vote on new Project Posts gives your program alumni another reason to stick around besides your discussion forums.

Digital Products

Heights Platform allows you to sell downloadable digital products as supplements to your program.

Why Digital Products? The Digital Product feature lets you sell supplements and add-ons to your program membership, allowing you to further monetize your teaching content, and includes features to help you manage and track everything you need for these kinds of purchases (download tracking built-in as described below). While you could potentially use this feature to sell a product that would physically ship to a customer, Heights isn't built to replace physical product ecommerce platforms (we don't collect shipping addresses or provide shipment tracking).

Heights Platform Digital Product Creation Mentor/Admin view of a Digital Product. Digital Product analytics displayed at the top of the page.

Examples of Products You Might Sell with Your Program

  • Downloadable Project Files - For example, if you are teaching a course on photography, you might sell a download of some of your photography filter presets.
  • Additional Learning Materials - PDFs, Presentation Slides, or add-on downloadable material that supplements your courses.
  • Consulting Packages - You could sell an add-on personal consulting session available for purchase for those of your students who want more personalized help.
  • Online or In-Person Events - Similar to the consulting package, you could sell access to a private online meeting or even a live event.

Digital Products are visible to students under the courses and projects lists in the left sidebar. Only products that are marked "active for sale" will be visible to students. A product's price will be charged in the same currency as you've configured in your Edit Payment Settings page. You can optionally add a "Sale" label on the product to indicate a discount, by checking off the "is product on sale?" box.

There might be certain situations where you want to allow your students to purchase a product multiple times. For example, products that are sold as a license or as consulting time, might have customers purchase the same product multiple times. You can enable this feature by checking off the "allow multiple purchases" checkbox on the right side of the product edit page. While a student will gain access to the product after their first purchase, they will have the option to purchase again if they desire.

Offering Products as Upsells

Products can be offered as upsells during the program enrollment process if you check the "is upsell" box on the right side of the product edit page. When you select this option, students who enroll will be directed to your product page directly after their enrollment completes. You can set a special discounted upsell price for the product here if you wish. If the student decides to navigate away from the upsell page and continue on to the program, they will be able to return to it, but only during their initial login to your program. After a student has logged in to your program more than once, the upsell product page will no longer be available to them, though they can purchase the product at the regular price like any other product that is not an upsell.

An upsell will only be shown after enrollment if your program is set to a paid enrollment option.

Only one product upsell can be active at a time. If you set multiple products as upsells, only the first will be shown to the enrolling student. If you have also set a course as an upsell, any digital product set as an upsell will take priority over it.

Granting Products For Free

As the mentor you have the ability to grant a Digital Product to any student at no cost to them. When viewing a student's profile page, click on the 'Edit Student Details' link on the right side. Here you will be able to select a product to grant to the student. If they already have the product, you can grant them an additional license by giving them the same product again.

When making a digital product active for sale, make sure you always set a price above zero. If you set the product price or upsell price to $0.00, students will see a message in place of the price and purchase button that reads "Currently Unavailable". If you want to grant product access we recommend using the option described above to grant access to certain students.

If you would like to grant free access to every single student, then we recommend creating a download type lesson inside a course instead.

Product Analytics

At the top of each product page admin users are able to see the product stats. This is broken down into views, orders, conversion rate, and downloads. Below we'll cover how you can see more granular data for these metrics.

Tracking Sales

Students can purchase a Digital Product with just two clicks/taps if they have already supplied payment information to join your program.

Any digital product orders you receive will appear in your invoices list accessible from the Mentor Dashboard. You will be sent an email whenever you receive a new product order, and your student will receive a receipt via email.

In addition to viewing the sales for a product, you can also see how many views the product has received. A view is counted any time a student views the product page (views from mentor or other admin users are not recorded). You can also view an individual student's profile to see a combination of recent product and lesson views if you'd like to get a better idea of if a specific student has seen a product.

Tracking Downloads

A student will be able access any download content associated with your Digital Product as soon as they complete their purchase. You can see how many times a student has downloaded a product and from what IP address they downloaded it from. (We allow you to check download IP addresses because many downloads from many IP addresses could mean your student is sharing their login, or their account was compromised.)

When you upload a file to include in your Digital Product, its downloads are protected. Downloads are only possible by those logged into your program and who have purchased access. There is no public download URL available, so students cannot buy your product and share the download link with other students.

While we take many steps like these to prevent piracy, you'll want to always be aware of the potential for bad actors.

Typically if you decide to offer refunds for digital products, you might decide to offer a no questions asked refund only for products that were purchased but never downloaded by the student.

Discussion Forums

Before allowing your students to post in a discussion forum it is important to understand a few quick concepts about forums work in Heights.

If you have moderated forums on the internet in the past, our system is similar in many ways. Topics can be stickied to the top of a messageboard, they can be locked to close a discussion and individual posts can be moderated and edited.

By default, new students are pending moderation, and new posts and topics inherit their moderation state from the student that created it. When you approve a new student's post, all of their later posts will be approved automatically.

Additionally, students always see their own posts regardless of the moderation state. For blocked students, this means they might not realize they have been blocked right away. Blocked students cannot send private messages.

Should you not have a need for, or wish to launch your program faster without worrying about learning the discussion area, you can disable the discussion area from your Account Settings page.


Students won't be able to see your mentor dashboard, editor, or other admin sections, but lessons and courses will appear the same to them as they do to you.

View all of your Students in the Student List . As a mentor you can view analytics on student activity and performance by visiting their profile, viewing their answers, their project posts, and their discussion comments.

You can allow Student's to enroll in your program for free, or charge them a fee to join. A Student account can also be converted to an additional author/admin on our Pro plan or above (See Additional Authors).

Manually Creating & Enrolling Students as an Admin

When viewing your Student List you will notice a button in the top right corner to create a new student. By providing a name and email you can create and enroll a new student in your program. Once created this student will be enrolled in your program (even if your program would normally require paid enrollment). This new student will also be sent a welcome email with a generated password and login information.

This is a great way to add students to your platform if you are accepting payments outside of Heights Platform from certain students (via bank transfer for example).

Heights Platform student profile analytics learning

Managing Students Who Haven't Finished Enrollment

If a new learner fills out the first registration step on your student registration page, but does not complete the second payment step, they will have an account, but will not be able to access your program content until they've paid.

You can find these incomplete enrollments in your student list, and can tell who they are because the "Enrolled?" column will show an "X" instead of a check mark. You will want to follow up with these students to make sure you answer any questions needed so that they can complete the enrollment process and pay for access to your program.

If you need to close down enrollment for any reason, see Account Settings Help.

Badges and Points

By default badges and points are enabled in your program. You can choose to give a different amount of points upon completion of each of your lessons. Students can also receive points for votes on their Project Posts.

There are two types of badges inside Heights. The first are System Badges. System badges are the default built in badge set that will be automatically granted when the student meets a certain condition inside your platform (ie: completing their first lesson, earning 100 points, etc).

Heights Badge Screen Badge and Custom Badge List

The second type of badge is called Custom Badges. These are badges that you as the mentor can create with your own custom badge imagery. Custom Badges are manually granted to students from the Badge List page, accessible from your Mentor Dashboard. We provide a selection of pre-made custom badges which you can edit the name and description for, and if you would like to create your own badge image with a similar style, you can download our custom badge template: Download Custom Badge PSD Template .

To grant a custom badge to a student, simply click on the badge in your badge list, and on that badge's detail page, select the student to grant the badge to. After granting, your student will receive an achievement notification popup the next time they are online.

Program Creation

The sections below will explain how to use the functions and features of Heights Platform to create and manage your content.

The Mentor Dashboard

As a mentor, whenever you log in to your platform, you will arrive at your Mentor Dashboard. Here you can get an overview of the pulse of your program and students' progress as well as dig deeper into student analytics should you choose. This view also provides links to all areas of the program that you will need to adjust and is not available to any of your students.

Heights Platform Course Builder Program Mentor Dashboard

Lesson Editor

As a mentor, the majority of your time before your program launches will be spent in the Lesson Editor. Here you can create and edit lessons for all of your courses. You can drag and drop lessons in the left side outline to reorder them. When you choose to view your lesson by either clicking the view link at the bottom, or the lesson title in the top breadcrumb, what you see will be exactly what your student sees. When you first create a lesson it will be in draft mode. Remember to select publish and update your lesson to make it live. Students can only see lessons and courses that you have published.

Heights Platform Course Editor

At the top of the edit interface you can adjust the lesson title, author display (if you have added additional admins - see Author Help), and learning objective (summary appearing at the top of your Lesson and on Course detail pages).

The WYSIWYG (what you see is what you get) text editor allows you to format your content without worrying about learning HTML. You can upload images to display in your lesson by clicking the "Insert Image" link in this formatting bar. We also provide integration with Unsplash so that you can search for free images to use directly inside your lessons.

Below the lesson text you can choose lesson type, set a number of points for your student to receive upon completing the lesson, and view basic lesson stats (number of views, bookmarks, and percentage who've completed the lesson).

Lesson Release Settings

Requires Unlock - Guide Student Progression

By default students can access all lessons in your course and complete them in any order they choose. Heights Platform will automatically direct students to the next lesson in the sequence after they complete a lesson, however the student is free to browse another lesson further along in the course by default.

If you would like to ensure that your students complete a certain lesson before progressing to another, or to ensure that lessons are completed in order, you can use the "Requires Unlock" option available in the release settings at the bottom of the lesson edit view.

Checking "Requires Unlock" will require your student to complete the previous lesson in the sequence before they are able to view or complete the lesson that requires unlock. Checking "requires unlock" on the first lesson in your course will have no effect because there is no lesson before it to complete. Remember you can drag your lessons in the outline to reorder their sequence in your course.

Release Day - Drip Your Lesson Content

In the lesson release settings at the bottom of the lesson edit view, you can also choose to enter a release day for the lesson. This feature allows you to drip feed lesson content to students. For example, if you enter the number 7 as the lesson release day, the lesson will become available to students 7 days after they join your program. You can use this feature to help guide students through your program more slowly and keep fresh new content coming to them based on their individual signup time.

To learn more about the different types of Lessons themselves, see our guide on Lessons.

Publishing Lessons

Heights Platform Lesson Publish Area Release and publish settings at the bottom of a lesson's edit page

When you create a lesson it will first appear in draft mode. Lessons in draft mode are only visible to program admins. Once you have finished adding content to your lesson and are ready for your students to see it, you must select the publish option at the bottom of the lesson edit view.

If your course containing the lesson is in draft mode then even though your lesson is published, students will still not be able to view it because the course is hidden in draft mode.

Embedding Third-Party Multimedia Content

In the toolbar of your lesson editor next to the 'insert image' button, there is an embed button which will allow you to paste in a third party embed code to add multimedia content to your lesson. Use this to embed a Google Form or Typeform, a spreadsheet from Airtable, a Google Doc, learning content from Articulate Storyline, quizzes from Riddle, and more!

The content pasted in the embed window will be embedded at the position of your editor's cursor before you clicked the embed button, or directly at the top of your content if you did not position the cursor beforehand.

NOTE: If you want to add video, audio, or a download file, use the respective lesson type instead! While it would technically be possible to embed more video content using this embed feature, it can create an inconsistent experience for your students.

Climb Outline

Heights Climb Outline Editor The Climb Outline view helps you easily sketch out your program and organize/reorder content

When structuring your program you may have ideas of courses and lessons already set, and whether all of the content is ready or not, it is often easier to quickly layout an outline before committing to an exact program structure.

The Climb Outline editor will help you jumpstart your program creation by allowing you to quickly create courses and their lessons. You can then reorganize them by dragging and dropping. This way you can quickly create a complete structure for your program without having to fill out all of the content for each individual lesson.

The Climb Outline also provides a bird's eye view of how students will progress through your program. You can see if enrollment is set to free or paid, if you have an upsell active, when students will gain access to post in a project, and if there are any digital products offered.

Landing Page

Our landing page editor allows you to create a simple one page website to promote your program. We intentionally keep options for editing your landing page sparse and simple so that you don't need to spend time learning a new system, adjusting HTML, or checking different themes. We want to ensure your time is spent focusing on improving your program for your students rather than tinkering with web page settings.

Landing pages have a title, subtitle, background image, main content section, author bio, course display, and testimonial section. We also offer support for your connecting to your Google Analytics account to measure visitor analytics, and Facebook Ads tracking.

Heights Platform Landing Page Generator Example landing page using the default Heights green color theme

The color theme of your landing page will automatically match the color theme that you selected in your account settings for the rest of your program. You can find the link to Edit Your Landing Page on the left sidebar of your Mentor Dashboard.

Landing Page Modules

By default your landing page will display the following optional sections: course cards for all of your published courses, a course curriculum showing a list of included published lessons, and an about the author section.

  • The author bio field optionally supports HTML tags should you wish to add specific formatting (we recommend to keep things simple and use the content editor above for the majority of your formatted text/images).
  • The course curriculum shows all published lessons in each published course. If the lesson has a lesson objective set, it will be expandable for visitors to view the objective.
  • The course card section displays a course card for every published course as you would see on your "All Courses" page.

On the right side of the Edit Your Landing Page view you can find checkboxes to optionally disable these modules should you wish to hide them.


You can add testimonials to the bottom of your landing page from the edit view. Testimonials will display in the order they are created, and will automatically appear on your landing page after creation.

Setting Landing Page as Your Program Homepage

By default when new visitors go to your program subdomain or custom domain they will be brought to the login page. This way you don't have to use our landing page if you don't want to. The landing page is always accessible at yoursubdomain.heightsplatform.com/landing or your custom domain /landing. If you want to make the landing page the default home page for your program, you can enable this option on your Account Settings page.

Student Support Page

The built in support page allows you to answer student's common questions and help them learn how to find additional support easily. You can edit your student support page to have any information or links needed. Students can find a link to the support page from the navigation bar menu dropdown in the very top right of every page of your platform.

You can find the link to Edit Your Support Page on the left sidebar of your Mentor Dashboard.


On the left sidebar of your Mentor Dashboard you can find a link to Create Announcements . An announcement is a notice that will appear for your students at the top of their courses page. You can use announcements to post notice of new courses/lessons that you've added, to link to a live webinar, or to announce details for an in person training or event. Every announcement has a start date and end date.

The announcement will only be visible on the courses page during the period between its start and end date. The announcement type option simply displays a different icon for your announcement (Calendar icon for Date/Event, Exclamation icon for Notice, and Star icon for Celebration).

Program Settings

The sections below will explain how to configure various settings in Heights Platform to manage your content and your students.

Account Settings

You can find a button linking to your Account Settings at the bottom of the sidebar on the left sidebar of your Mentor Dashboard. The Account Settings area will allow you to adjust platform wide feature availability and appearance for your students. If you have signed up for a plan that offers whitelabeling you can adjust the platform logo text or upload a custom logo image here. You can also change the color theme of your platform or disable certain features like badges or the discussion forum (if you do not want to use them with your students).

Heights Platform color themes Some of the many color themes available in your account settings

Your account settings page is also the place where you can find your API key to connect to services like Zapier. Learn more about our API and Zapier Integration below.

Opening or Closing Enrollment to your Program

There are times when you might need to close enrollment to your program and stop allowing new students in. You might want to do this because you've reached capacity of how many students you wish to accept at a time, or because you just finished a launch period and now want to close enrollment. You can disable enrollment to your program at anytime in your Account Settings . You will see a banner on your Mentor Dashboard letting you know that your program enrollment is disabled. Simply go back to your account settings to re-enable it when you are ready.

Adding Custom Code

The "Custom Code" tab allows you to add custom scripts and CSS to your program and landing pages. This is useful for adding scripts for live chat, cookie consent notices, additional analytics services beyond our Google Analytics integration, and your own custom scripts or CSS styles.

You can add custom code specific to your landing page, for your entire program (not including landing pages), or for your entire program when a user is logged in (not including login/enrollment pages).

Please note that Heights Platform is a web application. Many areas of your program load and refresh without causing your browser to refresh the entire page. This can impact the functionality of certain scripts that are not designed for this use (such as certain live chat plugins or other scripts that depend on full page refreshes in order to load). Custom scripts that you add will be inserted in the footer of your program HTML.

Many European countries have laws requiring consent to cookies being used on a website. If you need to add a notice or cookie consent bar to your website, we recommend: https://www.osano.com/cookieconsent. They offer a free tool to generate a cookie consent bar for your website. You can paste the code generated from this service in the "landing scripts" area of your custom code to display this on your landing page. Please ensure that you have also enabled your landing page as your home page in your account settings.

You can edit the privacy policy and terms for your site on the last tab of your Payment Settings page. Your privacy page is available at yoursubdomain.heightsplatform.com/privacy .

NOTE: We cannot provide support for code customizations, or guarantee that they will function correctly in your program. You may wish to hire a developer to help you implement this advanced functionality.

Payment Settings

The Payment Settings area is where you can connect your Stripe or PayPal account to Heights in order to accept payments from your students. We chose to integrate with Stripe and PayPal for their ease of use for both teachers and students, as well as its security. If you do not have a Stripe account yet, it is very easy to sign up and does not have a complex setup process like a traditional payment gateways and merchant accounts.

Jump to Payment Settings Subtopic:

Before launching and promoting your program, you should be sure that you have filled out your refund policy and program details on the payment settings page: Edit Payment Settings . On this page you can also add student testimonials. The testimonials created here will appear on your landing page and vice versa.

Stripe Connect screen Connect your Stripe account, set a program fee, and edit the student billing page content on your payment settings page

If you decide to leave your program free to access, students will be able to create an account and access all of your program without entering billing details. If you select to charge for enrollment in the payment settings, then immediately after entering their name, email and password, students will be directed to a second step in the enrollment process that will require them to enter payment details before being able to access your program.

NOTE: Ensure that you have a payment gateway connected before setting up your program enrollment fee. If your program has a enrollment fee, but is not connected to Stripe or PayPal, students will not be able to complete enrollment and will see a message that your program is not open for enrollment.

When you connect your Stripe or PayPal account to Heights, any transaction fees charged (Stripe's default is 2.9% + 30¢) are the payment gateway's fees alone. Heights Platform does not charge any additional transaction fees on the payments you collect from your students!

You must charge at least $1.00 USD for any of your enrollment fee plans.

Enrollment Payment Plans

Heights Platform offers four types of enrollment plans. Free enrollment, and 3 types of paid plans. If you are running a program which you charge students to enroll in, you may combine the paid plan options below to offer your students multiple payment plan choices.

NOTE: Currently PayPal supports one-time enrollment payments only.

1. Free Enrollment

This option will let students into your program for free forever.

2. One-Time Payment

Use this option to charge a one-time fee for enrollment and access to your entire program.

3. Installment Plan

Use this option to charge a set number of installments. This option is commonly combined with the one-time payment option so that you can give students the option of paying a lump sum or paying in multiple installments.

A common strategy is to have the total of your installments equal an amount slightly more than your one-time payment amount so that you reward those who pay you the full amount up front.

4. Subscription Plan

Use this option to charge a monthly or yearly fee to be part of your program. Your student will have to continue paying in order to continue to have access to your program.

While you can combine this payment plan with one time and installment plans (for example: pay $49/month or pay $999 for lifetime access), it is more common to use subscription plan payments as the sole option if you decide to enable it.

After you have connected your account, you may wish to try a test transaction to yourself with a very small amount of money to ensure that they have configured your gateway correctly.

Heights Platform payment settings and enrollment plans The program pricing tab of payment settings to set your enrollment plans and pricing

Viewing Customers

Inside your Stripe account on https://stripe.com you will be able to see your enrolled students in your "Customers" page. If you need reference to who a specific customer is beyond seeing their email, you can click on them in Stripe and the "Description" text under Details and Account Information will show the customer's name, and the coupon code they used to sign up (if any).

You can also track students who have started to register through your program, but have not yet completed the payment process via your student list page. See the Students help section for more details.

The Invoices section below describes how you can view student payments and send email receipt copies.

Program Currencies

Heights Platform supports charging in more than 100 currencies. The currencies you are able to accept payments in may vary depending what Stripe or PayPal supports in the country of your business. When you change your program currency, all future student enrollments will charge students in that currency. Changing your program currency does not affect a student who is already on a paid enrollment plan and has remaining payments in their plan (ie: installments or subscriptions).

The currency you charge students during enrollment does not have to match the currency used in your bank account. Stripe and PayPal will convert payments you receive into your bank's settlement currency.

PayPal does not support the same number of currencies as Stripe. If you select a currency that PayPal cannot process, but have PayPal connected as a gateway, you will see a message that PayPal payments are disabled for students until you change your program currency to one that PayPal supports. Even if you do not see this message, there is a chance that the selected currency is still unavailable depending on the country of your PayPal business account.

For a list of currencies that PayPal supports for your country of business, see this link: https://www.paypal.com/us/webapps/mpp/country-worldwide

For a full list of currencies supported by Stripe and how they work see: https://stripe.com/docs/currencies.

Stripe Account Setup

It is important to take care when setting up your Stripe account. Make sure that you have set a relevant statement descriptor in your Stripe account settings, as well as adjusting your branding settings if you decide to use Stripe's invoice feature in addition or instead of the Invoices in Heights. These steps are important to ensure your customers are not confused and will reduce the chance of students making a chargeback.

You'll receive payouts from Stripe directly to your bank account in as quick as a 2 day rolling schedule, depending on the country of your business.

If you plan on charging for enrollment to your program on Heights Platform, make sure that Stripe supports the country your business is in: https://stripe.com/global. If your business is in an unsupported country, Stripe offers Atlas which allows you to easily incorporate a US company and start accepting payments with Stripe.

Ensure you have read and agreed to Stripe's terms. They are separate from the Heights Platform Terms of Use.

PayPal Account Setup

In order to receive payments via PayPal from your customers, you must have a PayPal business account. If you have a personal account, see the following guide to learn how to easily convert your personal account to a business account: https://www.paypal.com/us/smarthelp/article/How-do-I-upgrade-my-PayPal-account-type-FAQ900.

After you have checked that your PayPal account is a business account, you can start accepting payments to it when you add both your PayPal email and your PayPal merchant ID to the PayPal gateway fields in your payment settings.

If your account is not configured correctly then students will not be able to enroll in your program.

How to Find Your PayPal Merchant ID

After logging into your PayPal account click on the settings cog icon in the top right and select "Account Settings" in the dropdown. On PayPal's account settings page, click on the "Business Information" link on the left sidebar. The following page will show your PayPal Merchant ID. Copy it and paste it into Heights along with your PayPal email address to connect your account.

Your account must be a PayPal business account to connect with Heights. Personal PayPal accounts will not have a merchant ID and will not be able to receive payments.

Coupon Codes

You can create Coupon Codes from within your payment settings area to provide discounted or free access to your program. When you want to enroll students for free even though your program has a fee, you can create a Coupon Code with a price of 0 to allow them to signup without being charged. When the Coupon Code's price is set to 0 we will still collect the student's payment information in your Stripe account, but no charge or payment authorization will be made.

When you have created a Coupon Code, students will see an "Enrollment Code" field as part of the checkout form where Coupon Codes may be entered. If you do not create any Coupon Codes, the "Enrollment Code" field will be hidden during student enrollment.

Coupon Codes can be used in conjunction with either Stripe or Paypal one-time enrollment payments.

NOTE: Coupon Codes will only work to provide a discount for one-time payment plans. Coupon Codes cannot be applied to installment or subscription type payment plans.

Invoices & Receipts

From your mentor dashboard, under the "Revenue Earned" column you can find a link to View Invoices . Here you can see the payments you've collected in order and filter them by student, amount, date, and paid status by clicking on the table column headers.

When a charge to your student's payment card is successful any system generated invoice will be marked as paid and a copy of the receipt will be automatically emailed to your student. These receipts get sent after every successful payment. This means customers on your installment payment plan will receive a receipt after each installment is paid, and subscription customers will receive a receipt after each period (monthly/yearly).

You can view an individual invoice in detail by clicking the "View Invoice" button in the far right column. Should your student ever need an additional copy of their receipt, you will find a button at the top of the invoice detail view that will send out an email to your student with a copy of the receipt when clicked. If the student paid via Stripe, then next to the manual email receipt button there will be another button: "View Stripe Receipt". This is the official receipt generated from Stripe. You could optionally copy the url of this receipt and email it to your student as well.

Heights Online Course Invoice Detail Invoice detail page with link to send email receipt to student.

Should you ever need to look into a billing issue in greater detail, remember that your Stripe account is the most complete source of your student billing information and will allow you to create additional charges towards a student's payment card or process refunds. The Payment Settings section above further describes how you can manage billing for your students.

Incomplete Invoices and Orders

There are multiple situations where you could end up with Invoices that are not marked paid. Below are descriptions for various statuses that you may see at the top of your invoices:

  • If a payment failed after being attempted you will see: "Payment Failed"
  • If a customer selected to checkout with PayPal, but didn't continue with checkout, you will see: "Pending order created. Checkout incomplete."
  • If a customer continued through checkout with PayPal, but wasn't able to successfully pay, you will see: "PayPal checkout started. Order incomplete."

If the status of your invoice is anything other than "PAID", your customer can safely retry their payment without worry of being charged twice. You may wish to follow up with your customer when you see unpaid invoices to help them complete their payment (See the Students help section about how to manage students that haven't completed enrollment).

You can investigate certain details of failed transactions in your Stripe account for more information.

NOTE: Additional one off charges that you might decide to create inside your Stripe or PayPal account are not currently reflected in the invoices you see in Heights Platform. The invoices and revenue shown in Heights Platform is the revenue that was generated directly from a student paying through your built-in enrollment payment page.

Custom Domains

You can configure your platform to be located at a domain of your own to brand your platform. This will replace the default yoursubdomain.heightsplatform.com .

How to Setup Your Custom Domain

After purchasing a domain name from the registrar of your choice, login to your domain registrar and edit the DNS settings as follows:

Domain Registrar DNS Settings Example Create a CNAME that points to secure.heightsplatform.com. You will likely also want to set a 301 redirect so visitors to the non-www version of your site will be forwarded to the www version or vice-versa.

This process will be the same for most popular domain name registrars ie: Google Domains, Namecheap, GoDaddy, etc.

  1. Create a CNAME that points to secure.heightsplatform.com. If there is an existing CNAME record for www, adjust it to secure.heightsplatform.com.
  2. After you have made this change, make sure that you tell your Heights Platform account the domain you would like to use by typing it into the custom domain field of your account settings. It is important to type the domain in the way you want it to display. If you want students to see the www version and type www.yourdomain.com then you should add the www. when inputting your custom domain. Otherwise you can leave it without if you prefer the opposite (yourdomain.com). If you are redirecting the non-www to the www domain, your redirect record value would look like this: https://www.yourdomain.com (note the https://).
  3. You will want to setup a permanent 301 redirect for your domain inside your domain account so that students are always directed to the correct version of your domain and can visit your platform. Usually this means redirecting the non-www version to always change to www. This is an important step for any website and if you skip it then students may not be able to access your platform.
  4. After adding the CNAME and saving your custom domain in your account settings, try visiting your domain after a few minutes to see if it displays your Heights Platform account. This process usually takes only a few minutes, but it can sometimes take up to 24 hours for DNS changes to propagate across the internet.
  5. The first time you visit your custom domain, we will check it and automatically provision a free secure certificate with Let's Encrypt for your domain so that your domain can be served over HTTPS, providing security for you and your students. We'll automatically manage renewals for you. (If you receive a 502 error when visiting your new custom domain, please ensure that you do not have any SSL certificate enabled from your registrar or DNS provider. Since we already offer a certificate for your website, these certificates will conflict with each other.) If you see your program when navigating to your custom domain, you are all set!

If you are unsure how to navigate and adjust your domain's DNS settings we recommend contacting your domain registrar's support. They will be able to help you take care of this process.

Note for Cloudflare users: We recommend turning off Cloudflare on your CNAME by clicking the orange cloud icon to the right of it and making sure it turns grey. We already use Cloudflare in combination with other services to offer you CDN, security, and SSL features for your website.

Haven't linked your custom domain to your account yet? Add a custom domain via your Account Settings page.

NOTE: You may not be able to access your program via your custom domain, and we may not be able to generate an SSL certificate for your domain if these steps are not followed correctly.

Course Roles

Members of our Academy plan will have access to the Roles feature. If you aren't on our Academy plan, that's okay! Our other plans already include features that can help you segment your platform users and content! In most cases creators will never have a need for our roles feature. The roles feature is specifically for segmenting course access to disable a certain audience from viewing and is typically used by larger businesses.

Course content can be restricted to students with the help of our drip lesson feature, require unlock lesson feature, and by making the course sold separately. Course creators can also add additional admins/authors, and make students messageboard moderators. All of these things are possible on any paid plan, even without the course roles feature!

If you are a member of our Academy plan and need further segmentation to your learning content, read on:

By default students have access to all courses in your platform. If you would like to limit access to certain courses and separate students into different groups you can create custom student roles. A course can have multiple roles to allow multiple different groups of students to access it. For example you might have an introductory course that applies to all of your students, but then you might have a beginner course and an advanced course where you don't want beginners to see the advanced content and you don't want advanced students to see the beginner content. You can create any number of roles needed to segment your students into groups that work for you.

A student gets access to all courses that are not part of any role, as well as courses that are part of a role they are a member of.

Heights Role Edit and Creation Screen Role and Permissions Page

The Roles page is accessible from a link in your Account Settings page if you are on our Academy plan.

Additional Authors

If you are a member of our Pro or Academy plan, you have the ability to add authors/admins to your platform besides yourself. To make any student an admin/author, visit either the Student List or a Student's profile page and click on the edit link.

On the student edit screen you are able to check them off as an admin/author, a messageboard moderator, or both. Every plan allows an unlimited number of messageboard moderators, but the number of additional authors/admins is based on the plan you have selected.

Any other user that is made an admin will have access to your Mentor Dashboard, Lesson Editor and other mentor features. They will not have access to your account settings page, your billing page, student payment settings, and they will not be able remove your admin status.

NOTE: Do not make a user an author unless you are comfortable with them having access to student data and being able to modify your program content. It is not possible to restrict an author to only modifying certain parts of your program content.

API & Zapier Integration

You can use Zapier to easily connect Heights Platform and send key student activity details to your favorite apps. To do this you will need to create an account with Zapier and then create a new Zap. To connect your Heights Platform account to Zapier you will need to provide your API key. You can find your API key on your Account Settings page.

Zapier integration was recently introduced in Heights Platform. In order to have access to Heights Platform inside your Zapier account, you will need to follow our invite link: https://zapier.com/developer/invite/109885/6d3927c9a26f063fde845c6d130573d3/

Take a look at our integrations page for some ideas of what you could accomplish by using Heights Platform with Zapier.

Enroll Students from External Checkouts and Shopping Carts

Our API and Zapier integration provide an enroll action which you can use to create and enroll students in your platform. This allows you to use a third-party checkout or payment solution and create and enroll your customer in your program after their purchase is successful.

You might want to use this action if you wish to use a payment gateway other than Stripe or Paypal, or if you already have a sales and checkout process in another website or service that you sell other products through and you wish to continue using alongside Heights Platform. A few examples that can be used are: Shopify, Clickfunnels, Quaderno, Ontraport, Thrivecart, Samcart, and others.

Our enroll action needs to be supplied with an email and the full name of the student who you wish to enroll. If the email you supply is an existing user, their details will be updated and they will be enrolled. After the action completes a welcome email is sent to your student with their login details for accessing your program (new students have secure password generated and emailed to them).

You can also supply the ID of a paid course that you are selling separately to grant this student access to the course. This will allow you to sell courses individually via third-party checkouts. You can find the ID of your course on the bottom right of your course's edit page.


Need More Help? Have a feature request? Contact our team at:

[email protected]

Thank you for using Heights!

Updated Janurary 27th 2020! Please let us know if you feel a help topic could benefit from further information.