Add ability to force user segmentation on a per user basis for GLEX
Created from ideas in gitlab-org/growth/team-tasks#905 (comment 2751551819)
We want a way to enable us to force ourselves into various experiment assignment(candidate, control, etc). We aren't able to do that today when we are performing UAT/advanced validations locally or in staging/production.
Requirements
- Must be able to work in non-local dev. i.e. staging/production
- Must be able to handle anonymous entrypoint. i.e. the user not signed in yet.
- Must be able to handle a case where the variant is decided fully in the backend. No clear entrypoint from the UI available. i.e. passing a parameter down from a request will be complicated and sometimes impossible.
Ideas
- Push into segmentation in GLEX with the solution.
- non-signed in - observe a url param
- no request/param entrypoint - prefix/suffix the subject name to help identify like
user.namematchesbob_glex_candidate. Perhaps using chatops here to modify the assignment in GitLab would be a fuller solution.
Rollout plan (Requirements 1 & 2)
- Merge gitlab-org/ruby/gems/gitlab-experiment!246 (merged) (force assignment feature)
- Cut a new version of the gitlab-experiment gem gitlab-org/ruby/gems/gitlab-experiment!247 (merged)
- Update !224499 (merged) to use the released gem version, remove draft status, and merge
Edited by 🤖 GitLab Bot 🤖