Add standard context to snowplow tracking
Problem
We need to include unique identifiers in the GitLab standard context for all Snowplow tracking implementations.
All the additional ids should be send via GitLab Standard Context
Review existing implementation
We currently send customer_id
for every pageView
and click
event from FE - standard_context.js
Proposal
Open questions and notes
customer_id
as is
namespace_id
for SelfManaged subscriptions and SaaS subscription that are not attached to namespace_id
. Also, it is possible that customer has multiple subscriptions that are attached to different namespaces. I think we can only send it if we are certain that event happens in the context of the subscription that has a namespace attached.
namespace_id
on which the action is being performed
- Update existing schema
iglu:com.gitlab/customer_standard/jsonschema/1-0-0
- renamecustomer_id
touser_id
to comply with specs - Add
namespace_id
as part of standard context for SaaS customers with linked namespaces for these events: Click on button on a card & & click onConfirm
button on a change page
- namespace change
- upgrade
- renew
- cancel/resume
- add seats
- Add
plan
as part of standard context for customers. We might have customers that purchased multiple plans, pass theplan
only in cases when the action is related to one plan - clicks from subscription card and clicks on flow pages (flows like adding seats, upgrade, renew, etc, with defined subscription).
- Pass
user_id
to all BE tracking events - Add
namespace_id
as part of standard context BE for SaaS customers with linked namespaces for these events:
- namespace change
- upgrade
- renew
- cancel/resume
- add seats
- Add
plan
as part of standard context for customers. We might have customers that purchased multiple plans, pass theplan
only in cases when the action is related to one plan - all types of subscription management actions.