Track navbar clicks on GitLab.com
Problem to solve
We want to understand how users interact with GitLab's navbar. Which elements do users use frequently? Which do they not?
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
Record an event when clicked:
- Projects dropdown open:
('trackStructEvent','navbar_top','click_dropdown','projects_dropdown_open','','')
- Projects dropdown close:
('trackStructEvent','navbar_top','click_dropdown','projects_dropdown_close','','')
- Groups dropdown open :
('trackStructEvent','navbar_top','click_dropdown','groups_dropdown_open','','')
- Groups dropdown close :
('trackStructEvent','navbar_top','click_dropdown','groups_dropdown_close','','')
- "+" dropdown open :
('trackStructEvent','navbar_top','click_dropdown','new_dropdown_open','','')
- "+" dropdown close :
('trackStructEvent','navbar_top','click_dropdown','new_dropdown_close','','')
- Profile dropdown open:
('trackStructEvent','navbar_top','click_dropdown','profile_dropdown_open','','')
- Profile dropdown close:
('trackStructEvent','navbar_top','click_dropdown','profile_dropdown_close','','')
Record an event when activated:
- Projects search bar:
('trackStructEvent','navbar_top','activate_form_input','projects_dropdown_search','','')
- Groups search bar:
('trackStructEvent','navbar_top','activate_form_input','groups_dropdown_search','','')
- Global search bar:
('trackStructEvent','navbar_top','activate_form_input','navbar_search','','')
Add a param to all links in the navbar (e.g. &referrer_id=navbar
) so we can identify them.
What does success look like, and how can we measure that?
(If no way to measure success, link to an issue that will implement a way to measure this)