Questions answered by this guide
- What's the difference between SCORM, xAPI, and cmi5?
- Which publishing format should I use for my course?
- Does my LMS support xAPI or cmi5?
- Why does completion status sometimes not register in my LMS?
What you'll learn
- SCORM is the oldest and most universally supported, but only tracks completion, score, and time inside one course session
- xAPI (Experience API) tracks much richer data, including activity outside the LMS itself, but needs a Learning Record Store (LRS), not every LMS has one
- cmi5 combines xAPI's richer tracking with SCORM-like launch and completion structure, a middle ground, with growing but not universal LMS support
What's inside
Instructional designers and L&D teams deciding which publishing format to export a course in
- 01SCORM: the universal default
- 02xAPI: richer data, more infrastructure
- 03cmi5: xAPI's structure, SCORM's simplicity
- 04Choosing based on your LMS and reporting needs
- 05Testing before you publish
Why it matters
Choosing a publishing format isn't just a technical checkbox, it determines what your LMS can actually report on later: whether you can see completion and score (SCORM), or richer data like which slides a learner revisited or how long they spent on a specific interaction (xAPI/cmi5). Picking the wrong one means discovering the gap in your reporting after the course has already launched.
When you'll encounter this
- You're publishing a course for the first time and need to choose an export format.
- Your LMS reports show a course as "incomplete" even though learners say they finished it.
- Someone asks for more detailed learner activity data than your current SCORM reports provide.
Best practices
- Default to SCORM 1.2 or SCORM 2004 unless you have a specific reason not to, it's supported by essentially every LMS and is the safest choice when you're not sure.
- Choose xAPI specifically when you need to track activity your LMS's SCORM reporting can't capture, interactions inside the course, activity outside a traditional LMS, or data across multiple systems, and confirm your LMS actually has a connected Learning Record Store first.
- Consider cmi5 when you want xAPI's richer data model but also want SCORM-like predictable launch and completion behavior, check your specific LMS's cmi5 support before committing, it's less universal than SCORM.
- Whichever format you choose, test that completion actually registers correctly in your real LMS before considering the course launched, not just that the export completed without errors.
Common mistakes
- Choosing xAPI because it sounds more modern, without confirming the LMS has a Learning Record Store to actually receive that data.
- Assuming a successful publish/export means completion tracking will work correctly in the destination LMS, that has to be tested separately.
- Not knowing which format a course was actually published in when troubleshooting a reporting problem.
Practical checklist
- The chosen format matches what your specific LMS actually supports and can report on.
- If choosing xAPI or cmi5, the LMS's Learning Record Store (or cmi5-compatible player) has been confirmed, not assumed.
- Completion, score, and time tracking have been tested in the real destination LMS, not just verified in the authoring tool's preview.
- Whoever manages LMS reporting knows which format the course was published in.
How A11yCheck reviews this
A11yCheck detects whether a course's SCORM API is present and whether completion status is actually set during a scan, a real, narrow check for one common failure mode (a course that never reports itself complete). It does not currently validate xAPI or cmi5 statements or LRS connectivity, that still needs to be tested directly in your LMS.
Frequently asked questions
Which format should I use if I'm not sure?
SCORM, it's the safest default with the broadest LMS support. Move to xAPI or cmi5 only when you have a specific reporting need SCORM can't meet, and you've confirmed your LMS can actually receive that data.
Why does my course show as incomplete in the LMS even though I finished it while testing?
This usually means the course's completion trigger never actually fired the SCORM (or xAPI/cmi5) completion call, a real, common publishing bug, not a reporting delay. Verify the specific trigger that's supposed to set completion status, and test in the real LMS, not just the authoring tool's preview.
Can one course support multiple formats?
Most authoring tools, including Storyline and Rise, let you export the same course in different formats, but you choose one per export/publish, and each destination LMS needs to actually support whichever one you send it.
Related Guides
Before You Publish Checklist→
A short checklist to run through before you publish any Storyline or Rise course. It covers accessibility, course quality, and course engagement in one pass.
Course Quality Guide→
What course quality means beyond accessibility: broken links, inconsistent styling, and structural problems that make a course feel unpolished.
Course Review Checklist: A Role-Based Process for Reviewing eLearning→
Before You Publish Checklist is one person's fast pass right before hitting publish. This is the process a course goes through to get there: who reviews what, in what order, before anyone signs off. Use this when more than one person touches a course before it launches.
Summary
SCORM is the safe, universal default. xAPI offers richer tracking but needs a Learning Record Store your LMS may not have. cmi5 is a middle ground with growing but not universal support. Choose based on what your specific LMS can actually receive and report on, and always test completion tracking in the real LMS before calling a course launched.
Review your course before you publish it.
A11yCheck reviews Storyline and Rise courses for:
- Accessibility
- Course Quality
- Course Engagement
www.a11ycheck-dev.com