Completion Tracking Not Working

Before reading this article make sure you have followed the right Steps to Setup Completion Tracking


Debugging Completion Tracking

If you are facing issues with Completion Tracking. e.g. your lesson in LearnDash is not getting marked complete even after completing your Articulate lesson. 

You can run debug tests by following these steps:

1. Run through the content once, and make sure you pass it. 

2. Go to your xAPI Content edit page.

3. Find the checkbox for "Completion Tracking" 

4. Click on "Test Setup" and it will give you suggestions for the fix. 



5. If it doesn't work try uploading the content on a new xAPI Content page, and see if Test Setup gives better information.  

If this doesn't help, the following information should help. 

Important Points to Remember

  1. You need to use GrassBlade LRS for this feature to work. 
  2. Articulate (some versions) and Captivate does not support custom Activity ID's. You might see this issue if you have upgraded your Authoring Tool to a version that doesn't support custom Activity ID, and have republished the content. So, its safest to use the original activity id of the content.  To do this you need to:
    For New Upload: Leave the Activity ID field blank when uploading to a new xAPI Content page, and Activity ID will be auto populated with the one generated by your authoring tool. 
    For Existing xAPI Content: You will see the "Original Activity ID" in the help text below the "Activity ID" field below Activity ID. Change the "Activity ID" to the "Original Activity ID" if you are experiencing issues. 
  3. Make sure you are adding the content to LearnDash Lesson, Topic or Quiz page, but not on LearnDash course page.  
  4. Double check that Trigger URL is configured correctly in the LRS.
  5. Logout from WordPress and go to the Trigger URL in a browser. If you see a "0", you are good. However, If you see a completely blank page or any errors, then, disable plugins or any server restrictions that doesn't allow access to the Trigger URL when you are not logged in. 
  6. If you are adding xAPI Content to a Lesson, or Topic. Make sure there is no other topic or quiz attached to that Lesson or Topic.
  7. Do not use grassblade shortcode for completion tracking. Use the MetaBox (see Step 3 above)
  8. Avoid adding one xAPI content to multiple pages. There will be no error, and it will mark all of them complete. Still, this could add confusion.
  9. Make sure two xAPI Content doesn't have same Activity ID. Activity ID has to be unique for each xAPI Content.








Home | GrassBlade xAPI Companion | GrassBlade LRS

Have more questions? Submit a request


  • 0

    I'm using version 1.4.1 of the xAPI Companion :

    My activity id was set to " http://6H1Z3LUzJ0L_course_id", and the [test setup] function was telling me to set it to "http://6H1Z3LUzJ0L_course_id" ...

    Took me a while to figure out, but the value in the "Activity ID" field for my xAPI Content (An Articulate Storyline Tin Can Package) had a white-space in front of it (the joys of copy-pasting ...). Tracking was not working, ... and it was hard to understand why. Perhaps the value should be passed in the trim() php function when saved, which would protect users against the evils of bad copy-pasting ...

  • 0
    Pankaj Agrawal


    Thanks for the suggestion, this is now done and will be part of next version.


Please sign in to leave a comment.
Powered by Zendesk