← All posts

LearnDash video progression and MediaShield lesson completion

Compare LearnDash's own video progression with MediaShield Pro, which completes a lesson at a watched percentage, and see how Tutor LMS and LifterLMS work.

The short answer: LearnDash has its own video progression setting that ties a lesson or topic to a video, so a student has to reach the end before moving on. MediaShield Pro takes a different route: it links a video from your MediaShield library to a lesson and marks the lesson complete when the student reaches a watched percentage you choose, with only enrolled students able to play it. It does the same for Tutor LMS and LifterLMS.

This guide explains how each approach works, what the completion thresholds really mean in MediaShield, how to set it up, and what to check when completion does not fire.

Key points

  • LearnDash video progression is a setting inside LearnDash. MediaShield completion is a feature of MediaShield Pro that talks to the course plugin.
  • MediaShield records milestones at 25, 50, 75 and 100 percent. A lesson completes at the first milestone at or above the Complete at % value, so a setting of 90 completes it at 100.
  • Completion works for logged-in students. Guests never trigger it.
  • Require enrollment to watch blocks students who are not enrolled in the course that holds the linked lesson.
  • Tutor LMS and LifterLMS link to lessons. LearnDash links to lessons and topics.
  • The completion link is a Pro feature. The protected player, login check and watch tracking are in the free plugin.

What is LearnDash video progression?

LearnDash lets you attach a video to a lesson or topic and use it to control progress. In the lesson or topic settings, you enable video progression, supply the video address and choose when the video shows relative to the lesson content. LearnDash can then keep the Mark Complete button hidden until the video has finished and, depending on your options, mark the lesson complete by itself when the video ends.

The details, such as which video sources it supports and which options appear, belong to LearnDash and change between versions. Check the current LearnDash documentation for the list. As a rule, the built-in feature works best with the platforms LearnDash names, and it needs the video’s player to report back to the page when the video ends.

What this gives you is progress control inside LearnDash. What it does not give you is access control on the video, a viewer watermark, a device limit or per-student watch data. Those are separate concerns, and that is where a protected player fits.

Why would I use something other than LearnDash’s own progression?

Several reasons come up in practice.

  • You want the lesson to complete at a point other than the very end. Some lessons end with a long outro, and requiring every second is frustrating. A threshold such as 75 percent is kinder.
  • You want the video protected as well. A student who is not enrolled should not be able to play the video at all, even if they find the page address.
  • You want the viewer identified on screen and a limit on devices per account.
  • You want watch data per student and per lesson, so you can see where students stop.
  • You host on several platforms and want one behaviour across all of them.

None of that makes LearnDash’s feature wrong. If it does what your course needs, use it. MediaShield adds a protection layer and a different completion rule on top of the lesson.

How does MediaShield complete a LearnDash lesson?

You link a video in the MediaShield library to a lesson. When a logged-in student watches far enough, MediaShield tells LearnDash that the lesson is complete.

The rule has several parts:

  1. Milestones. While a student watches, MediaShield records milestones at 25, 50, 75 and 100 percent of the video. Each milestone fires once per student per video, permanently. Rewatching does not fire it again.
  2. Complete at %. You choose a threshold for each video, or use a site-wide default. The lesson completes at the first milestone that is at or above your value.
  3. Logged-in students only. A guest viewing a video never triggers completion.

Because the milestones sit at four fixed points, the settings map like this:

You chooseThe lesson completes at
Use global defaultThe site-wide value (default 100)
100% (must watch entire video)The 100 percent milestone
90%The 100 percent milestone
75%The 75 percent milestone
50%The 50 percent milestone

That 90 row matters. There is no 90 percent milestone, so 90 behaves exactly like 100. If you want a lesson to complete before the very end, choose 75. The global setting offers 25, 50, 75, 90 and 100, and values below 10 are raised to 10.

Two other global switches sit in MediaShield > Settings under the LMS Integration card:

  • Auto-complete lessons is on by default. Turn it off and no lesson completes from video anywhere.
  • Require enrollment is on by default and acts as the master switch for the per-video enrollment checks.

