UserLane GTM Event Listener
Track UserLane user onboarding guide interactions in GTM. Monitor guide start, step completion, guide finish, and skip events with userLaneAction and guideId variables.
userlaneonboardinguser-adoptionsaasgtmga4product-analyticsfeature-adoption
Event fired
userLaneActivityKey variable
userLaneActionUserLane
Overview
UserLane is a digital adoption platform (DAP) that creates interactive in-app guides for user onboarding, feature adoption, and employee training. This listener tracks the complete guide engagement lifecycle.
Event fired: userLaneActivity
Variables: userLaneAction, guideId, guideName, stepNumber
Common Use Cases
- Track onboarding guide completion rates in GA4
- Measure feature adoption through guide interactions
- Identify steps where users abandon guides
- Correlate guide completion with trial-to-paid conversion
Tracked Events
| userLaneAction | Description |
|---|---|
guide started | User begins a guide |
step completed | User finishes a guide step |
guide completed | Full guide finished |
guide skipped | Guide dismissed/skipped |
guide paused | Guide paused mid-flow |
checklist opened | Onboarding checklist viewed |
checklist item completed | Task checked off |
checklist completed | All tasks done |
Installation
html
<!-- GTM Custom HTML Tag: UserLane Listener -->
<script>
(function() {
function ulPush(action, extra) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push(Object.assign({
'event': 'userLaneActivity',
'userLaneAction': action
}, extra || {}));
}
var initUL = function() {
if (typeof window.userlane === 'undefined') return;
userlane('on', 'guide.started', function(data) {
ulPush('guide started', {
guideId: data.id,
guideName: data.name,
totalSteps: data.totalSteps
});
});
userlane('on', 'guide.step_completed', function(data) {
ulPush('step completed', {
guideId: data.id,
stepNumber: data.stepNumber,
totalSteps: data.totalSteps
});
});
userlane('on', 'guide.completed', function(data) {
ulPush('guide completed', {
guideId: data.id,
guideName: data.name,
completionTime: data.duration
});
});
userlane('on', 'guide.skipped', function(data) {
ulPush('guide skipped', {
guideId: data.id,
atStep: data.stepNumber
});
});
userlane('on', 'checklist.completed', function(data) {
ulPush('checklist completed', { checklistId: data.id });
});
};
window.addEventListener('load', initUL);
})();
</script>Data Layer Output
Guide Completed
json
{
"event": "userLaneActivity",
"userLaneAction": "guide completed",
"guideId": "guide_onboarding_main",
"guideName": "Getting Started",
"completionTime": 245
}Guide Skipped at Step 2
json
{
"event": "userLaneActivity",
"userLaneAction": "guide skipped",
"guideId": "guide_feature_xyz",
"atStep": 2
}Triggers to Create
| Trigger | Condition |
|---|---|
| CE – UL Guide Completed | userLaneAction = guide completed |
| CE – UL Guide Skipped | userLaneAction = guide skipped |
| CE – UL Step | userLaneAction = step completed |
Variables to Capture
| Variable Name | DL Key | Example |
|---|---|---|
| DLV – UL Action | userLaneAction | "guide completed" |
| DLV – UL Guide ID | guideId | "guide_onboarding_main" |
| DLV – UL Step | stepNumber | 3 |
GA4 Mapping
| GA4 Event | Trigger | Parameters |
|---|---|---|
tutorial_complete | guide completed | guide_id, guide_name |
tutorial_begin | guide started | guide_id |
tutorial_skip | guide skipped | guide_id, step_at_skip |
Best Practices
- Correlate guide completion with product activation, users who complete onboarding guides have higher activation rates
- Track skip rate by step, high skip rates at specific steps indicate confusing content
- Use guide ID as a GA4 dimension, compare completion rates across different guide versions