Clarify what a group is during trial activation

What does this MR do?

Improves the wording on the in-app trial activation form after a user publicly reported confusion with it.

Two changes, both proposed by Jesse Young in the Slack thread. They have different blast radii — see Scope decisions:

  1. Subheader — on the Ultimate form (/-/trials/new) only. We need a few more details from you to activate your trial. becomes Add a few more details to activate your trial. You can change them later. The old copy told users something was missing without saying what, or that their answers were not final.
  2. New group name field — on all three .com trial forms (Ultimate, Duo Pro, Duo Enterprise), which share one Vue component. When a user has no existing group, the form shows a group-creation input with no explanation of what a group is or why it is needed. It now carries the description A group is your workspace for managing members and settings. Users who already have a group are unaffected; that path already reads Your trial will be applied to this group.

This is the lightweight first iteration Doug asked for in the thread, not a redesign of the form.

Scope decisions

Both strings live in shared code, so scope was chosen deliberately:

  • The subheader msgid is also rendered by ee/app/views/registrations/company/new.html.haml, the registration "Tell us about your company" page. The issue explicitly covers the in-app flow and not the registration flow, so this MR introduces a new string for the trial form and leaves the registration copy untouched.
  • create_trial_form.vue is shared by the Ultimate, Duo Pro and Duo Enterprise trial forms, which all render the same new_group_name field. The description is added unconditionally, so all three get it: the wording is generically true and the same confusion applies to the Duo forms, so gating it behind a prop would add a branch for no benefit. The Duo subheaders are separate msgids (DuoProTrial|, DuoEnterpriseTrial|) and are left alone — the issue scopes the subheader change to /-/trials/new, and Duo Pro's copy differs today.
  • Self-managed is out of scope: its trial form has no group field at all (an SM trial licenses the whole instance rather than attaching to a namespace), and its subheader carries a for your GitLab instance clause that the new wording would drop.
  • The group description reuses the existing InProductMarketing|A group is your workspace for managing members and settings msgid rather than adding a second copy of the same sentence, so existing translations carry over. Thanks to @rliu-gl for catching that.

Screenshots

Captured from a local GDK, on an account with no eligible group.

Before After
trial_form_before trial_form_after

UX mockups

From the ## UX section of the issue.

Update 1 — group description

Before After
before-group after-group

Update 2 — subheader

Before After
before-subheader after-subheader

References

How to set up and validate locally

  1. Sign in as a user eligible for an Ultimate trial who has no existing group.
  2. Visit /-/trials/new.
  3. The subheader reads Add a few more details to activate your trial. You can change them later. and the New group name field shows the description line.
  4. Repeat as a user who already owns an eligible group: the group dropdown still reads Your trial will be applied to this group. and no new description appears.
  5. Check the fan-out at /-/trials/duo_pro/new and /-/trials/duo_enterprise/new (again with no eligible group): the New group name description appears there too, while each keeps its own existing subheader.

Requires SaaS mode (GITLAB_SIMULATE_SAAS=1) — without it the /-/trials routes don't match and you're redirected to the Customers Portal.

Edited by David Hamp-Gonsalves

Merge request reports

Loading
Loading