Skip to content

How Tracking Works in SCORM 1.2?

Tracking eLearning courses, learner’s status and scores is of utmost importance for training managers, as it helps them in evaluating and improvising their training programs. This is why, more and more organizations are setting up an LMS that can help in tracking and organizing learning activities.

But having an LMS is just not enough to track the learning experiences of learners. The information sent to and recalled from the LMS can be stored, only if the developer defines some specific functions and variables and the courses are made compatible with SCORM 1.2 or 2004.

Generally, all the Authoring tools like Lectora, Articulate Studio and Storyline etc call for the same kind of variables and functions but are hidden and built in the published files. But when it comes to flash and other HTML/ Javascript tools, the developer needs to write the coding to call and retrieve those SCORM functions.

Let us now discuss how tracking actually works in SCORM 1.2 and see the list of tracking variables that usually all kind of LMSs supports to be compatible with SCORM 1.2.


Bookmarking is the feature that assists learners to continue the course from the slide where they have logged out. The variable “cmi.core.lesson_location” is used for storing the location of the learners. This SCORM variable is capable of storing a thread of up to 255 characters that can be used by the developers to recall and take the learners to the last page that they have visited.

Most of the developers prefer the naming structure such as “m01l01s01” or “m_01_l_01_p_01” wherein each dash represents another subsection to the previous page or number.

Course Status:

The most important capture that training managers would be interested in, is the status of the learners. We can set many status values such as “not started”, “in progress”, “completed”, “incomplete”, “passed”, and “failed” etc. in the LMS.

The SCORM variable “cmi.core.lesson_status” is the only variable that SCORM 1.2 and AICC use to track and store the status.

In SCORM 1.2, whenever a learner logs into the course, the developer needs to update the status value of this variable from “not attempted” to “incomplete”. After that, the developer can either define the status to show either “passed” or “completed,” but not both. However this limitation is addressed in SCORM 2004.

i.e. in SCORM 2004, the values of completion and success can be tracked separately. , You can show that a user “completed” viewing the content but “failed” the final assessment.

Here are the values:

incomplete/completed: Until the user successfully completes or pass the course

incomplete/passed: If the user has failed the assessment, it just sends the current status as “incomplete”

passed/failed: Once user successfully pass the assessment, the course will move to the user’s transcript and re-register to take it again


Once learners complete the eLearning course and attempt the assessments and attain the scores, these scores can also be stored in the LMS by defining the variable “cmi.core.score.raw”. The assessment score can also represent the learner’s percentage and the value should be between 0 to100.

But this storing can be tricky as many times an auto generated response of the LMS side can overwrite the cmi.core.lesson_status variable. Therefore, the developer should take some time to set the completion criteria or status carefully.

These are only some SCORM variables that aid in tracking and storing the learners status, location details and scores. I will be discussing more such variables in my next blog. So stay Tuned.

Do share if you wish you have any comments on the same.

The State of Learning: 2023 and Beyond