How Materials Are Marked Complete
This article explains the Mark Complete & Next button, when it is available for each material type, what gets completed automatically, and what never counts toward progress at all.
The Mark Complete & Next button
When a learner opens a material, the button sits in the bar below the player or viewer, next to Download and Ask a Doubt. It does two things in one click: it records the material as viewed, and it moves the learner to the next item.
There are only two states: available (green) and unavailable (greyed out, with a tooltip explaining why).
There is no "completed" state on the button and no way for a learner to un-complete a material. The button looks the same after completion and stays clickable, so a learner revisiting a lesson can click it again.
The one global rule: the video threshold
Only one completion rule is configurable, and it is set once for the whole organization.
Go to Settings → General Preferences → Course Content Settings and set Complete and Continue video threshold (%).
| Value | Effect |
|---|---|
| 0 | No gate. The button unlocks as soon as playback starts |
| 1 to 100 | The learner must watch that percentage of the running time before the button unlocks |
The default value is 30% unless changed. The threshold is organization-wide. It cannot be set per course, per batch, or per material.
While the button is locked, the learner sees a tooltip reading "This will be enabled after you watch {threshold percentage}% of the video".
This threshold applies to video and audio only. Every other material type can be marked complete the moment it opens.
Skipping ahead does not count
Watch time is counted only when playback moves forward second by second. If a learner drags the scrubber forward, the skipped seconds are not credited, so they still have to watch the required amount. Seeking itself is not blocked: learners can scrub freely, it simply does not earn them progress.
Watch time is also cumulative across sessions. Time already played counts toward the threshold, so a learner who watched half a video yesterday does not start from zero today.
Material type breakdown
| Material type | Button shown | What enables it | Marked automatically |
|---|---|---|---|
| Video | Yes, locked on open | Watching the threshold percentage, minus any time already recorded. If the threshold is 0, it unlocks as playback starts | Yes, when the video plays to the end and the threshold has been met |
| Audio | Yes, locked on open | Same threshold rule as video | Yes, when the audio plays to the end, regardless of how much was listened to |
| Yes | Available immediately | Not on web, but automatically on app on open | |
| Image | Yes | Available immediately | Not on web, but automatically on app on open |
| Doc and Sheet | Yes | Available immediately | Not on web, but automatically on app on open |
| Slide (PowerPoint) | Yes | Available immediately | Not on web, but automatically on app on open |
| Epub | Yes | Available immediately | Not on web, but automatically on app on open |
| Zip | Yes | Available immediately | Not on web, but automatically on app on open |
| Text/HTML | Yes | Available immediately | Not on web, but automatically on app on open |
| Link/Embed, Youtube, Vimeo | Yes | Available immediately | Not on web, but automatically on app on open |
| SCORM Zip | Yes | Unlocks once the package reports a status of completed, passed, or failed, or if the learner has opened the material before. | Not on web, but automatically on app on open |
| External Tool (LTI) | Yes | Available immediately | Not on web, but automatically on app on open |
| Form (feedback form) | No button | Not applicable | Yes, on submitting the form |
| Exercise, Assignment, Programming Assignment, AI Agent | No button | Not applicable | See Assessments section below |
| Any material set to App only | Yes, permanently locked on web | Cannot be completed on the web. The learner has to use the mobile app | No |
PDF reading position
For PDFs the learner's page position is remembered, so they resume where they left off. It does not gate completion: a learner does not have to reach the last page before marking a PDF complete.
Assessments
Exercises, assignments, programming assignments, and AI Agent (viva) materials have no Mark Complete button. They complete themselves, but only on a pass.
Submitting an assessment is not enough. It counts as complete once it has been evaluated and the learner has met the Passing Percentage set on the assessment. A failed attempt, or one still waiting to be graded, contributes nothing to course progress.
There is one exception. If the assessment's Passing Percentage is 0, the attempt counts as passed the moment it is submitted, before anybody grades it. If you use 0 as a placeholder on assignments, expect progress to move on submission.
Result Declaration controls what the learner is shown, not what progress records. With results held back, a learner can be told "We will notify you once the results are declared" while their course progress has already moved. The two are not in sync, which is a common source of confused support tickets.
What the learner sees in the meantime:
Before attempting: the question count, duration, passing percentage, and attempts left.
After submitting, while awaiting results: "Results will be shared soon..."
After evaluation: "Congrats, You passed!" or "Last attempt failed!" with the grade.
This is the single most common progress question from customers. If learners report that a course "will not go past 90%", check for an assessment sitting unevaluated in Submissions. Grading it moves everybody.
Live sessions
Live sessions are not part of course content. They live on the Sessions tab, they have no Mark Complete control, and neither attending a session nor watching its recording contributes to content progress. Session attendance is tracked separately in the attendance reports.
What else marks a material complete
Three behaviours surprise people:
Downloading certain hosted files records the material as viewed, so the download alone completes it.
Clicking Mark Complete & Next again on an already completed material records another view. The learner's progress does not change, but if the material has a Maximum views limit, re-visiting burns through it.
Re-submitting a feedback form that was already submitted also records a view, even though the submission itself is rejected. On a form with a view limit this can lock the learner out.
Leave Maximum views on Unlimited unless you have a specific reason to restrict a material. A view limit set casually on a video is the most common cause of a learner reporting "View limit reached" on content they were only revising.
What never counts toward progress
Opening an external link, YouTube video, or external tool. Nothing is tracked.
Reading a PDF, document, or text page without clicking the button.
Video seconds that were skipped over.
Watching a live session recording from the Sessions tab.
Any material restricted to the mobile app, when the learner is on the web.
App-only materials still count in the denominator of the progress calculation. A learner who only ever uses the web can never reach 100% in a course containing one, and therefore never triggers a completion certificate. Either keep app-only materials out of courses that web learners take, or make sure those learners are using the app.
When the button is unavailable
| Reason the learner sees | What it means |
|---|---|
| "This will be enabled after you watch X% of the video" | The watch threshold has not been reached yet |
| "Please purchase the {product} to mark this material as complete" | It is a PDF being viewed in a free preview |
| Scheduled Content, with "Resource Available from" and a date | Drip is holding the material back until that date, shown in the learner's own time zone |
| Prerequisite(s) have not been completed | A material, section, or module set as a prerequisite is still outstanding |
| Content Unavailable | The material has been unpublished, or is outside its availability window |
| View limit reached | The learner has used up the Maximum views set on the material |
| Video watch limit reached | The module's watch-time budget is exhausted |
| An app-only message | The material is set to Allow access on: App |
How progress percentages are calculated
Course progress is simply the proportion of items a learner has finished:
Course progress = (assessments passed + materials viewed) / (total assessments + total materials)
Every item counts equally. A two-minute PDF is worth the same as a two-hour video, and an unpassed assessment counts as zero.
Materials that are unpublished or hidden for a batch drop out of the total, so hiding a material raises everybody's percentage. Prerequisites, free-preview items, and anything held back by drip all stay in the total.
Learners see a Course Progress bar in the course player, a percentage on each module, and a green tick on every completed material. If milestone celebrations are enabled on the course, they also get a congratulations screen at 25%, 50%, 75%, and 100%.
What you can see and change as an admin
| Where | What it shows |
|---|---|
| Batch → Content Progress | A grid of learners against materials, showing the number of views per material, not a percentage |
| Learner profile → Overview → Courses | Per-material Total Views, Last Viewed, Time Spent, and a Completed or Pending status |
| Reports → Batch Module Progress | Learners bucketed by progress band, from Not Started through to Completed |
You can reset an individual view record from the Content Progress grid (click a cell, then Reset in the View History drawer), which frees up a consumed view. If a module has a watch-time limit you can also grant more time with Reset Watch Time.
Resetting a view is immediate, has no confirmation step, and cannot be reversed from the admin app.
[!Important] Resetting a view does not un-complete the material and does not reduce the learner's progress. It only gives back one of their Maximum views so they can open the material again. The learner's status stays Completed.
There is no way for an admin to mark a material complete on a learner's behalf, and no bulk reset of a learner's progress.
Controlling the order learners move through content
Completion drives access when you set up a path:
Set as Prerequisite on a material or section: "Learners will be required to complete this material before progressing to subsequent content."
Make Modules Prerequisite on the course: "learners must complete each module in sequence, finishing one before gaining access to the next."
Drip: releases content a set number of days after enrollment or batch start, or on a fixed date.
A prerequisite is satisfied differently depending on what it is:
A material prerequisite is cleared once the learner has viewed it, by whatever route completes that material type.
An assessment prerequisite is cleared once the learner has passed it. Attempting it is not enough.
Certificates
If automatic certificate generation is on, the criteria is a Completion(%) figure on the certificate. The check runs when a learner completes a material for the first time, and if they qualify the certificate is generated and offered to them there and then in the course player.
Because the check is tied to completing a material, a learner whose last outstanding item is an assessment may not see the certificate the moment it is graded. Opening any material afterwards triggers the check.
There is no attendance-based criterion for completion or certification. Attendance appears in reports only.