Add Upgrade Modal to End of Trial UX
What does this MR do and why?
In the current Active Trial experience, users struggle to distinguish between paid and free features. This becomes particularly problematic at the end of their trial, when they have difficulty identifying the value they would lose by not upgrading. To address this problem, we are exploring adding a modal to the UX that would appear to the Owner(s) of the namespace the first time they come to GitLab following the completion of their trial.
References
Screenshots or screen recordings
|
How to set up and validate locally
- Setup gdk to simulate SaaS - https://docs.gitlab.com/ee/development/ee_features.html#simulate-a-saas-instance and restart GDK
- Sign in. Create a new group.
- Apply expired trial:
bin/rails c
Group.last.gitlab_subscription.update(trial_starts_on: 2.days.ago, trial_ends_on: 1.day.ago)
- Reload the page. Verify tracking events:
Click to expand
| Sequence | Activity | se_action | se_property |
|---|---|---|---|
| 1 | User hovers over a Premium feature | render_premium_feature_popover_end_of_trial_modal |
feature ID |
| 2 | User clicks CTA in Premium feature popover | click_cta_premium_feature_popover_end_of_trial_modal |
feature ID |
| 3 | User clicks Upgrade to Premium CTA |
click_upgrade_end_of_trial_modal |
|
| 4 | User clicks Explore paid plans CTA |
click_explore_end_of_trial_modal |
|
| 5 | User dismisses modal | dismiss_end_of_trial_modal |
|
| 6 | User dismisses modal by clicking outside | dismiss_outside_end_of_trial_modal |
|
| 7 | User dismisses modal by clicking Esc | dismiss_esc_end_of_trial_modal |
|
| 8 | Modal is rendered | render_end_of_trial_modal |
The modal is automatically dismissed after the first appearance. To return it back sign out, close the tab, and remove callout from the DB:
bin/rails c
Users::GroupCallout.last.destroy
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #579360