How do I set up LearnDash video completion with MediaShield?

You need LearnDash active, the lesson created, MediaShield Pro installed and the video in your MediaShield library.

  1. Go to MediaShield > Videos and open the video. If it is not there yet, add it with Add New Video by pasting a YouTube, Vimeo, Wistia or Bunny address, or uploading a file. See add your first video.
  2. Set Protection Level to Standard or Strict. Completion relies on watch sessions and milestones, which Basic and None do not record.
  3. In the side column, find LMS Integration. It appears when LearnDash, Tutor LMS or LifterLMS is active.
  4. Choose the lesson. Lessons are grouped by course, and LearnDash topics are marked “(Topic)”.
  5. Set Complete at %.
  6. Tick Require enrollment to watch if only enrolled students should be able to play it.
  7. Click Update.

Each list offers up to 200 lessons, and up to 200 topics for LearnDash. A larger catalogue means some lessons will not appear in the list.

You do not need to place the video yourself. Once it is linked, MediaShield adds the player at the end of the lesson’s content. If the lesson already contains a [mediashield ...] shortcode, MediaShield leaves it alone so the video does not appear twice. To place the video elsewhere, paste [mediashield id=42] with your video’s own number where you want it.

Access rules still apply. If the visitor fails the login, role or enrollment check, no player is added.

Can only enrolled students play the video?

Yes, when you tick Require enrollment to watch. A student who is not enrolled in the course containing the linked lesson sees “You must be enrolled in this course to watch this video.” instead of the player. Administrators always pass, and guests are blocked.

Three details to know:

  • The check applies only to a video that has a linked lesson with the box ticked.
  • The master Require enrollment switch in Settings must be on. Turn it off and the checks stop on every video, even those with the box ticked.
  • If the course plugin is not available, for example because someone deactivated it, playback is allowed instead of locking everyone out.

For videos without a linked lesson, restrict by role or login instead. See who can watch.

How does this work with Tutor LMS and LifterLMS?

The same panel and the same rules apply. MediaShield detects whichever course plugin is active.

Course pluginWhat you can linkCompletionEnrollment check
LearnDashLessons and topicsAt the chosen milestoneYes
Tutor LMSLessonsAt the chosen milestoneYes
LifterLMSLessonsAt the chosen milestoneYes

The differences come from the course plugins themselves: what they call a lesson, how they list courses and how they record completion. In MediaShield you follow the same steps for each. If none of the three is active, the LMS Integration box does not appear on the video screen.

Learnomy works differently. The free plugin plays a MediaShield video inside a Learnomy lesson when the lesson’s content type is set to the protected video. Completion in Learnomy follows Learnomy’s own rules, not this Pro feature. See courses with Learnomy.

For the full list of what connects and in which edition, see course integrations.

LearnDash progression or MediaShield completion: which fits?

QuestionLearnDash video progressionMediaShield Pro completion
Where is it set?Lesson or topic settings in LearnDashThe video screen in MediaShield
What triggers completion?The video ending, per LearnDash’s optionsA milestone at 25, 50, 75 or 100 percent
Can it complete before the end?Depends on your LearnDash settingsYes, at 75, 50 or 25 percent
Does it block non-enrolled viewers from the video?No, that is a separate concernYes, with Require enrollment to watch
Viewer name on screenNoYes, from Standard protection
Device limit per accountNoYes, Max Concurrent Streams
Watch data per studentNoYes, in Viewers
Works for Tutor LMS and LifterLMSNo, LearnDash onlyYes

Pick LearnDash’s own progression when you only need the lesson gated by the video and you are content with the video sources it supports. Pick MediaShield when the video must be protected, you want a threshold other than the very end, or you run more than one course plugin or host.

Why is LearnDash video progression not working?

