We've turned online course design into a breeze. Use our interactive tool to get a walkthrough to create an online course specifically designed to fit your needs.When it comes to designing an online course, there are literally millions of possible combinations of features to choose from which can make the task a bit intimidating.

Not to worry, dear friend.

If you want an actionable guide that will show you exactly how to build a course that fits your specific needs, then this post is all you need.

We've made it extra easy.

Use this post to design the online course of your dreams, and we'll give you a step-by-step walkthrough on how to build it.

Click the checkboxes to UNSELECT the elements/features that you will NOT include in your school. Then, continue reading to view your customized guide below!


Your school should look the way you want it to look.

Do you want to add your own logo and image, choose a typography, and customize the color scheme for your course?

  • Customize course theme

How will people find your online course? You can customize a free domain URL provided by us, or choose your own custom domain.

  • Customize your free subdomain
  • Use your own custom domain

Content types

How will you deliver the course content?

  • Text
  • Video
  • Live stream
  • Slides
  • Audio

Enhance the learning experience

Do you wish to include add-ons to your course and take your student's learning experience to another level?

  • Add quizzes
  • Add comments/forums
  • Add downloadable files
  • Add certifications
  • Add a blog

Course visibility

How do you want students to access your course?

  • Public course
  • Hidden/private course
  • Invite-only/closed-enrollment course

Content Delivery

Some people choose to make their course content available on a schedule. If that’s your case, you should look into dripping your content.

  • Drip course content


The right pricing plan can make a huge difference. Choose the one(s) that fits your needs.

  • Free course
  • One-time payment
  • Payment plan
  • Subscription/recurring payments

Moreover, you might be thinking about running some promotions such as offering discounts or bundles (or both!)

  • Create coupons
  • Bundle courses

Other course authors and affiliates

Are you creating a school along with other instructors or maybe you invited a guest instructor to create a course?

  • Add additional course authors 

Do you want to let other people sell your course and gain a commission?

  • Add affiliates

Integrate with external tools

Your course is only one part (albeit the most important one) of your teaching ecosystem. 

  • Integrate with Google Analytics
  • Integrate with SumoMe
  • Integrate with MailChimp
  • Integrate with Segment
  • Integrate with virtually every other tool/service

Creating a course in a language other than English

Are you serving a non-English speaking audience with your course? No problem!

  • Localize your course language

That wasn't so hard, was it?

Now, for the fun part, here's how you build your custom-made online course.


Your Step-by-Step Walkthrough to Build Your Custom-Made Online Course


Branding - Intro

Your Teachable school can look exactly the way you want it to look.

From the URL people to find it to choosing the typography, we've made it super easy for you to customize the look-and-feel of your online school.


Branding - Adjust Your School's Theme

Adjust your Teachable school's theme to add your logo, background image, typography, and colors.

Go to your Teachable Admin Dashboard and click Site > Theme.

Click the Upload Image buttons in the logo & background section to customize your site using your own images or preset images.

Here's what each element means.

  • Site Logo: The logo that appears in upper left-hand corner of your site’s homepage
  • Favicon: The small icon that displays in your site’s browser tab (size this at 32 x 32 px)
  • Homepage Background: The large background image in the highest position on the page
  • Page Background Texture: The background image that gets applied to your page body tag. Useful for subtle repeating textures
  • Homepage Background Dark Overlay: This overlay darkens the top background image
  • Page Background Texture Size: The square block size at which your background texture will repeat itself

Next, go to the Typography section and choose the font you want to have across your school.

Finally, select among color scheme presets or select your own colors to make a custom color palettes.
Screen Shot 2016-12-21 at 6.39.52 PM.png


Branding - Using Your Own Custom Domain

First things first, if you haven't done this already, you'll need to purchase a domain name.

To buy a domain name, you have to register the name you want with an organization called the Internet Corporation for Assigned Names and Numbers (ICANN), going through a domain name registrar (like GoDaddy or Namecheap).

For example, if you choose a name like "example.com," you will have to go to a registrar, and pay a registration fee for that name. That will give you the right to that name for a year; to keep it after that, you will have to renew it annually.

First, perform a search to make sure that the domain name you’d like to purchase is available. You’ll then be able to choose between domain extensions like .com, .net, .biz, and so on (you may want to purchase more than one).

Decide whether you want to purchase domain privacy, which protects your name, phone number, and address from going on public record.

Finally, before checking out, you may be given the option to own the domain for more than a year, if you don’t want to worry about renewing annually.

Adding a Domain to the Teachable Admin Area

In order to have your personal domain point to your Teachable school, you need to add the domain to your Teachable account. Note that in order to set a custom domain name, you’ll need to create a CNAME record at the root level, which is discussed further in the next section.

  1. Log into your Teachable account.
  2. Select Site from the admin sidebar.
  3. Choose Domains from the submenu.
  4. Click the New Domain button.


  5. Enter the domain of your choice using the format mysite.com or courses.mysite.com.

    NOTE: You don't need to enter www. or http:// here.

  6. Click the Add Domain button and you will see your newly created domain added to the list of domains.


If you're using a root domain as your school's custom domain, continue reading the section below.

If you're using a custom subdomain as your school's custom domain (maybe because you already have a site up and running), click here to jump to the next section.

Creating a New DNS Record to a Root Domain

Now that you've added the domain name to your Teachable account, you'll need to create a new DNS record wherever you registered your domain.

This DNS record will route (direct) requests from your custom domain to your Teachable course.

PROTIP: Several Teachable schools choose to set up a root (naked) domain as their custom domain. Some examples of such Teachable schools are http://bitfountain.io, http://learntoprogram.tv, and http://knowledge.ly.

In order to set a custom domain name, you need to create a CNAME record at the root level.

