Skip to content

Learners lose progress when they close the course window

Updated 16 October 2026

Quick fix

Browsers give a closing page very little time, so anything the course saves only at the end can be lost, even the completion.

  • Add an Exit button and tell learners to finish with it. Steps.
  • Make sure it saves as it goes, not only at the end. How to see it.

Drop the zip into Alder (free, nothing is uploaded) and leave partway to see what your course saves on the way out.

Add an Exit button in Storyline, Rise or Captivate

  1. Storyline: add an Exit button

    Add an Exit button to the last slide with an “Exit course” trigger. Some browsers won't let the course close a window the LMS opened, so also tell learners on that slide to close the window. Articulate suggests editing the SCORM driver only when the trigger does not close the window.
  2. Rise: turn on the exit link

    In Publish → LMS, turn on “Exit Course Link”.
  3. Captivate: add an exit button

    Add a button on the last slide that exits the course.
  4. Tell learners to use it

    Say on the last slide to finish with the Exit button. ELB Learning recommends encouraging learners to click it before they close the window, and Docebo recommends ending the course with a Close or Exit button.
  5. Republish and check again

    Drop the new zip into Alder, run it to the end, leave with the new button, and check “Course told the LMS it was done”.

Check the zip before you upload it again (free)

Alder can't close a real browser tab or slow down your network, so it can't promise what a given browser keeps. It shows whether your course saved along the way, and whether it saved and finished while closing.

  1. Drop the published zip

    Open Alder and drop the zip. For a Storyline course with no exit link and no exit trigger on any slide, the findings include TOOL-011, “No Exit button: learners leave by closing the window”.
  2. Leave partway

    Click “Launch the course”, go a few slides in, and press “I'm done”. Alder unloads the course as if the learner had closed the window, so any “save on exit” code runs, and waits a quarter of a second for a finish call made while the page closes.
  3. Read the end of the call log

    Click “Show the technical log” and scroll to the bottom. Look for saves (LMSCommit or Commit) after each slide, and for what happened once the page started closing.

    The end of the call log after leaving Alder's sample course partway: as the page closes, the course sets session_time and exit suspend, saves with LMSCommit, ends with LMSFinish, then the page unloads and the session ends.
    Alder's sample course saves on every slide, then saves again and finishes as the page closes.
  4. Check “Course told the LMS it was done”

    Under “Result details”, “How the course was left” and “Course told the LMS it was done” sum it up. If the course never finished, the findings include RUNTIME-003, “The course never told the LMS it was finished”. If it saved only at the end, RUNTIME-004 says so.

    Result details after leaving the sample partway: when the learner comes back, picks up where they left off; saved progress 28 of 4,096 characters, 3 saves this session; how the course was left, paused so the learner can come back; course told the LMS it was done, yes.

Even then, a closed tab depends on the browser: only the saves made along the way are certain.

Why it happens

Learners rarely press an Exit button; they close the tab, the browser, or the LMS's own close button. The course then has to do its last jobs while the page goes away: save the latest progress, and tell the LMS the session is over (the “finish” call, LMSFinish in SCORM 1.2 and Terminate in SCORM 2004).

What survives when a learner closes the tabWhile the course runs it saves on slides 1, 2 and 3, and those saves are kept. When the learner closes the tab, the final save and the call that ends the session have to happen while the page closes, and may not arrive. What was saved along the way is kept; what the course saves only on close can be lost.WHILE THE COURSE RUNSSlide 1: the course savesKeptSlide 2: the course savesKeptSlide 3: the course savesKeptThe learner closes the tabWHILE THE PAGE CLOSESThe final save, and the callthat ends the sessionMay not arriveSaved along the way: kept.Saved only on close: can be lost.
What a course saved along the way is safe. What it leaves for the moment the page closes is not.

The course saves only when it finishes. Some courses never ask the LMS to save (the “commit” call) until the very end. If the browser closes first, nothing from that visit is saved: not the bookmark, not the progress.

Browsers cut short what a closing page can do. Since Chrome 80 (2020), Chrome no longer allows the old way of sending data while a page is being closed. ELB Learning's note on the change says progress, variables and completion status may be lost when learners close a course with the browser's close button, in Chrome, Edge or Firefox (ELB Learning). How much is lost depends on the LMS: many save regularly while the course runs.

There is no Exit button. Then closing the window is the only way out, so the last save and the finish call always happen at the worst moment.

The LMS waits for the course to finish. Some LMSs only record completion once the course says it is done. Docebo's documentation says it marks SCORM content complete when the learner presses the course's own Close button, and warns that closing the window may mean the progress is never sent (Docebo help). Articulate also recommends an exit button for SCORM 2004, where the learner needs to fully exit before completion shows in LMS reports (Articulate: Troubleshooting LMS Issues).

Still not working?