The following article is written by guest blogger Devlin Peck, an instructional designer and eLearning development consultant. Learn more on Devlin Peck’s website. To submit a guest blog you’ve written, fill out our form

When I started my instructional design and eLearning development practice, I spent the majority of my time working in Articulate Storyline. Like many others in this space, I built my business by designing engaging and effective eLearning. However, I quickly realized that I didn’t have the right data to make these claims.

I could collect quiz scores and completion data with the standard SCORM specification, but this fell short for many of the learning experiences that I was designing. For example, I wanted to know which choices users were making in the branching scenarios. I wanted to know whether or not they were viewing the optional resources and videos, and I wanted to know if they were having trouble with any particular interactions or activities. SCORM data didn’t help with any of this.

Around this time, I had been hearing more and more about the Experience API (xAPI). I decided to look into it further to see if it would help me accomplish my data-collection goals.

Learning how to implement xAPI

After researching the xAPI basics, I learned that xAPI was much more capable than SCORM. I even found that Articulate Storyline had out-of-the-box xAPI reporting, but this data was still extremely limited (and only slightly more valuable than SCORM data).

To collect the specific data that I was looking for, I realized that I would need to send custom xAPI statements with JavaScript. To learn more about how to do this, I decided to join TorranceLearning’s xAPI Cohort. The cohort discusses xAPI at a high level and facilitates working groups who tackle different xAPI projects of the group’s choosing.

Fortunately for me, Alexander Salas had created a working group that focused on building an xAPI-enabled eLearning escape room in Articulate Storyline 360. Since this aligned so well with my goals, I joined. And, after Alex learned that I had solid web development skills due to building my portfolio website from scratch, he suggested that I serve as the group’s JavaScript Lead.

This meant that I would be in charge of sending all of the custom xAPI statements from our virtual escape room. It seemed like a daunting task considering I had never sent a custom xAPI statement. However, I used resources from, video tutorials from Melissa Milloway, and articles from Anthony Altieri to send my first xAPI statement and begin collecting data.

In the span of a few weeks, I added nearly 100 custom xAPI statement triggers, and I had built a custom xAPI-powered leaderboard from scratch. I was much more comfortable working with xAPI than I had expected thanks to my background with JavaScript and JSON. With the data flowing in, we were able to see what users were clicking, how long it took them to find the correct items in the escape room, and exactly where users were getting stuck (if they were getting stuck at all). We recognized that, if this were a real eLearning project, we would be able to improve the project in response to this data.

Sharing resources of my own

Having witnessed the power of xAPI in an eLearning context, I knew that we, as an industry, would be able to produce much better eLearning if we leveraged xAPI data. I also knew that a barrier holding back many designers and developers from implementing xAPI is the JavaScript know-how required.

In response to this, I wrote a 3-part tutorial series to help people send their first xAPI statements from Articulate Storyline. The series covers how to write an xAPI statement, collect a user’s name and email address from a Storyline course, and then send that statement from a Storyline course. I made sure to dive into the foundational JavaScript concepts so that people would have an easier time consuming other xAPI-related resources (and making the most of the specification). The tutorials were received very well, and I proceeded to revise them and help people troubleshoot as issues cropped up.

Landing xAPI consulting work

Once I had a firm grasp on what xAPI was capable of in an eLearning environment (as well as how to achieve it), I was eager to help real clients harness its power. Around the same time, my tutorials were gaining traction and people began referring their clients to me and reaching out for xAPI work.

I began helping clients leverage xAPI to track behavior in eLearning prototypes, collect responses from in-course surveys, and monitor a learner’s journey between courses.

Developing the full guide to xAPI and Storyline

Over a year after writing my Getting Started with xAPI Tutorial Series, I felt confident that I could provide much more value to the industry by sharing tutorials that cover much more advanced xAPI tracking functionality.

So, I wrote 7 additional intermediate and advanced tutorials. The intermediate tutorials cover topics such as collecting open-text responses, measuring duration, and managing xAPI projects, whereas the advanced tutorials are all about querying the LRS to work with the data that gets returned. The culminating tutorial even teaches people how to create an xAPI-powered leaderboard!

I’m hoping that this Full Guide to xAPI and Storyline will help instructional designers and eLearning developers collect xAPI data to improve their eLearning offerings.

Moving forward with xAPI

Going forward, I am very excited about the impact that xAPI can have on the eLearning industry, especially with the upcoming adoption of cmi5. As more companies purchase Learning Record Stores, it will only become more and more viable to collect custom xAPI data from eLearning courses.

Finally, if you’re an ID or eLearning dev, I highly recommend learning how to implement xAPI for yourself. In the process, you will learn what it’s capable of (as well as why it’s such a game changer).

Devlin Peck is an instructional designer and eLearning development consultant. He supports clients around the world and regularly publishes free resources on instructional design, performance improvement, and xAPI. You can follow him on LinkedIn (, Twitter (@devpeck) and through his website (