Most domain providers do not let you create a CNAME record at root. Luckily, Cloudflare lets you use their DNS completely free and allows you to create a CNAME record at the root level. To do so, follow these steps:

  1. Create a free CloudFlare account.
  2. Transfer your domain’s DNS over to CloudFlare.
    • Go to http://cloudflare.com and click the Sign Up link.


    • Enter the domain name that you want to use for your Teachable school without the www.
    • Click the Scan DNS Records button.


    • Click the Continue button.
    • If there are any additional records you'd like to add, you can add them here. After you've reviewed your DNS records, click Continue.


    • Choose the Free plan, leave the other settings the same, and click Continue.


    • Copy the names of the two nameservers listed.


    • Update your domain registrar’s nameservers with the two names you copied from CloudFlare.
  3. Set up your Teachable school domain in CloudFlare.
    • Within CloudFlare, select your domain.
    • Choose the DNS icon from the top menu bar.


    • If there's an A record with your domain in it, delete that A record.


      NOTE: Deleting the A record will produce a warning— don't worry! You want to delete the A record since you're about to add a CNAME at root pointing to your Teachable school.

    • Create a CNAME record pointing to your school URL on Teachable.
    • Click Add Record.

      add record

IMPORTANT: This process often takes 24-48 hours to complete.

Since you're not using a subdomain as your school's custom domain, click here to jump to the next step.

Creating a New DNS Record to a Subdomain

Now that you've added the domain name to your Teachable account, you'll need to create a new DNS record wherever you registered your domain. This DNS record will route requests from your custom subdomain to your Teachable course.

  1. Go to your domain registrar.
  2. Create a CNAME record for your desired subdomain.
  3. Point it to your Teachable school URL.

IMPORTANT: This process often takes 24-48 hours to complete.

Making the New Domain your Primary Domain


  1. Select Site from the admin sidebar.
  2. Choose Domains from the submenu.
  3. Verify that the new domain name works by clicking the Check Domain button. If your domain name works, you will see a Verified message next to your domain.

    CAUTION: Do not set your new domain as Primary in Teachable until you know the transfer is complete. If you have set your new domain as the Primary too early, you will be unable to log into your school.


  4. Click the Make Primary button next to your new domain.


 Booyah - you're all set with your own custom domain.


Content Types - Intro

When you design your online course with Teachable, your content is organized within lectures.

You can create a new lecture in three ways within the Curriculum area of your course.

First, by selecting New Lecture at the top of the curriculum page for your course.


Second, by clicking the teal Add a Lecture button next to a given section name (to add a new lecture in that section).

Finally, inside the lecture creation area, by clicking the New Lecture button at the top. This allows you to create one lecture after another, all within the same section.


To rearrange lectures within a course, click the edit icon next to a lecture, then drag the lecture to place it in the desired order. Click the green check box when done.

So now that you've got that covered, let's talk about what you'll put into the lectures. 

PROTIP: Teachable gives you the ability to import different types of content from Dropbox, Google Drive, and OneDrive.


Content Types - Text

You can easily add any plain text or HTML to your lectures by clicking on the Add Text button.

PROTIP: If you want to do more advanced formatting, try creating your content inside an HTML editor tool and then pasting the code into the code area by clicking on the <> button.


Content Types - Video 

Upload your videos to a lecture by dragging and dropping or by clicking Choose Files

The “Embed” video option will be automatically chosen for you. If for some reason you aren’t seeing your video in the preview, make sure your lecture is published and that the </> embed button is turned on:

If you want to make your video file downloadable, make sure you turn on the Download button:

Follow the recommendations below to ensure there are no issues uploading your video files. The recommended video file type(s) and specifications are:

  • Supported file type: mp4 or mov
  • Recommended resolution: 720p (1280 x 720px)
  • Recommended frames per second (fps): 24-30
  • Supported file size: 1.5GB or smaller*
  • Audio specifications: H.264 + AAC audio (advanced users)

PROTIP: If using 720p or 1080p, we recommend you compress your files as much as possible. Use a tool like “Handbrake” to help compress your file without losing quality in your video: https://handbrake.fr/


Content Types - Live Stream 

With Teachable, you can easily embed a third-party live stream directly into your lecture area. For instance:

In short, you can use any live-streaming platform that allows you to embed a code snippet of the broadcast.

Adding YouTube Live to a Teachable Lecture

For this example, we’ll be using YouTube Live.

  1. Create a YouTube account and verify it by providing your phone number.
  2. Enable live streaming on your YouTube account by clicking your icon in the upper right corner and choosing Creator Studio.


  3. Click Live Streaming from the YouTube creator studio sidebar.


  4. To stream your first live video, download and set up your encoding software by visiting this website.
  5. Next, add a title and description, and choose a subject category from the dropdown list. Add a thumbnail to your video by clicking the Change Thumbnail button.


  6. Before you start live streaming, embed the video inside your Teachable lecture by clicking View on watch page near the bottom right of the YouTube live stream page.


  7. Below the video, click Embed. Copy your video’s embed code. TIP: Change the size of your video player by clicking Show More and using the dropdown menu to choose the size.


  8. Now, head over to Teachable and log into your Teachable school.
  9. Choose the course and lecture you’d like to add a live stream to.
  10. Click the Add Text tab inside the lecture.


  11. Toggle to HTML mode by clicking the bracket icon.


  12. Paste the video embed code into the text editor and click Add Text.


  13. Now, you can Preview the video to see what it looks like in your lecture. Click Publish when you’re ready to start setting up your live stream.


  14. To start live streaming your first video, open the encoder you downloaded earlier. For this example, we’re using Wirecast Play.
  15. Click Record at the top of the Wirecast Play dashboard.


  16. Click Authenticate in the window that pops up.


  17. Next, sign in with the Google account that is linked to your YouTube account. Click Allow.


  18. Once your account is authenticated in Wirecast Play, click OK.
  19. When you’re ready to go live, click Stream at the top of the Wirecast Play dashboard. Your live video will be streamed directly to YouTube and to the video player embedded in your Teachable lecture.


  20. Click Stream again to stop the live stream.

