Standardize Snowplow Tracking - Parent Issue
Problem
We currently have Snowplow JS / Ruby tracking events on GitLab, however, we do not have a standardized way for defining how we track events which makes product analytics difficult.
The goal of this issue is to standardize how we use Snowplow across GitLab.com, self-managed, about.gitlab.com, and customers.gitlab.com.
Resources
- Why Snowplow uses schemas
- Our existing schemas in the Iglu project
Next Steps
-
Define a standard schema for Snowplow tracking should be used across GitLab, customers, and about. - Aim to minimize the amount of custom schemas i.e. https://gitlab.com/gitlab-org/telemetry/issues/110#note_254051670.
- Add hierarchy to each schema
Product: GitLab, Tier: Self-Managed, Stage: Create, Feature: Wiki, Object: Page
https://docs.google.com/presentation/d/1JYM37CzswOfFzA1qG8BrbN97WayCRmYroKPLFFV9TkQ/edit
-
Add ability disable tracking on instance / namespace / user level -
Ensure Browser Do Not Track is respected #36928 (closed)
-
-
Add documentation to https://gitlab.com/gitlab-org/telemetry/-/wikis/telemetry/snowplow -
What is Iglu -
Example of our standard schema -
Standard schema definition
-
-
Update all existing Snowplow Ruby events -
Update all existing Snowplow JS events -
Look into user tracking w/ ability to opt out -
Understand which snowplow events are triggered by GitLab team members https://gitlab.com/gitlab-org/telemetry/-/issues/379#note_350218791
Edited by Jerome Z Ng