Loading
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:
- Subheader — on the Ultimate form (
/-/trials/new) only.We need a few more details from you to activate your trial.becomesAdd 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. - 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 readsYour 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.vueis shared by the Ultimate, Duo Pro and Duo Enterprise trial forms, which all render the samenew_group_namefield. 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 instanceclause that the new wording would drop. - The group description reuses the existing
InProductMarketing|A group is your workspace for managing members and settingsmsgid rather than adding a second copy of the same sentence, so existing translations carry over. Thanks to@rliu-glfor catching that.
Screenshots
Captured from a local GDK, on an account with no eligible group.
| Before | After |
|---|---|
![]() |
![]() |
UX mockups
From the ## UX section of the issue.
Update 1 — group description
| Before | After |
|---|---|
![]() |
![]() |
Update 2 — subheader
| Before | After |
|---|---|
![]() |
![]() |
References
- #617803 (closed)
- Originating user report: https://x.com/nitinsinghal123/status/2090065325492687359
How to set up and validate locally
- Sign in as a user eligible for an Ultimate trial who has no existing group.
- Visit
/-/trials/new. - 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. - 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. - Check the fan-out at
/-/trials/duo_pro/newand/-/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