If students would like to see the video but can’t be there during the live stream, don’t worry. Once you stop live streaming, they can always go back and watch a recorded version of your stream.


Content Types - Slides

Teachable will automatically embed PDF slides into your lectures when you upload them. You can toggle the embed on and off by clicking the </> embed button:

You can also toggle on and off the Download button to make your PDF file downloadable or not: 


Content Types - Audio

Teachable's supported file type for audio content is mp3. For quality type, choose “High Quality” or for more advanced users “AAC”.

Teachable will automatically embed your audio files in your lectures for playback. You can toggle the </> embed button on and off as you see fit:

You can also make the audio file downloadable or not downloadable by toggling the Download button off and on:


Enhance the learning experience - Intro

You may be looking into providing a richer learning experience for your students. That's why Teachable alos allows you to include quizzes, forums, downloadable files, certifications, and a blog.


Enhance the learning experience - Adding Quizzes

Teachable lets you build self-grading quizzes, giving students the chance to test what they learned.

Adding a quiz to your course can be an effective way to get feedback on how your students are learning and if they are engaged.

Quizzes also add a little pressure, communicating to students that each lecture is important and necessary to progress in your course. Moreover, quizzes can help recap the key takeaways students should walk away with after completing your course.

Adding a Quiz

  1. From the Courses area inside your Teachable school, select the course in which you'd like to add the quiz.
  2. Once inside the course area, click the Curriculum tab.


  3. Click on the lecture you want to add a quiz to.
  4. In the lecture, click the Quiz tab in the upper right-hand side of the page.


  5. Click the Add Quiz button.


  6. In the first field, write your first quiz question.


  7. Input possible answers to your question. Write both correct and incorrect options.

    NOTE: As you add answers, new fields will automatically appear. You do not have to use all the answer fields. If an answer field appears that you do not need, leave it blank. The blank item will not appear to your students.

  8. Check the box on the left-hand side to denote the correct answer. You may select more than one answer.


  9. After adding all questions and possible answers for your quiz, you will see the quiz appear in the content list for that lecture. You can always come back to edit your questions or change/add answers later.


  10. Preview your lecture by selecting the Preview button at the top of the page.


  11. Your quiz should look something like this:


NOTE: While you can add a quiz to as many lectures as you’d like, you can only add one quiz per lecture.

PROTIP: You can add HTML to any of the quiz or answer fields. If you'd like to include an image, code or special styling, simply create in your favorite HTML editor and paste it into the fields. Then, preview your lecture to see the end results.


Enhance the learning experience - Adding Comments/Forums

By adding comments to your lectures so students can discuss it and ask questions.

You can add comments in two ways:

  • Native comments - students and instructors can comment using their Teachable account, built right into the platform.
  • Disqus - free third-party commenting system integration. Teachable is retiring this feature for new users, so going forward Disqus will only be accessible to people who signed up before integration was disabled.

As an instructor, you can moderate and manage these discussions.

CAUTION: Having both native comments and Disqus enabled will lead to two different comment boxes within the same lecture. Make sure to only have one enabled per lecture.

Enabling Native Comments

Below is a step-by-step walkthrough of how you can add comments to your lectures:

  1. Log into your school’s admin area.
  2. Go to Settings in your admin sidebar.
  3. Select Labs.
  4. Click Enable Comments to enable comment functionality across your school. This does not mean that every lecture will immediately accept comments: you’ll still need to turn them on in the individual lectures themselves.
  5. Enable comments for a particular lecture by toggling Comments to be On in the lecture area.


  6. See how comments appear by clicking Preview in the upper right corner of the lecture area. They will look like this:


Enabling Disqus

Disqus is a third-party commenting system that integrates with Teachable. Only school owners using the Basic plan and above can access it. Enable Disqus by:

  1. In your admin area, go to Settings.
  2. Select Integrations.
  3. Find Disqus in the list, and toggle to be On.



Enhance the learning experience - Adding Downloadable Files

Audio, PDFs, Word, Excel, zip, etc. can be uploaded to appear as a linked file for your students to download.

This can be a useful feature if you are trying to share other files with your students or create a repository of files for your students to download from.

Any uploaded files that aren’t video, audio, or PDF will be automatically set to be downloaded by your students. They will also be labeled with their existing filenames, so we recommend renaming your files for ease of access by your students.


Enhance the learning experience - Adding Certifications

You can create certificates of completion in your school using WebMerge and Zapier

Getting Started In WebMerge

WebMerge is an online tool that allows you to easily automate creating documents and sending/storing them as PDFs. Follow these steps to get started in WebMerge:

  1. Create/log into your WebMerge account.
  2. You will be taken to your My Documents page. Click the New Document button on the left side.


  3. You should see a Create a New Document prompt appear. Give your document a name and click Next.


  4. Click the Build Your Own icon. Be sure to leave the checkbox that says "Automatically create an email delivery" checked. Click Create Document.


  5. You will now see a WYSIWYG (What You See Is What You Get) text editor that allows you to edit your document.


  6. Click the image icon in the editor.


  7. A prompt will open up that will allow you to place a logo within the document. Click the Upload tab to upload a new image.


  8. Next, click the Choose File button to upload the file (in this case, a logo) from your computer. Click Send It to the Server to finish the upload.
  9. You will now be taken back to the Image Info tab, which has your image on a preview window. You can now customize the image by setting the height, weight, border size and horizontal/vertical offsets in pixels. When you’re done, click OK.


  10. You will now see your logo appear in the editor. You can now add in additional text. If you want to merge in attributes about your student, such as his or her name, you will need to add "{$Name}" in the document. This will allow you to merge those attributes later on.


  11. In order to send the certificate via email later on, you will need to set a hidden variable on the document. To do this, click Switch to Advanced Mode to the right of the text editor. This will allow you to edit the HTML.


  12. Copy and paste the following anywhere in the HTML editor:


  13. Once you’ve added the code snippet, click Save & Next.
  14. You will now be in the Settings area. Here you can edit several things, including:
    • The name of your document (how it appears in your system)
    • The output format
    • The page size
    • The output file name (the name that appears to your student)
    • The time zone
    • The status

    NOTE: Change these as you'd like, but be sure to leave the Status set to Active.


  15. Next, you can test out the document by inputting a name and email. Once you are satisfied, click Skip to Next Step.


  16. You should now see the email delivery option by default. Click Edit to change the To Email Address.


  17. Under Send Email To select Merge Field, then select Email from the drop-down menu.


  18. Once you are happy with the email format, click Save Delivery.

