Track onboarding events in Snowplow

Overview

To better understand how users are interacting with the onboarding MVC on GitLab.com, we should track user interactions throughout the new onboarding experience

Further details

GitLab tracks events using Snowplow's trackStructEvent function. You can read more about it in the Snowplow documentation.

snowplow_name_here('trackStructEvent', 'category', 'action', 'label', 'property', 'value');

See https://gitlab.com/gitlab-org/gitlab-ee/issues/7424 for context on how to track events. You can see our existing Snowplow header implementation in _snowplow.html.haml in app/views/layouts.

Proposal

Welcome screen

category will be set to the Rails page by default.

learn_gitlab_menu_item

  • We should track clicks on this by supporting ?nav_source=navbar when clicking "Learn GitLab" in the navbar.
    • New users who are taken to the onboarding as part of their new user experience should not have ?nav_source=navbar.

learn_gitlab_welcome_screen

  • We can track clicks on "Ok let's go" by tracing the path to gitlab-ce with explore/onboarding as the referrer.
  • We should be able to track clicks on "Skip this for now" similarly (either with a predictable path for skipUrl, or by including a parameter in the URL similar to nav_source=navbar, possibly nav_source=onboarding).

Onboarding

We should track every click in the onboarding widget:

  • "Got it": ('trackStructEvent','onboarding','click_button','part_Y_step_X','got_it','')
  • Skip this step: ('trackStructEvent','onboarding','click_link','part_Y_step_X','skip_this_step','')
  • Restart this step: ('trackStructEvent','onboarding','click_link','part_Y_step_X','restart_this_step','')
  • Exit Learn GitLab: ('trackStructEvent','onboarding','click_link','part_Y_step_X','exit_learn_gitlab','')

part_Y_step_X, where part_Y corresponds to parts 1 through 3 of the onboarding, and step_X is each step within each of the 3 sections of the "Learn GitLab" onboarding journey.

Edited Jun 12, 2019 by Jeremy Watson (ex-GitLab)
Assignee Loading
Time tracking Loading