Who can use this feature?
- Global admins or users with advanced permissions
- Available on all plans
A Skilljar integration allows you to add training activity to your customer journey. The integration uses Totango's JavaScript collector via code snippets added to your Skilljar theme.
You can stream usage data into Totango for the following Skilljar events:
- Course enrollment
- Course completion
- Path enrollment
Suggested uses
When a customer enrolls or completes a course, what workflows do you want to automate? Here are some ideas:
-
Trigger a team notification: Add a simple notification on the account record, or celebrate a milestone with all account owners.
-
Send customer communications: Automate reminders, CSAT surveys, and next course recommendations.
-
Aggregate data by customer segments: Perform calculations on individual and account-level enrollment / completion data.
-
Analyze impact to business processes: View trends on training impact to customer health, days in onboarding, adoption, risk, and more.
1. Capture the Totango Account ID per student
To bring user-level data into Totango via product instrumentation, your LMS must have a mechanism to pass the Totango Account ID associated with each LMS user (Skilljar student). You can store the Totango Account ID in Skilljar using a custom Sign Up field.
- In your Skilljar dashboard, expand Domains & Publishing > Domain Settings.
- Click to add a New Signup Field (Free-Form Text).
- Add a label for the field.
- Click Save.
- The field is now available for students to enter on the Sign Up form of your site. (Contact Skilljar to configure this field to be read only and pass the value from a URL parameter.)
The value is saved within each Skilljar student's profile.
To pass a value to this field via SSO (e.g., students log into the LMS from your application), consult your Engineering team for assistance. You may need to provide them with the Sign Up field's ID, which you can find in Skilljar.
2. Prepare your code snippets
Once you are able to capture each Skilljar user's Totango Account ID, you can configure your code snippets.
Learn more about the Totango code snippets supported by Skilljar.
Totango tracking code (general tracking)
A JavaScript code snippet should go on every page of the application. If the LMS vendor has an area to modify global code within the </head> tag, that’s where you’ll want to insert this snippet (e.g., Global Head Snippet in Skilljar).
- Make sure you include your own Totango Service ID.
- Choose the module name that you want to use to identify LMS data in Totango.
- Example module name: Academy
<!-- Totango Tracking--> <script> window.totango_options = { service_id: "SP-XXXXXX-01", // Replace with your Totango service code (tenant ID) module: "Academy", // Replace with the module name } if (typeof(skilljarUser) != 'undefined') { window.totango_options.user = // Start of the USER object { id: skilljarUser.email, // email address or other unique identifier of the user name: skilljarUser.name, // first and last name } window.totango_options.account = // Start of the ACCOUNT Array { id: skilljarUserSignupFields.valueOf()['accountid'].value, // Must correspond to Totango Account ID. } }
(function() { var tracker_name=window.totango_options.tracker_name||"totango";window.totango_tmp_stack=[];window[tracker_name]={go:function(){return -1;},setAccountAttributes:function(){},identify:function(){},track:function(t,o,n,a){window.totango_tmp_stack.push({activity:t,module:o,org:n,user:a}); return -1;}}; var e = document.createElement('script'); e.type = 'text/javascript'; e.async = true; e.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'tracker.totango.com/totango3.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s); })(); </script> <!-- End Totango Tracking -->
Conversion code snippet
In addition to the ability to track any visits to the LMS website, we also want to track specific events for course and/or path enrollment. If the LMS vendor has a global area to trigger code on a “conversion” or “registration” event, that’s where this needs to go (e.g., Conversion Code Snippet in Skilljar).
- Skilljar allows you to track enrollments at the course level and/or path level
- Choose the activity name that you want to use to identify these events in Totango.
- Example activity names: Enroll - <Course Name> | Enroll - <Path Name>
<script> if (typeof(skilljarCourse) != 'undefined') { totango.track("Enroll - " + skilljarCourse.title); } </script>
<script> if (typeof(skilljarPath) != 'undefined') { totango.track("Enroll - " + skilljarPath.title); } </script>
Course completion code snippet
Finally, we also want to track specific events for course completion. If the LMS vendor has a global area to trigger code on a “completion” event, that’s where this needs to go (e.g., Course Completion Code Snippet in Skilljar).
- Skilljar allows you to track completion at the course level. If you want to additionally track path completion, you can build that automation on the Totango side (see suggested SuccessPlays).
- Choose the activity name that you want to use to identify these events in Totango.
- Example activity name: Complete - <Course Name>
<script> if (typeof(skilljarCourse) != 'undefined') { totango.track("Complete - " + skilljarCourse.title); } </script>
3. Insert your code snippets into Skilljar
- Within your Skilljar dashboard, navigate to Theming > Themes.
- Click into the theme that you want to modify.
- Within the Global Head Snippet section, add the customized Totango tracking code (general tracking).
- Within the Conversion Code Snippet section, add the customized conversion code snippet (enrollment events).
- Within the Course Completion Code Snippet section, add the customized conversion code snippet (completion events).
- Click to save the theme.
- Verify usage stream in Totango within the Developer Console:
- Usage data at the module level is available in Totango when anyone is visiting your Skilljar site.
- Usage data at the activity level is available in Totango when anyone enrolls for a course (or a path if configured) or completes a course, depending on the code snippets.
You will also see module and activity data in the Usage Monitor (Executive Console), on the Usage tab of each account profile, on the user profile, and in segmentation.
Learn more about analyzing user-level usage.
4. Configure automations within Totango
Everything beyond a usage stream must be manually configured. The most common practice for actioning usage data is to set a date attribute in Totango for when the first event occurred (e.g., enrollment in a course, completion of a course). Setting a date allows you to then build segments, campaigns, workflows, and KPIs based on attributes.
Here are some suggestions for building automations in Totango for Skilljar:
User attributes
Item | Description | Type | |||
---|---|---|---|---|---|
General | |||||
First Enrolled in a Academy Path Date | Date | ||||
First Completed a Academy Path Date | Date | ||||
First Enrolled in a Academy Course Date | Date | ||||
First Completed a Academy Course Date | Date | ||||
Course Enrollments | Number | ||||
Path Enrollments | Number | ||||
Course Completions | Number | ||||
Path Completions | Number | ||||
2 attributes per path | |||||
Academy <Path Name>_Enrolled Date | Date | ||||
Academy <Path Name>_Completed Date | Date | ||||
2 attributes per course | |||||
<Course Name>_Enrolled Date | Date | ||||
<Course Name>_Completed Date | Date | ||||
5 attributes per course | |||||
<Course Name> CSAT | CSAT | ||||
<Course Name> High Reasons | Easy to find | Organized well | Applicable content | Good pace | Multi Select List | |||
<Course Name> Low Reasons | Hard to find | Poor organization | Content not applicable | Pace was off | Multi Select List | |||
<Course Name> Comment | Text | ||||
<Course Name> Response Date | Date |
Account attributes
Account attributes are not required, as you can filter most items based on the user attributes. However, you may consider adding the following for purposes of historical trend in KPIs.
Item | Description | Type | |||
---|---|---|---|---|---|
General | |||||
First Enrolled in Academy Course Date | First time any user enrolled in a course | Date | |||
First Completed Academy Course Date | First time any user completed a course | Date | |||
First Enrolled in Academy Path Date | First time any user enrolled in a path | Date | |||
First Completed Academy Path Date | First time any user completed a path | Date |
SuccessPlays
SuccessPlays automatically set date attributes so that you can use them in segmentation engines. Consider the following series of SuccessPlays using different approaches to trigger criteria.
SuccessPlays set by usage data:
- Set Enrolled Date for <Path Name>
- Set Completed Date for <Path Name>*
- Set Enrolled Date for <Course Name>
- Set Completed Date for <Course Name>
*Skilljar usage data is not available for path completion events. Instead, set the criteria for this play to check for the completed date of every course within the selected path.
SuccessPlays set by presence in a segment based on "First" attribute:
- Course - Add First Enrolled Date at User Level
- Course - Add First Completed Date at User Level
- Course - Add First Enrolled Date at Account Level
- Course - Add First Completed Date at Account Level
- Path - Add First Enrolled Date at Account Level
- Path - Add First Completed Date at Account Level
Refer to the following examples:
Item | Type | Notes |
---|---|---|
Set Enrolled Date for <Course Name> | ||
Criteria: <Course Name>_Enrolled Date does not exist AND Enroll - <CourseName> (activity from usage data) >1 in the last 7 days Actions: Update <Course Name>_Enrolled Date with SuccessPlay trigger date AND Increase Course Enrollments by 1 |
User | 1 SuccessPlay per course; requires usage data |
Set First Enrolled Date (User) | ||
Criteria: First Enrolled in Academy Course Date does not exist AND Is in segment (any of the course-level user segments) Actions: Update First Enrolled in Academy Course Date with SuccessPlay trigger date |
User | Update criteria filter every time there's a new course segment added |
User segments
Item | Description | Notes | |||
---|---|---|---|---|---|
Course Level | |||||
<Course Name> Enrollments | <Course Name>_Enrolled Date exists | 1 segment per course | |||
<Course Name> Completions | <Course Name>_Completed Date exists | 1 segment per course | |||
<Course Name> CSAT | <Course Name> CSAT exists | 1 segment per course | |||
Path Level | |||||
<Path Name> Enrollments | <Path Name>_Enrolled Date exists | 1 segment per path | |||
<Path Name> Completions | <Path Name>_Completed Date exists | 1 segment per path | |||
General | |||||
Any Academy Course Enrollment - Users | First Enrolled in Academy Course Date exists | ||||
Any Academy Course Completion - Users | First Completed Academy Course Date exists | ||||
Any Academy Path Enrollment - Users | First Enrolled in Academy Path Date exists | ||||
Any Academy Path Completion - Users | First Completed an Academy Path Date exists |
Account segments
Item | Description | Notes | |||
---|---|---|---|---|---|
Course Level | |||||
<Course Name> Completions | <Course Name>_Enrolled Date exists | 1 segment per course | |||
Path Level | |||||
<Path Name> Completions | <Path Name>_Completed Date exists | 1 segment per path | |||
General | |||||
Any Academy Course Enrollment - Accounts | First Enrolled in Academy Course Date exists | ||||
Any Academy Course Completion - Accounts | First Completed Academy Course Date exists | ||||
Any Academy Path Enrollment - Accounts | First Enrolled in Academy Path Date exists | ||||
Any Academy Path Completion - Accounts | First Completed in Academy Path Date exists |
Scorecard
KPI | Metrics | ||||
---|---|---|---|---|---|
Customers find and enroll | |||||
% of Paying Accounts started 1+ course | Account: First Enrolled in Academy Course Date exists | ||||
% of Paying Accounts with 1+ user trained | Account: Academy <Path Name>_Completed Date exists | ||||
% of users enrolling within first 7 days active | User: First Enrolled in Academy Course Date exists | ||||
Customers complete courses independently | |||||
Total Course Enrollments | User: Course Enrollments (Sum) | ||||
Total Course Completions | User: Course Completions (Sum) | ||||
Total Path Enrollments | Use: Path Enrollments (Sum) | ||||
Total Path Completions | User: Path Completions (Sum) | ||||
Course Completion Rate by Course | User: Course Completions (Sum) / Course Enrollments (Sum) | ||||
Course Completion Rate by User | User: Any Course Completion / Any Course Enrollment | ||||
Path Completion Rate by User | User: Any Path Completion / Any Path Enrollment | ||||
Monthly Account Completions | Account: First Enrolled in Academy Course Date exists | ||||
Content is highly rated | |||||
<Course Name> User CSAT | CSAT (Aggregation) |