You are now good to go in WebMerge. Time to head over to Zapier.

Setting Things Up In Zapier

  1. Create a zap in Zapier that has a trigger for Teachable’s New Graded Quiz Result set up. Find out how to make a zap like this here.
  2. Now, apply a filter so that only quiz responses that meet certain criteria get certificates (such as earning a certain score or being from a specific lecture/course). To apply this filter, click the + icon in between the Trigger and Action steps inside your zap and choose Filter.


  3. When you see the option Only continue if... selected, click Save + Continue.


  4. Next, choose Response-Grade-Percent Correct in the first input field. There are many options, so you may wish to search for “percent” to make it easier.


  5. The middle input field lets you choose how the field should treat the input value and what criteria to use. For this example, we’re going to choose (Number) Greater than. In the final input field, we’ll put 75, since we want students to get at least a 75 percent on the quiz.


  6. Next, click And to add another filter, this time choosing the Response-Lecture ID attribute for the first field.

    NOTE: Once you choose Response - Lecture ID, it will appear as Object Custom Form Attachment Attachable ID in the input field. This is a Zapier convention, but everything is set up correctly.


  7. Select (Text) Exactly Matches for the middle field and type the lecture ID number of the quiz that you want to count for the certificate inside the last field.


    NOTE: To find the lecture ID, go to the lecture in your Teachable school and look for the # in the URL:


  8. When you click Continue on the filter, you may see it turn yellow and say that the zap would have been filtered out. This is fine because the last response in your school is returned as test data, so the filter will not apply if it isn’t the same quiz response.


  9. Now, in the Action step, choose WebMerge as the application.


  10. Next, select Create Document Merge and click Save + Continue.


  11. Connect your WebMerge account if you haven't done so already. If you have, just choose the existing account and click Save + Continue.


  12. Next, choose the certificate you want to merge from the list.


  13. When you choose a document, it will show you the fields that you set before, like name and email. You can merge in the data from the Teachable Trigger by clicking the icon on the right side of each input field.

    NOTE: Make sure to have Download Field set to Yes so that the attachment is set in the email.


  14. From here, you can test out the zap to make sure it works.
  15. Back in WebMerge, you should see a report showing if the merge was created/sent.



Enhance the learning experience - Adding a Blog

First things first, you must enable your blog in Labs.

This will activate your blog at [yourschoolname].teachable.com/blog.

  1. Logged into your Teachable school, go to Settings > Labs.
  2. Scroll down to the blog section and click Enable Blog.


  3. A Blog enabled notification will appear in the lower right-hand corner, letting you know that the blog is now active and ready to customize.

Enabling Comments in Labs

Comments can be added to your blog in the Labs area as well. By enabling comments, your students can comment on your blog posts.

  1. Go to Settings > Labs and scroll down to the Comments section.
  2. Click Enable Comments.


  3. A Comments enabled notification will appear in the lower right-hand corner, letting you know that comments are now available on your lectures and blog.
  4. Now, when you create a new blog post, you can enable comments on the post by clicking the grey Allow Comments button.


Customizing Blog Information

Your blog name, subtitle (or tagline), and about section are currently generic. Let’s change that.

  1. Log into your Teachable school.
  2. Click Settings in your admin sidebar.
  3. Select General from the submenu.
  4. Scroll down to the Blog section, or click it in the navigation bar.


  5. Customize your blog name, blog subtitle, and write an “about me” blurb that highlights the value you and your site provide.


  6. Click Save.

Linking to Your Blog From Your Site’s Navigation Bar

To help students discover your blog, you can provide a link to it from your site’s navigation.

  1. Log into your Teachable school.
  2. Choose Site.
  3. Select Blog.


  4. Click the View Blog button in the upper right corner.


  5. Copy the URL of your blog from the address bar.


  6. From the settings area select Navigation.


  7. Click Header and then click Add Link.


  8. Fill out the New Link form.


    • Location: This where the link to your blog will appear on your site. Most likely you will leave it Header.
    • Text: The link text that leads to your blog. (The word “Blog” will work; no need to get fancy.)
    • URL: Paste your blog URL that you copied in step 5.
    • Open in New Tab: Toggle this switch to the on position if you want your blog to open in a new browser tab.
    • Visible To: Most likely you will leave this set to All. You can also limit who sees the link to your blog by whether they are logged in or logged out.
  9. Click Add Link.
  10. Click on the name of your school in the admin sidebar to go to your site’s homepage and confirm the blog link.



Course Visibility - Public Course

Publish a course for customers to purchase and enroll by clicking the Publish Course button in the upper right-hand side of the course Information area.


You're now ready to start promoting :)


Course Visibility - Hidden/private course

