Using GrassBlade Completion Tracking With LearnDash

NOTE: Go to this article if you face any issue: Completion Tracking Not Working


Step 1: Enable Passed and Completed Triggers in GrassBlade LRS 

Passed and Completed completion triggers are enabled by default on GrassBlade LRS. However, make sure its enabled, and that your WordPress URL is configured correctly.

If you want failed statements to also mark the lessons as completed, you will need to create an additional trigger for failed verb. [In GrassBlade xAPI Companion version 1.6 and above, failed or passed will also look at configured Passing Percentage to decide completion.]  

If WordPress URL is:
Trigger URL will be:

If it doesn't work, try using the WordPress URL as Trigger URL. One or the other may or may not work depending on theme and plugins you are using on the site. If you are using a plugin that restricts the entire website including ajax url without login, Triggers may not work. Make sure you include http:// or https:// in the url.

Step 2: Add Attempted/Launched Triggers in GrassBlade LRS
(Needs GrassBlade xAPI Companion v1.6.3+ and LearnDash v2.5.8+)

If you want LearnDash course status to show "In Progress", as soon as a user starts a content under that course. You can add an additional trigger for "attempted" verb. You might need to use "launched" or "initialized" verb if that is what your content is sending instead of "attempted" verb. 

Please note that the Trigger URL, for this is different from completion Trigger urls. 

Verb = Attempted
Type = POST to URL
Trigger URL =
(If WordPress URL is:


Step 3: Enable Completion Tracking on your xAPI Content

Go to xAPI Content section in your WordPress. Add or Edit the content you want to enable completion tracking for. Tick the checkbox that says, "Enable Completion Tracking" EnableCompletionTracking

Step 4: Add your content using metabox instead of shortcode

Add your content to LearnDash lesson, topic, or quiz using the meta box on the right top of the edit page. If you want the quiz scores to be passed back to LearnDash reports, or if you want to award certificates based on Tin Can quiz scores, you would need to make sure that the Tin Can content is added on a LearnDash Quiz.  



NOTE: Go to this article if you face any issue: Completion Tracking Not Working

RELATED: Articulate Storyline xAPI Publish Settings








Home | GrassBlade xAPI Companion | GrassBlade LRS

Have more questions? Submit a request


  • 0
    Chloe Burnett

    Hi Pankaj,

    I'm using LearnDash to organize e-learning courses in my WordPress site. I have quite a lot H5P content in my LD courses and I'd like to track user completion of such content with GrassBlade LRS. Could you explain how to do it? 

    Many thanks.


  • 0
    Pankaj Agrawal

    Hi Chloe,

    As replied to you on your support ticket. 

    You need to:
    1. Create H5P content. (Some H5P content types doesn't send completion statement and doesn't allow completion tracking, the data may still be tracked in the LRS) Most commonly used H5P content type with completion tracking is the multi question set. ) 

    2. Create an xAPI Content page and select the H5P content you have created from H5P tab. Enable Completion Tracking if you want the users not to be able to progress without actual completion of this content. 

    3. Create or go to the LearnDash lesson or topic. Select the xAPI Content from the dropdown metabox from top right. 

    These articles should help with completion tracking setup: 
    Using GrassBlade Completion Tracking With LearnDash 
    Completion Tracking Not Working 


Please sign in to leave a comment.
Powered by Zendesk