Problems here have a few repeating causes. Work through them in order.

  1. The video is not on a supported source. Check LearnDash’s documentation for what it accepts in the current version. A page that contains an embed LearnDash does not recognise will not report the end of the video.
  2. The address format is wrong. Paste the video’s own address, not a channel, a playlist or a share page.
  3. A script conflict. A caching, minify or optimisation plugin may have combined or delayed the player script. Clear caches, then exclude the scripts from optimisation.
  4. The student is not logged in or not enrolled. Completion needs an enrolled user.
  5. A theme or page builder prints the video itself. LearnDash hooks into the lesson content. A video placed by a builder widget outside that content may not be seen.
  6. Two videos on one page. The lesson may be waiting on a different video from the one the student watched.
  7. Your own settings. If the lesson requires the button to be hidden until the video ends, the student may be skipping to the end and landing before the final seconds.

With MediaShield, check these instead when a lesson does not complete:

  • Protection Level. It must be Standard or Strict. At Basic or None, no milestone is recorded.
  • Auto-complete lessons. It must be on in MediaShield > Settings.
  • The threshold. A 90 setting waits for 100 percent. Choose 75 if you meant earlier.
  • The student. Guests never trigger completion, and milestones fire once per student per video. A student who already passed the milestone in an earlier session will not fire it again.
  • The linked lesson. Reopen the video and confirm the lesson shows in the LMS Integration box. Lists stop at 200 entries.

The Pro troubleshooting guide lists more checks.

What MediaShield completion does not do

  • It is not a skip lock. Completion fires at a watched percentage. A student can still skip around. MediaShield’s own Prevent Skipping Ahead player option is separate and set per video.
  • It does not mark partial credit. The lesson is either complete or not.
  • It works on lessons, and topics in LearnDash. It does not complete a whole course, a quiz or a section.
  • It needs a logged-in student. Guest viewing is recorded but does not complete anything.
  • Platform videos keep their host address. For YouTube, Vimeo, Wistia and Bunny, the video ID stays in the embed. Gating controls who reaches the player. It does not hide the ID. See unlisted YouTube videos for courses.
  • The watermark is an overlay. It shows the student’s name on screen and does not prevent screen recording.

Free or Pro?

The free plugin includes the protected player, login and role checks, the viewer watermark, resume, concurrent stream limits and watch tracking. The link from a video to a LearnDash, Tutor LMS or LifterLMS lesson, with completion and the enrollment check, is Pro. Licensing is for updates only, and Pro features keep working without an active key. See free vs pro and pricing.

Common questions

Does LearnDash have built-in video progression?

Yes. In a lesson or topic’s settings you can enable video progression and attach a video, so the student has to finish it before progressing. Which video sources it supports depends on your LearnDash version, so check LearnDash’s documentation.

Can MediaShield mark a LearnDash lesson complete?

Yes, with MediaShield Pro. Link a library video to the lesson, set Complete at %, and the lesson completes when a logged-in student reaches the matching milestone. Guests never trigger it.

What does Complete at 90 percent do?

It completes the lesson at the 100 percent milestone. MediaShield records milestones at 25, 50, 75 and 100 only, and the lesson completes at the first one at or above your value. Choose 75 to complete earlier.

Does it work with Tutor LMS and LifterLMS?

Yes. MediaShield Pro detects Tutor LMS and LifterLMS and offers their lessons in the same LMS Integration box. The completion rule and the enrollment check work the same way.

Can I stop students who are not enrolled from playing the video?

Yes. Tick Require enrollment to watch on the video. A student who is not enrolled in the linked lesson’s course sees a message instead of the player. Administrators always pass.

Will the video appear on the lesson page automatically?

Yes. Once the video is linked, MediaShield adds the player at the end of the lesson content. If the lesson already has a MediaShield shortcode, it leaves it as it is so nothing shows twice.

No. Linking videos to LearnDash, Tutor LMS or LifterLMS lessons is a Pro feature. The protected player and watch tracking are in the free plugin. See pricing.

What customers say on Trustpilot

WBComDesigns is amazing!

WBComDesigns is amazing. The WP plugins and themes are of top notch quality with lots of features and updated very frequently. Supports are very responsive and helpful. I use Reign with TutorLMS, and the experience is surprisingly smooth. The recently launched BuddyNext Pro and MediaShield Pro are…

Hoang PhanVN