There are a number of reasons why it may be in your best interests to privatize a course:

  • You’ve created a custom-made course for a specific organization or class, like a training course or supplemental material/homework, and you only want it available to that audience.
  • The course comes with a lot of one-on-one attention and you’re only equipped to handle a few students at a time.
  • You want to provide V.I.P. content to a select number of people who have fulfilled other prerequisites.

In these cases and others, a private course may be the answer.

To make a course private, the trick is to publish all the lectures, but unpublish the course itself.

When a course is unpublished, it will not appear on your school's main directory, so students can only find it if:

  1. They were already enrolled.
  2. You provide them with a direct course URL.

Make sure you have a pricing plan set up before directing students to your course page, or they will not be able to enroll.

Unpublish a course by going to the course’s main Information area. From there, click the Unpublish Course button in the upper right corner.


Course Visibility - Invite-only/closed-enrollment course

To make a course even more private, you can delete all pricing plans so that students cannot enroll themselves in the course; then, manually enroll selected students from your end.

If you choose this option, the students you enroll will not be charged for the course.

You can delete a pricing plan at any time from the same Course > Pricing area by simply clicking the red trash icon next to the pricing plan. This will not impact any students who have already enrolled via that pricing plan--even recurring/subscription plans.

NOTE: Deleting a pricing plan also means deleting any coupons associated with that pricing plan, so be careful not to do this until any associated coupon promotions have ended.

This is how a course sales page’s enrollment section will appear when all pricing plans have been deleted:


Content Delivery - Drip course content

Drip content allows you to release lecture sections within a course based on a set number of days after a student enrolls, rather than releasing all the content at once.

To turn Drip on for the course, simply click Enable Drip Content.


A notification will appear - Drip Content enabled - to let you know that it was successfully enabled.

After Drip is enabled, select a Course from the admin sidebar, or click View All and choose a course.

Inside the individual course area, click Drip in the submenu.


Course material is time-released by section.

Click Set Schedule to schedule how many days it will take for the section (with all its lectures included) to be released to students after they enroll.


Select a number (by using the arrow keys or typing it in) and then click Save.


Press the Set Email Announcement button and fill out the email form to schedule an email that lets students know when the course section will become available to them.


Finally, click Save Email Announcement to save changes.


Pricing - Intro

Your choice of course pricing is critical to the success of your online course. With Teachable, you can set up the one that will specifically fit your needs.

Upon choosing any type of pricing, you'll need to specify the following:

  • Name - The name of the pricing plan itself. It may differ from the exact name of the course when using multiple pricing tiers, as below:


  • Subtitle - A brief description below the name to attract attention and/or briefly explain the pricing tier.
  • Detailed Description - A description of the features and benefits of the course that grabs attention, informs, and sells.

Pricing - Free course

Free courses are a great way to build your email list, capture potential students, or upselling a premium course.

Within the Courses section, choose the course for which you want to set the price and then click Pricing

  1. Select the Free option from the New Pricing Plan dropdown.
  2. Enter the name, a subtitle, and a detailed description.
  3. Click Add Pricing.

Pricing - One-time payment

One-Time Purchase is simply a one-time upfront payment.

  1. Select the One-Time Purchase option from the New Pricing Plan dropdown.
  2. Input dollar amount and fill out name, subtitle, and detailed description.


  3. Click Add Pricing.

Pricing - Payment plan

Use the Payment Plan option to charge a fixed price per month for a fixed number of months (e.g. $20 per month for three months.)

Once they’ve paid in full, they will retain access to the course for as long as it’s active, with no future payments.

  1. Select the Payment Plan option from the New Pricing Plan dropdown.
  2. Input dollar amount and set the number of monthly payments the user will make. Fill out name, subtitle, and detailed description.


  3. Click Add Pricing.

Pricing - Subscription/recurring payments

Use a subscription to charge students a monthly or annual fee for course access.

  1. Select the Subscription option from the New Pricing Plan dropdown.
  2. Input dollar amount and toggle the month/year control to set the subscription price. Enter Name, Subtitle, and Detailed Description.


  3. Click Add Pricing.

Pricing - Creating coupons

Coupons are a great way to attract more students on a regular basis or to run specific promotions. 

Depending on the situation, you may need different types of coupons.

Understanding Multiple-Use vs. Single-Use Coupons

A multiple-use coupon is a universal coupon that can be used by a number of users you specify (e.g. limit 1,000). A multiple-use coupon is good for promoting a “limited offer,” in terms of time and availability, to a more general audience. For instance, for a Black Friday sale you can create a special “Black Friday” code that can be used by 1,000 people.

Single-use coupons, on the other hand, can only be used once by a single customer. You can use them as gift certificates to reward specific users, incentivize current students to sign up for other courses, or market to specific people. Generating a batch of single-use coupons limits the number of users that can take advantage of the offer to the amount of coupons you generate and distribute.

Creating a Multiple-Use Coupon

  1. Select the course for which you want to create a multiple-use coupon. If the course is not immediately visible on the sidebar, click View All.


  2. Click Coupons.


  3. Select the New Coupon button in the upper right-hand part of the screen.
  4. Fill out the top of the form:
    • Pick the Pricing Plan you want to create coupons for.
    • Toggle the Type input to choose Discount Amount or Discount Percent to discount the course either by a specific amount (e.g. $30 off) or by a percentage (e.g. 40% off).
    • Enter the actual amount or percentage of the discount.


  5. Fill out the bottom half of the form.
    • Choose the total possible number of users that can use the coupon.
    • Enter a unique coupon code (any series of letters & numbers) that will
    • appear in the URL to be shared.
    • Make a name for the coupon (used for your reference only).
    • Select an expiration date (based on UTC).


  6. Click Save.
  7. Click the Preview button on the newly generated coupon.


  8. Scroll down the sales page to confirm the presence of the coupon.

  9. Copy the URL (everything before &preview=logged_out) from the current page to distribute to potential users.


