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 May 27, 2020 by Jerome Z Ng
Assignee Loading
Time tracking Loading