How Tracking Works in SCORM 1.2? – Part 2


This blog post shares some tracking variables that demand the LMS to track the data and information within the course

How Tracking Works in SCORM 1.2?

As discussed in my earlier blog, besides having an LMS and courses compatible to SCORM, the developer has to define some specific variables to make sure that the information sent to, and recalled from the LMS is stored.

I have also discussed in detail how tracking actually works in SCORM 1.2 and shared 3 tracking variables that are supported by all kinds of LMS’s which include:

  • “cmi.core.lesson_location” for bookmarking/storing location
  • “cmi.core.lesson_status” to track and store the status.
  • “cmi.core.score.raw” to track and enable storing of Scores

Let us now see some more of such variables.



Training managers also expect the LMS to track the time spent by the learner on the courses. And this data can be tracked if the developer defines the time variable cmi.core.session_time. Using the SCORM variable, the LMS tracks the time that the learner accesses a particular eLearning course and even the first and last accessed dates.


The developer can also ask the LMS to store the total time using cmi.core.total_time. The LMS takes in the core session value and adds it to the previous timings to calculate and display the total time that the learner has accessed a particular eLearning course.

Knowledge Check:

The developer can also make sure that the knowledge check scores are tracked and stored in the LMS. This is called interaction cmi.interactions._count. Using this interactivity variable, the details of the knowledge check and scores are stored in the LMS. The LMS can also store the correct and user response.

Additional Variables:


As per the SCORM standards, only the variable “suspend data” is a large string. It can store up to 4000 characters. Using this variable, the developer can ask the LMS to track the state of the eLearning course, so that it can be can be reorganized when the learner returns to the course.

However there are some kinds of restrictions on using certain characters and has a limit, even though it’s a large string. The only way to store such kind of information is to use a combination of key/value that is divided by a delimiting character.

For example:

var suspend = “cmi.suspend_data:”+visitedslides+”^”+currentSlide+”^”+ noofattempts;

For some clients, where there is a lot of data to be stored and retrieved, the developer can find it easy to use XML changed to a string. He/she can effortlessly retrieve the string, change it into XML, and then use the data functions to retrieve the required information of the eLearning courses.

So, these are some tracking variables that demand the LMS to track the data and information within the course. Hope you got some idea on how actually tracking works in SCORM. Please do share if you have any comments.

How to Choose the Right Learning Management System

Recent Comments

  • http://karishan

    8/25/2014 at 5:00 pm


    i have scorm course with number of slides and next and previous button, when i clicked on button the suspend_data changes in the console , so i need to get the current slide number . please help me.

  • http://Girish

    8/29/2014 at 11:38 am

    Dear karishan,

    Thanks for reading my blog.

    You can use lesson_location for track current slide. The variable “cmi.core.lesson_location” is used for storing the location or current slide 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.

    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