Creating a Single-Use Coupon


  1. Select the course for which you want to create a single-use coupon. If it’s not immediately visible, click View All and scroll the right-hand column to find the course.


  2. Click Coupons.


  3. Scroll down to the Bulk Coupon Generator and Select a pricing plan.


    NOTE: When you select a product, you are selecting a pricing plan to which the coupon will apply. Coupons are permanently tied to individual pricing plans. If you add a new pricing plan later, this coupon will not work with it.

  4. Choose the desired amount of the discount and the number of coupons to generate.


  5. Click Download Generate CSV to download the csv file to your computer. Use any spreadsheet application to view the codes.


  6. Distribute the codes via email or however you’d like to. Remember, each code will only work for one person, so be careful not to distribute duplicates.

Pricing - Bundling courses

A course bundle involves grouping multiple courses into a single bundle you can sell together at one price. Course bundles are usually discounted from the combined price of the individual courses as a way to encourage sales.

For example, imagine you have two courses: Parachute Basics: Learn before you Leap and Parachute Certification: Advanced Guide to Learning Parachuting. Each course sells individually for $30.

In this example, you could put both courses in a bundle called The Definitive Guide to Skydiving, which students could purchase for a grand total $50.

This bundle combines related courses that the same group of students might want to take, and they're incentivized to purchase the bundle because they receive a $10 discount.

NOTE: Just like individual courses, course bundles can be sold for a one-time fee, on a subscription plan, or on a payment plan.

Creating a Course Bundle

Before you can create a bundle, you’ll need a “parent” course with the name you’d like your bundle to have. Using the example above, you would need a course called “The Definitive Guide to Skydiving.”

If you don’t yet have a course with the desired name of your bundle, create one (it won’t need any lectures of its own). In its description, clarify that students are gaining access to multiple courses with their purchase of this “parent” course.

Then, to bundle the courses together, follow these steps:

  1. Click the “parent” course (the one with your desired bundle name) in the admin sidebar, or select View All to see all courses in your school.
  2. Once inside the titular course, click Bundle Contents.


  3. Click Add a Course to this Bundle located at the top of the screen.
  4. Select a course from the drop-down menu that you would like to add as part of the bundled deal. Repeat as needed.


  5. Now, when students buy this course, they will automatically gain access to the other(s) that you bundled.



Other users - Adding authors

If you are creating a school along with other instructors or maybe you invited a guest instructor to create a course, then adding course authors is the way to go.

  1. In the admin sidebar, select a course where you’d like to add an author. If the course is not displayed, click View All to see all courses in your school.


  2. Click New Course in the upper right corner of the screen, or select an existing course.
    • If you’re creating a new course for first time, without any existing authors, select New Author:


    • If you’re adding a new author to an existing course, go to the Information submenu tab. Inside Details, select New Author.


  3. Both will bring you to this box:


    NOTE: There can only be one author per course.

  4. Enter Full Name and Headline.
  5. Add Image and Bio of the author.
  6. Click Add Author to save.

To add an author to your school, but not assign them to a course yet, go to Site > Authors. You’ll then be able to save their information and assign them to a course later.

Associating a User Account With an Author Account

To link a user account to an author account, navigate to Site > Users.

Select the account of the user you’d like to make an author. In this example, we’ll use Adam Baker. On the user’s account page, go to the Author tab. There, you’ll find a dropdown menu where you can select an author account to be associated with the user account.

Since we had previously created an author account for Adam Baker, we simply select that option from the list.

Click Save. Now Adam Baker is able to be the author for any courses associated with his author account.


Other users - Adding affiliates

As a school owner, you can allow people to promote your course(s) as an affiliate. As an affiliate, the person will receive a percentage of the revenue generated from any sale to which they contribute.

Once the process is complete, affiliates will be able to use unique URL links to send people to your site and track purchases made.

  1. Within your admin area, select Users.
  2. Click the User you’d like to add as an affiliate.


  3. Inside the student’s information area, select Affiliate from the submenu.


  4. Toggle Affiliate Program to be set to Active.


  5. Set Affiliate Commission to the percentage amount you will pay the affiliate. For example, if you set Affiliate Commission to 25% for a course priced at $10.00, the affiliate will receive $2.50 for each sale they refer.


  6. Click Save.

External tools - Integrating with Google Analytics

Teachable allows you to take advantage of the analytics functionality provided by Google Analytics.

  1. Create a new Google Analytics account if you do not have one yet for your school, or use an existing account.
  2. Inside Google Analytics, find your site tracking ID. IDs can be found on your analytics accounts home. They start off with UA- followed by a set of integers.


    Alternatively, you can find the Tracking ID for a specific property by going into Admin > Property > Property Settings.


  3. Copy your Tracking ID.
  4. Go to your Teachable admin area.
  5. Select Settings in the admin sidebar.
  6. Click Integrations in the submenu.
  7. Toggle Google Analytics to be on.
  8. Paste your Google Analytics ID inside the input field.


  9. Click Save in the upper right-hand corner of the page.

External tools - Integrating with SumoMe

SumoMe is a highly efficient tool for growing your website’s traffic and getting more subscribers by:

  • Helping you build your email lists
  • Showing you where your website visitors are clicking
  • Helping you increase social shares
  • Tracking your Teachable school growth

Our most successful Teachable instructors are using SumoMe, so we made it easy for you to integrate this tool into your online course.

