Skip to content

Add new trial badge indicator

What does this MR do and why?

Experiment Implementation: Promote 'Ultimate' features on Learn GitLab.

This experiment is explicitly "targeting" Trial Signups. This includes trial registrations and automatic trials through sign up

Assuming the experiment is successful we will roll out this change to everyone on SaaS.

We also want to ensure we are only targeting "new" signups. A user who has been exposed to the existing Learn GitLab grouping should not be included in this experiment.

Migrate
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: migrating 
-- add_column(:onboarding_progresses, :promote_ultimate_features_at, :datetime_with_timezone)
   -> 0.0119s
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: migrated (0.0195s) 
Rollback
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: reverting 
-- remove_column(:onboarding_progresses, :promote_ultimate_features_at, :datetime_with_timezone)
   -> 0.0071s
== 20231115101002 AddPromoteUltimateFeaturesAtToOnboardingProgresses: reverted (0.0238s) 

Screenshots or screen recordings

Before After
Screenshot_2023-11-17_at_13.20.16 Screenshot_2023-11-17_at_13.55.40

How to set up and validate locally

bin/rails console

> Feature.enable(:promote_ultimate_features)
bin/rails console

> GitlabSubscription.find_or_initialize_by(namespace: Group.last).update(trial: true, trial_starts_on: Date.yesterday, trial_ends_on: 30.days.from_now)
  • Make sure learn gitlab page has Included in trial badges.
  • Sign out. Switch to 424506-promote-ultimate-features-on-learn-gitlab branch.
  • Visit /users/sign_up. Submit the form.
  • On welcome page select Just me and Create a new project.
  • Submit the form.
  • Enter group and project name. Finish registration.
  • Make sure learn gitlab page has Included in trial badges.
bin/rails console

> GitlabSubscription.find_or_initialize_by(namespace: Group.last).update(trial: true, trial_starts_on: Date.yesterday, trial_ends_on: 30.days.from_now)
  • Make sure learn gitlab page has Premium and Ultimate badges.
  • Hover any badge. Mare sure correct frontend event is generated.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #424506

Edited by Serhii Yarynovskyi

Merge request reports