Hey folks,
This is one of those things that rarely comes up - but when it does, it can cause some confusing behaviour, especially around course resume and bookmarking. Here’s a simple breakdown.
What is suspend_data?
In SCORM, suspend_data is used to store a learner’s state so they can resume where they left off. This can include things like lesson location, progress, and interaction state. When a learner exits and returns, the LMS sends that data back to the course so it can restore their session.
The important bit: data limits
SCORM itself defines limits on how much data can be stored in the suspend_data field, depending on the version:
-
SCORM 1.2: 4,096 characters
-
SCORM 2004 (2nd Edition): 4,000 characters
-
SCORM 2004 (3rd & 4th Edition): 64,000 characters
In practice, not all LMSs strictly enforce these limits - but many older or more rigid systems (especially with SCORM 1.2) still do.
How Compozer handles this
Compozer compresses suspend_data before sending it to the LMS. This significantly reduces the size of the data being stored, which means most courses won’t come anywhere near the limit - even in SCORM 1.2.
Because of this compression, if you ever inspect suspend_data in an LMS debug log, it will appear encoded and not human-readable. That’s expected behaviour.
What happens if you exceed the limit?
If the LMS enforces a limit and it’s exceeded, you may see issues like:
-
Learners not resuming in the correct place
-
Progress not being saved properly
-
In some cases, data being truncated or ignored
How to avoid it
If you’re working with a large or complex course, here are a few reliable ways to stay within limits:
-
Use SCORM 2004 (3rd or 4th Edition)
If your LMS supports it, this is the easiest fix. The higher limit (64,000 characters) removes most practical constraints. -
Break large courses into smaller modules
This reduces how much state needs to be stored at any one time and is often better for learners anyway. -
Be mindful of very interaction-heavy builds
Courses with lots of tracked interactions or complex branching can increase suspend_data size over time.
In most cases, Compozer’s compression means you’ll never hit these limits. But if you’re seeing resume issues in larger builds - especially in SCORM 1.2 - this is one of the first things worth checking.