To integrate SumoMe with your Teachable school, follow these steps:

  1. Head over to the SumoMe website and click the green Sign Up button in the upper right corner.


  2. Fill in your Teachable school URL, your email address, and a password. Click Sign Up.


  3. Copy your SumoMe ID number.


  4. Now, head over to Teachable admin ares and select Settings towards the bottom of the admin sidebar.
  5. Click Integrations from the submenu.


  6. Find the SumoMe icon in the list of integrations and click the gray button to enable SumoMe in your Teachable school.


  7. Paste the SumoMe ID that you copied earlier into the SumoMe Site ID text field.


  8. Click Save in the upper right corner.


  9. Now, head over to your Teachable school’s sales page editor and click Preview in the upper right corner.
  10. Move your cursor over the top right corner of your sales page until you see a small blue and white icon appear, and click it.


  11. Select the blue Log In button and log into your SumoMe account that you created earlier.


  12. Select the site you want to activate and click Activate Now.


  13. Now, you can choose which SumoMe tools you want to use for your Teachable school.


You can access these options at any time by moving your cursor over the top right corner and clicking on the SumoMe icon.


External tools - Integrating with MailChimp

MailChimp is a powerful email marketing tool that allows you to build and manage large email lists. Teachable already includes an email client that allows you to send one-time emails to your entire group of students or a smaller, targeted subset, but you may want to use MailChimp to:

  • Set up automatic emails
  • Make sure students who sign up for your school are added to your email list
  • Monitor and track email performance

Here's how you can integrate your school with MailChimp.

  1. Go to your school admin arean and select Settings at the bottom of the admin sidebar.
  2. Click Integrations from the submenu.


  3. Scroll down and find MailChimp in the list of integrations. Click the gray button to enable MailChimp in your Teachable school.


  4. Once you’ve enabled MailChimp, you’ll see two empty text fields asking for a MailChimp API Key and a MailChimp List ID. To find those, open up a new window and log into your MailChimp account.
  5. Click the dropdown arrow next to your username in the upper right corner of your MailChimp dashboard.


  6. Select Account from the dropdown list.


  7. Next, click Extras.


  8. Choose API keys from the dropdown list.


  9. Generate an API key to use on your Teachable page by clicking the gray Create a Key button.


  10. Next, scroll down and copy the API key that appears under the Your API keys heading.


  11. Go back to your Teachable window and paste the API key into the MailChimp API Key text field.


  12. To find your MailChimp List ID, travel back to your MailChimp dashboard and click Lists in the top navigation bar.


  13. Choose the list that you want to subscribe your students to.


  14. Select Settings and click List name and defaults from the dropdown menu.


  15. Copy the List ID that appears in red.


  16. Return to your Teachable window and paste the ID into the MailChimp List ID text field.


  17. Click the Save button in the upper right corner.


Now, every student who registers for your Teachable school will get added to your Mailchimp email list.


External tools - Integrating with Segment

Segment is an analytics API that allows you to collect customer data and send it to any analytics or marketing services you use, including:

  • Google Analytics
  • MailChimp
  • HubSpot
  • Facebook Pixel

This means that instead of having to install a bunch of analytics integrations individually, you can just install Segment, which will send information to those different integrations for you.

Here's how you can integrate your school with Segment.


  1. Go to your school's admin area and select Settings at the bottom of the admin sidebar.
  2. Click Integrations from the submenu.


  3. Scroll down and find Segment in the list of integrations. Click the gray button to enable Segment in your Teachable school.


  4. Once you’ve enabled Segment, you’ll see an empty text field asking for a Segment API Key. To find this, open up a new window and log into your Segment account.
  5. Set up your source and integrations within Segment by following the instructions on the Segment website.
  6. Find the Segment API Key for your Segment source by clicking on your Source, and choosing Settings from the navigation.


  7. Next, click Keys.


  8. Copy the Write Key.


  9. Now, head back over to your Teachable admin area and paste the write key into the Segment API Key text field.


  10. Click Save in the upper right corner.

External tools - Integrating with anything else via Zapier

Zapier is an easy way to connect and automate tasks between your Teachable school and many other applications, including:

  • Email service providers such as Aweber, Madmimi, Vertical Response, Drip, or even Gmail
  • Marketing automation tools such as Infusionsoft, ActiveCampaign, Intercom, Salesforce, and HubSpot
  • Team communication tools such as Slack, Trello, and Hipchat
  • Spreadsheet tools such as Google Docs

Teachable Triggers vs. Teachable Actions

There is a difference between what kind of zaps you can set up based on what Teachable plan your school is on. Essentially, Zaps are comprised of two phases: a trigger step and an action step. Triggers are any event that sets your Zap in motion, while Actions are an event that’s subsequently completed inside a second app automatically.

Schools on the basic plan can only set up Teachable Triggers that cause inside > outside automations, meaning that the Trigger must be something inside Teachable that sets off an action in another app.

An example would be adding a new Teachable sale (Trigger) as a subscriber to a sequence in ConvertKit (Action).

On the professional plan and higher, users can also set up Teachable Actions for outside > inside automations, so that an outside activity in another app can trigger an action within Teachable.

An example would be adding new SumoMe email subscribers (Trigger) as new Teachable users (Action).

Integrating Zapier With Your Teachable School

  1. Log into your Zapier account.
  2. Search for Teachable, or click this link to be taken right to all the Teachable integrations.
  3. Choose an integration and click Use this Zap.


  4. Next, click the Make this Zap! button.


  5. Choose your Teachable account, or connect a new Teachable account. 
  6. Click Connect to connect the third-party app, in this case Google Sheets, to Zapier.


  7. Click Allow to give Zapier permission to access Google Sheets.


  8. Now, select a Spreadsheet and Worksheet from the drop-down menus and click Save + finish!

    NOTE: Make sure you have a Google Sheet you want to use already set up, including one row of sample data.


  9. Click Test out my new Zap to make sure everything is working correctly between the two apps.


  10. Create and save a sale in Teachable and click Continue + fetch the Sale.
  11. If the test is successful, click See this Zap on your Dashboard.


  12. Now you can see your new zap in your Zapier dashboard. Click the zap to edit it.


  13. You can now edit, or add filters, your Teachable trigger or Google Sheet action any time you want.


