If you commission or build e-learning, the tracking standard you choose quietly decides what your LMS can report, which authoring tools you can use, and how painful your next platform migration will be. SCORM has dominated the field for more than two decades, xAPI arrived promising to replace it, and cmi5 now bridges the two. Yet we still meet learning teams publishing everything as SCORM 1.2 by default, not because it fits their needs but simply because it has always worked everywhere they have tried it.
This guide explains what each standard actually tracks, how LMS and LRS compatibility differs in practice, and how to choose for a specific programme rather than by habit. At Emayyam we convert, publish, and test courseware across all of these formats for clients with very different platform constraints, so the recommendations here come from production work rather than vendor brochures. Where the right answer genuinely depends on your toolchain, we say so explicitly instead of pretending one standard wins every time.
What SCORM Tracks, and Where It Stops
SCORM 1.2 packages a course as a zip file with an XML manifest and communicates with the LMS through a JavaScript API running in the browser. It reports a small, well-defined data set: a lesson status such as completed, passed, or failed, a score, session and total time, and a suspend-data string that lets a learner resume where they left off. That model is simple, predictable, and supported by virtually every LMS ever shipped, which is exactly why it refuses to die two decades after release.
SCORM 2004 extended the model with separate completion and success statuses, larger suspend-data capacity, and sequencing rules that control how learners move between SCOs within a package. In our experience, sequencing is the least used and least consistently implemented part of the specification, so test it carefully on your target platform before relying on it. Both SCORM versions share the same hard boundary: tracking happens only while the learner sits inside a course, in a browser, connected to the LMS. Anything that happens outside that window is simply invisible to your reports.
xAPI and the Learning Record Store
xAPI, the Experience API originally known as Tin Can, takes a fundamentally different approach. Instead of a course talking to an LMS, any activity provider sends statements built around an actor, a verb, and an object, plus optional context and results, to a Learning Record Store over HTTP. Because statements are structured JSON delivered to an endpoint, xAPI can record simulations, mobile app usage, offline sessions synced later, classroom attendance, video interactions, or on-the-job performance support moments that never touch a traditional course player.
The LRS is the critical new component in this picture. It may be built into your LMS or run as a standalone system feeding analytics dashboards and data warehouses. The trade-off for all this freedom is that xAPI deliberately says very little about launching content or what completion actually means, so two vendors can implement it in ways that do not line up at all. Without an agreed vocabulary and disciplined statement design, teams collect an impressive volume of data and surprisingly little meaning from it.
cmi5: Structure Meets Flexibility
cmi5 is best understood as a rulebook layered on top of xAPI for LMS-launched content. It defines how a course is packaged, how the LMS launches and authorizes each assignable unit, how sessions are opened and closed, and which verbs carry formal meaning: launched, initialized, completed, passed, failed, and terminated. The result behaves like SCORM from an administrator's point of view, with enforceable completion and scoring semantics, while storing rich xAPI statements in an LRS underneath where they remain available for deeper analysis.
That combination makes cmi5 the natural successor for conventional courseware: you keep the manageability that made SCORM successful but escape its browser-only, LMS-only tracking boundary. The caveat is adoption. Authoring tool support has improved considerably in recent years, but LMS support remains uneven, so verify the entire chain of authoring tool, LMS, and LRS before committing a programme to cmi5. In our publishing work we still test every cmi5 package against the actual target platform before rollout, because implementations continue to differ in small but disruptive details.
Compatibility: Check the Whole Chain
Compatibility is where theory meets procurement. Practically every LMS on the market plays SCORM 1.2 reliably, and most handle SCORM 2004, although sequencing behaviour varies between platforms. xAPI requires an LRS, which your LMS may or may not include, and an LRS alone cannot launch or manage content, so it never replaces an LMS by itself. cmi5 needs explicit support on both the authoring side and the platform side. Before you standardize anything, verify each link in the chain with a real test package rather than a feature checklist on a sales sheet.
- Confirm which SCORM 2004 edition your LMS actually supports
- Ask whether the built-in LRS exposes statements to external analytics tools
- Test resume behaviour and suspend-data limits with your longest course
- Check how each of your authoring tools exports every standard you need
- Pilot packages in a conformance sandbox before mass publishing
How to Choose
Start from the learning experience and the reporting question, never from the technology. If everything happens inside browser-based courses and you only need completion, score, and time, SCORM 1.2 remains a perfectly rational choice with the broadest compatibility of anything on this list. If you need controlled navigation across multiple SCOs, or separate completion and success reporting for compliance purposes, SCORM 2004 earns its extra complexity, provided your platform implements it faithfully and your authoring tool exports it cleanly.
Choose xAPI when learning happens beyond the course player: mobile and offline delivery, simulations, observational assessments, or when leadership wants one analytical view across many systems. Choose cmi5 for newly built, LMS-delivered courseware whenever your platform supports it, because it future-proofs your data without sacrificing administrative control. Mixed estates are completely normal; many of our clients run SCORM for stable legacy titles while publishing new builds to cmi5 or xAPI side by side, and that pragmatism serves them well.
Migration Considerations
Migration is rarely a file conversion. SCORM packages do not transform into xAPI or cmi5 automatically; the reliable route is republishing from the original authoring tool source files, which makes locating and archiving those source files your very first migration task. Historical SCORM records also will not map cleanly into an LRS, so plan to keep legacy reporting readable in its original form rather than forcing old completion data into new statement formats. Budget time for retesting resume behaviour, scoring, and completion rules on every republished title, because subtle differences surface in exactly those places.
Our practical advice is straightforward: keep SCORM 1.2 for stable legacy content, adopt cmi5 for new LMS-launched courses where the toolchain supports it, and reserve raw xAPI for experiences a course player cannot reach. Run a small pilot through every system in the chain before you commit a full catalogue, write your statement vocabulary down before the first course ships, and archive authoring sources as a matter of policy. Standards reward planning far more than they reward enthusiasm.