[ENG] Expose free users to required merge request approvals

Experiment summary

We believe that some users may be unaware that required merge approvals is a feature only accessible in Bronze and above.

To verify that, we will run an experiment where a cohort of free users are exposed to feature education moment when creating a merge request.

Hypothesis

We believe by increasing exposure to the required merge approval feature while users are in the process of creating a merge request we will increase the IACV generated vs the control.

Further experiment details

Can be found in the parent epic.

Proposed solution

During the Merge request creation process we will display an accordion (expanded on page load). This accordion will promote the value of adding required approvers to merge request. This feature discovery element will only be available to admin (permissions level of 50 frontend name of Owner) of a project/group with the ability to start a trial.

  • The accordion will be open for all users in the experiment the first time they view it.
  • If a user collapses the accordion we should remember that state and leave it collapsed when they open MR again in the future
  • In the initial MVC experiment if a user selects to start a trial then they will be landed on the group overview page after the trial is started which is the default trial experience.
    • A future iteration on this experiment will test bringing the user back into the MR creation process where we can highlight the required merge request approval section, note this will be a separate follow up experiment.

Accordion

accordion-interaction-to-trial

Flow

MR-approval-trial-flow

Prototype
Specs

Tracking requirements:

Note: with all events documented below we should ensure we're passing pseudo-anonymized user_id and namespace_id in all events.

Action Label Contexts Helpful notes
assignment - gitlab_experiment & gitlab_standard This event fires automatically when the MR creation page loads and the experiment code is run
page_view - gitlab_experiment & gitlab_standard This event fires automatically whenever a front-end page renders
click_button expand_approval_rules gitlab_standard This event only fires for users in variant when they expand the flyout to learn more about merge approval rules
click_button collapse_approval_rules gitlab_standard This event only fires for users in variant when they manually collapse the flyout to hide the additional information
click_button start_trial gitlab_standard This event only fires for users in variant when they select "try it for free" within the merge approval flyout
click_link learn_more_merge_approval gitlab_standard This event only fires for users in variant when they select the hyperlink for "learn more about merge approval rules" within the merge approval flyout
click_button submit_mr gitlab_standard This event fires in both the control and experiment when the user selects the "create merge request" button
Edited by Dallas Reedy