Skip to main content

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

userLaneActivity

Key variable

userLaneAction

UserLane

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

userLaneActionDescription
guide startedUser begins a guide
step completedUser finishes a guide step
guide completedFull guide finished
guide skippedGuide dismissed/skipped
guide pausedGuide paused mid-flow
checklist openedOnboarding checklist viewed
checklist item completedTask checked off
checklist completedAll 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

TriggerCondition
CE – UL Guide CompleteduserLaneAction = guide completed
CE – UL Guide SkippeduserLaneAction = guide skipped
CE – UL StepuserLaneAction = step completed

Variables to Capture

Variable NameDL KeyExample
DLV – UL ActionuserLaneAction"guide completed"
DLV – UL Guide IDguideId"guide_onboarding_main"
DLV – UL StepstepNumber3

GA4 Mapping

GA4 EventTriggerParameters
tutorial_completeguide completedguide_id, guide_name
tutorial_beginguide startedguide_id
tutorial_skipguide skippedguide_id, step_at_skip

Best Practices

  1. Correlate guide completion with product activation, users who complete onboarding guides have higher activation rates
  2. Track skip rate by step, high skip rates at specific steps indicate confusing content
  3. Use guide ID as a GA4 dimension, compare completion rates across different guide versions

Related Listeners