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.
- 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
.
- New users who are taken to the onboarding as part of their new user experience should not have
- 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 tonav_source=navbar
, possiblynav_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.