Creating Your Own Teachable Integration

You can also create your own custom integrations using Teachable and any other app that is also on Zapier. To do this, follow these steps:

  1. Log into your Zapier account.
  2. Click Make a Zap! at the top of the page.


  3. Type "Teachable" into the search bar and choose the Teachable app.


  4. Now, select a Teachable Trigger. A trigger (or event) is something that “triggers” an action. For example, if you want to add all of your new students to a mailing list, New User would be the trigger for the action (adding to mailing list) to happen. There are eight triggers available in the Teachable app (click Show Less Common Options to see them all):


    • New Sales: A student enrolls in your school, whether it’s a free or paid course
    • New User: A user signs up for your school
    • New Enrollment: A user enrolls in your school (whether they purchased it or you manually added them)
    • Profile Updated: A user updates their profile on your school
    • Lecture Completed: A user completes a lecture
    • New Transaction: A student is charged and makes a payment for a sale (could be a one-time purchase or an ongoing subscription/payment plan)
    • Course Completed: A student completes 100% of your course
    • Subscription Cancelled: A student cancels a subscription on your school
  5. Once you’ve chosen your trigger, click the Save + Continue button.


  6. Next, click the Connect a New Account button.


  7. Enter your Teachable account information in the form that appears in a new window.


  8. After inputting your Teachable account information, click the Yes, continue button.


  9. Next, click the Save + Continue button. This will connect your Teachable account with your Zapier account.


  10. Now, test your Teachable trigger by clicking the Fetch & Continue button.


  11. If your test is successful, click Continue.


Using Zapier Filters

Before creating your trigger’s action, you can choose to set up a filter. Filters are a way to ensure that your actions get carried out only when you want them to. For example, if you only want to add students enrolling in a specific course to your email list, you can set up a filter to do that.

To add a filter to your zap, follow these steps:

  1. Click the + icon between the Trigger and Action on the left side of your zap editor


  2. Click Filter.


  3. Next, click Save + Continue to start setting up your filter.


  4. Now, create your filter by choosing from the drop-downs. In this example, the action will only be carried out if the course is called My Course.


You can add additional filters by clicking + AND (both filters must apply for the action to take place) or +OR (either filter will trigger the zap). 

Teachable and Zapier Integration Example

Once you’ve set up your Teachable trigger and any filters, it’s time to choose an action that will happen when the trigger occurs. While we can't show you an example for every possible integration with Zapier, most of the actions will follow a similar flow as shown in this example.

Let’s create a Zapier integration between Teachable and MailChimp. After you’ve set up your trigger (as outlined in the steps above), create an action using this process:

  1. Log into your Zapier account and click the My Zaps tab in the upper left of the page.


  2. Click Drafts to find the trigger you made earlier.


  3. Choose the zap draft you’d like to add an action to.


  4. Click 2. Set up this step on the left side of the page under the Action tab.


  5. Now, click Choose App.


  6. Choose MailChimp from the Choose an Action App page. (Alternatively, type “MailChimp” into the search bar).


  7. Select a MailChimp action. For this example, we’re going to Add/Update Subscriber to our mailing list. Click Save + Continue.


  8. Next, click Connect a New Account.


  9. Connect Zapier to your MailChimp account by entering your MailChimp username and password. Click Log In after entering your information.


  10. Click Save + Continue. This connects your MailChimp account with your Zapier account.


  11. Select the MailChimp list you want to add the student to, and choose the Student Email field as the email address. You can also change the settings for the other MailChimp email options. Click Continue after setting up the subscriber.


  12. Test the MailChimp integration by clicking the Create & Continue button.


  13. Just like with the trigger test, if your action test is successful, click the Continue button.


  14. Name your zap and click the gray OFF button to turn your zap to the ON setting.


  15. From there, you can choose to see your new zap in your Zapier dashboard or make another zap.



Languages - Localizing your course language

You can create a Teachable course in any language.

The interface already allows you to input content in any language.


For elements on your Teachable school like headers, footers, buttons, etc., you can change the text used in your courses from the Theme area under Custom Text.

From here, you have the ability to modify text into another language across your school, including:

  • Header
  • Footer
  • Checkout
  • Courses
  • Lectures
  • Comments
  • Common
  • Homepage
  • Error pages
  • Accounts
  • Manage Subscriptions
  • Credit Card
  • Edit Profile
  • Emails
  • Email Receipts
  • Email Subjects
  • Confirmations
  • Passwords
  • Failure
  • Registrations
  • Sessions
  • Quiz
  • Attributes
  • Blog

Using RTL Languages on Your Teachable School

To utilize right-to-left (RTL) languages such as Arabic or Hebrew on your school, you’ll first need to change the direction property in the custom CSS file. This can be found in the Theme area under Head Includes in your Teachable school.


To do this, you’ll need to separate for HTML element tags that encompass text. For the purpose of creating RTL functionality, we’ve found the tag is most convenient.

As such, you should write the following additional custom CSS:

div {
direction: rtl;

Make sure to Save your changes.

Your School should then look like this:



Go beyond

This guide covered "just" 31 features to design an online course to fit your specific needs.

However, we've seen our instructors take advantage of our features to turn their schools into something beyond anything we could have imagined.

We'd love to see you take your school beyond what's explained in this post. To get started, please visit our knowledge base or, better yet, click below to attend one of our weekly webinars.

Join an exclusive course launch webinar


Check out more content like this

Back to Blog
Eduardo Yi

Written by Eduardo Yi

Eduardo Yi is a content marketer at Teachable, the platform that allows anyone to teach online, where he gets to work on the intersect of his four passions: education, digital marketing, and incomplete lists.