How Tracking Works in SCORM 1.2?


This blog post discuss how tracking actually works in SCORM 1.2 and the list of tracking variables that usually all kind of LMSs supports.

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.

How to Choose the Right Learning Management System

Recent Comments

  • http://Dollah

    8/27/2014 at 8:46 am


    Thanks for the info. I have a question. Its more in the technical side of scorm, i think.

    Currently we’ doing a e-learning project that involve flash, articulate and scorm. What we’re doing is we developing a content using articulate based on the flash version. So, the LMS will have 2 version. One is desktop version where the LMS will display the flash content, then the mobile version where the LMS will display the articulate version.

    Now, the thing is, the client wants the bookmark for both versions sync together. I manage to get the lesson complete in sync, but for the lesson_location, it is still different.

    Is there any way to do this? Hope to here from you soon. Thanks in advance.

  • http://Girish

    8/29/2014 at 11:35 am

    Dear Dollah,

    Thanks for reading my blog.

    You can use suspend_data for track bookmarking the only variable “suspend data” is a large string. It can store up to 4000 characters.

    I hope to answer your question. Please let me know if you have any doubts.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Copy link