If your site was created on or after January 28, 2026, you have access to the new course builder, in addition to the classic course builder. Learn about new features, improvements, and how to try it out: Introducing Thinkific's New Course Builder
Embedding externally hosted content lets you display webinar links, surveys, Google Docs, or YouTube videos directly within your course. You can also upload and embed interactive content created in tools like Adobe Captivate, Articulate Storyline, or iSpring.
When embedding content, you have the following options:
- Externally hosted content (available on all plans)
- Uploaded content files (available on the Start plan or higher)
The new course builder uses an iframe to embed content, meaning your content must be "iframeable". The best way to test whether your content will work is to try it out (you can follow the instructions below), but you can also use this free tool to confirm whether or not the content is iframe compatible.
Embedding External Content
To embed externally hosted content:
- Select More from the content menu
- Select one of the following options, depending on what type of content you're embedding: Media,
- Document, Survey or form, Presentation, Interactive, or Web content
- Copy the link to your content
- Paste the link into the Paste link field
- Click Embed
Embedding Uploaded Content
The option to upload your own content can be used to add Articulate, Storyline or iSpring content into your course - you can learn how to export your file correctly in our article Importing Adobe Captivate, Articulate Storyline, and Other Multimedia Content to Your Course.
While SCORM lessons can be uploaded via the embed content option, this content type does not support tracking and reporting. If you need tracking and reporting with your SCORM lessons, we recommend creating a SCORM course (available on Plus plans). Learn more: Import Adobe Captivate, Articulate Storyline, and Other Multimedia Content to Your Course
Best Practices for Uploading Web Files
Before embedding your files in Thinkific lessons, you will need to export your files for web (HTML5) - only .zip files are supported.
Make sure that your zip file does not contain the content in a folder in the zip file: all of the content should be available in the root directory. What this means is that as soon as you open your zip file, you should see an HTML file (usually titled index.html or story.html). You should not need to open another folder to find that HTML file.
To compress your files into a .zip file on Mac OS, select all of the files and right-click, then select Compress.
To compress your files with Windows OS,right-click all of your selected files, select Send to, then select Compressed (zipped) folder.
To embed your web file:
- Select More from the content menu
- Select SCORM or HTML
- Drag and drop your desired file (or browse and select a file from your device)
Supported file types: .zip (max file size 200 MB)
Dynamic Variables for Embedded Content
Passing user variables to your embedded content is a useful tool for a variety of circumstances; whether you want to pass values to a hidden field in an external form/survey/test, or use it for your metrics and tracking.
Proper URL formatting
The key to ensuring that this feature works as expected is to format the URL for your lesson using proper URL structure.
In most cases, you should pass user variables in the form of URL Parameters. To use parameters properly, ensure that they are placed at the end of your URL, behind a ?, and that they are structured as a key=value pair.
- The key is the name of the variable that you want to pass
- The value is the dynamic variable itself
- You can add multiple parameters by separating them with an & symbol
Because the value is dynamic and changes based on the learner viewing your course, you will need to set the value when the course is loaded. You will use a placeholder - {{value}} - to identify the location in the URL where you will add the value when the course is loaded.
Take this example URL:
https://quizlet.com/your-form?name={{first_name}}&email={{email}}When it loads in the Course Player, it will look like this:
https://quizlet.com/your-form?name=john&email=jdoe@email.comWhen structured this way, your embedded will have access to both name and email as variables to use.
The URL that you are passing the values to must support parameters in some way. If they are not prepared for, or don't recognize the data being passed, this won't have any effect.
Available Variables
These are the variables that you can currently pass using this feature:
| {{first_name}} | The first name of the learner viewing the lesson |
| {{last_name}} | The last name of the learner viewing the lesson |
| {{email}} | The email of the learner viewing the lesson |
| {{date_created}} | The date that the learner's account was created |
Troubleshooting Embedded Content
If your content is not working, see why your embedded content isn’t working.