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