Allow SaaS users to upgrade directly from gitlab.com

Problem

Half of users signing up for a paid package from about.gitlab.com/pricing already have an account. When a user already has a gitlab.com account and clicks on a package from /pricing they are taken to step 2 the paid signup flow:

image

This is causing confusion for the user for a few reasons:

  1. They are not on step 2 of a workflow (they never created their profile because their profile was already created)
  2. This flow assumes that the user has no groups created and therefore creates a group for the user and assigns the paid package to that group

Solution

  • The SaaS paid signup flow needs to handle the use case if the user already has an account.
  • The SaaS paid signup flow needs to handle the use case if the user already has a group.

Designs

  • See the flow in Mural. Differences between the existing screens and updated screens are called out on the pink sticky notes.
  • Designs are also posted in the design tab

Requirements

  1. Add the plan_id to /sign_in if the user clicks sign_in from /sign_up

image

  1. Redirect to gitlab.com/-/subscriptions/new?plan_id={{PLAN_ID}} if the user has a plan_id on sign-in
  2. Hide steps if user already had a gitlab account:

image

  1. If user had an existing account and has a group, allow the user to select that group from a list of their FREE groups.
  2. If the user does not have an existing FREE group, do not display the group selection dropdown
  3. If user selects an existing group, load the number of seats they need for that group and populate the form
  4. If user selects an existing group, on form submission assign the paid package to that group and redirect to gitlab.com/{{GROUP_URL}}
  5. If the user does not have an existing group, on form submission direct the user to the group edit page

image

Edited by Jensen Stava