Investigate test coverage for Registration funnel snowplow events and add testing where it is lacking

Summary

The registration funnel is important and we want to ensure the snowplow events we are tracking are not accidentally removed.

Suggestion

We should investigate test coverage for the registration funnel and make sure our events have coverage.

We'll use this SaaS Registration Funnels - Simplified Tracking Proposal sheet as our SSOT to check against for existing test coverage.

If there isn't coverage, we should add unit tests to expect those snowplow events. Similar to this example.

SaaS Funnel Events - SSOT

Free Registraton Non-SSO

Verified Coverage Step Name of Step Behavior Category Optional Step Possible URL Path(s) Tracking User Identifiers Available in Data action category label property
N/A 1 Sign Up Page Render/Page View users/sign_up Page View user_snowplow_domain_id
N/A 2 Email Verification Page ('Almost There' OR 'Help us keep GitLab secure') Render/Page View users/identity_verification Page View user_snowplow_domain_id
N/A 3 Post Verification Sign In Page Render/Page View users/identity_verification/success Page View user_snowplow_domain_id
4 Welcome Page Render/Page View users/sign_up/welcome Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::WelcomeController free_registration
5 Company Page Render/Page View Y - A user will be directed to Company Page if they select 'My company or team' on Welcome Page users/sign_up/company, users/sign_up/company/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::CompanyController free_registration
6 Groups Projects Page Render/Page View Y - A user will be directed to Company Page if they select 'Create a new project' on Welcome Page users/sign_up/groups/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id view_new_group_action Registrations::GroupsProjectsController free_registration
7 Learn GitLab Onboarding Page Render/Page View Y - A user will finish the registration flow on the Learn GitLab Page if they select 'Create a new project' on Welcome Page, else they will be directed to... namespace/project/learn_gitlab/onboarding, namespace/project/learn_gitlab Page View user_snowplow_domain_id, gsc_pseudonomized_user_id

Free Registraton SSO

Verified Coverage Step Name of Step Behavior Category Optional Step Possible URL Path(s) Tracking User Identifiers Available in Data action category label property
1 Click on SSO provider Click CTA users/sign_in, users/sign_up Structured Event gsc_pseudonomized_user_id google_oauth2_sso, github_sso, twitter_sso, bitbucket_sso, salesforce_sso OmniauthCallbacksController
N/A - Sign In to Auth Provider (email) Render/Page View Unique URL associated with Auth Provider
N/A - Sign In to Auth Provider (password) Render/Page View Unique URL associated with Auth Provider
N/A 2 Email Verification Page ('Almost There' OR 'Help us keep GitLab secure') Render/Page View users/identity_verification Page View user_snowplow_domain_id
N/A 3 Post Verification Sign In Page Render/Page View users/identity_verification/success Page View user_snowplow_domain_id
4 Welcome Page Render/Page View users/sign_up/welcome Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::WelcomeController free_registration
5 Company Page Render/Page View Y - A user will be directed to Company Page if they select 'My company or team' on Welcome Page users/sign_up/company, users/sign_up/company/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::CompanyController free_registration
6 Groups Projects Page Render/Page View Y - A user will be directed to Company Page if they select 'Create a new project' on Welcome Page users/sign_up/groups/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id view_new_group_action Registrations::GroupsProjectsController free_registration
7 Learn GitLab Onboarding Page Render/Page View Y - A user will finish the registration flow on the Learn GitLab Page if they select 'Create a new project' on Welcome Page, else they will be directed to... namespace/project/learn_gitlab/onboarding, namespace/project/learn_gitlab Page View user_snowplow_domain_id, gsc_pseudonomized_user_id

Trial Registraton Non-SSO

Verified Coverage Step Name of Step Behavior Category Optional Step Possible URL Path(s) Tracking User Identifiers Available in Data action category label property
N/A 1 Trial Registration Page Render/Page View trial_registrations/new, trials/new, trial_registrations/ Page View user_snowplow_domain_id
N/A 2 Email Verification Page ('Almost There' OR 'Help us keep GitLab secure') Render/Page View users/identity_verification Page View user_snowplow_domain_id
N/A 3 Post Verification Sign In Page Render/Page View users/identity_verification/success Page View user_snowplow_domain_id
4 Welcome Page Render/Page View users/sign_up/welcome Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::WelcomeController trial_registration
5 Company Page Render/Page View Y - A user will be directed to Company Page if they select 'My company or team' on Welcome Page users/sign_up/company, users/sign_up/company/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::CompanyController trial_registration
6 Groups Projects Page Render/Page View Y - A user will be directed to Company Page if they select 'Create a new project' on Welcome Page users/sign_up/groups/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id view_new_group_action Registrations::GroupsProjectsController trial_registration
7 Learn GitLab Onboarding Page Render/Page View Y - A user will finish the registration flow on the Learn GitLab Page if they select 'Create a new project' on Welcome Page, else they will be directed to... namespace/project/learn_gitlab/onboarding, namespace/project/learn_gitlab Page View user_snowplow_domain_id, gsc_pseudonomized_user_id

Trial Registration SSO

Verified Coverage Step Name of Step Behavior Category Optional Step Possible URL Path(s) Tracking User Identifiers Available in Data action category label property
1 Click on SSO provider Click CTA trial_registrations/new, trials/new, trial_registrations/ Structured Event gsc_pseudonomized_user_id google_oauth2_sso, github_sso, twitter_sso, bitbucket_sso, salesforce_sso OmniauthCallbacksController
N/A - Sign In to Auth Provider (email) Render/Page View Unique URL associated with Auth Provider
N/A - Sign In to Auth Provider (password) Render/Page View Unique URL associated with Auth Provider
N/A 2 Email Verification Page ('Almost There' OR 'Help us keep GitLab secure') Render/Page View users/identity_verification Page View user_snowplow_domain_id
N/A 3 Post Verification Sign In Page Render/Page View users/identity_verification/success Page View user_snowplow_domain_id
4 Welcome Page Render/Page View users/sign_up/welcome Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::WelcomeController trial_registration
5 Company Page Render/Page View Y - A user will be directed to Company Page if they select 'My company or team' on Welcome Page users/sign_up/company, users/sign_up/company/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id render Registrations::CompanyController trial_registration
6 Groups Projects Page Render/Page View Y - A user will be directed to Company Page if they select 'Create a new project' on Welcome Page users/sign_up/groups/new Structured Event and Page View user_snowplow_domain_id, gsc_pseudonomized_user_id view_new_group_action Registrations::GroupsProjectsController trial_registration
7 Learn GitLab Onboarding Page Render/Page View Y - A user will finish the registration flow on the Learn GitLab Page if they select 'Create a new project' on Welcome Page, else they will be directed to... namespace/project/learn_gitlab/onboarding, namespace/project/learn_gitlab Page View user_snowplow_domain_id, gsc_pseudonomized_user_id
Edited by Ross Byrne