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