Add FE tracking to subscription management pages

Problem

Currently we are tracking clicks on subscription card buttons. This shows a general interest on features but doesn't reflect that user wants to actually do this action.

The main goal of this iteration is to be get funnel data (Click on a link on the card -> Click on a purchase confirmation -> Transaction success/fail)

Proposal

Update the existing tracking for subscription card buttons and add tracking to the actual pages.

Attention: some tracking is already implemented, we would just need to update the event labels & actions.

Renew subscription

For all the tracking events set event_label as renew_subscription_sm / renew_subscription_saas

FE/BE Page Description Event category Event action
FE /subscriptions/ Screenshot_2022-11-15_at_22.01.05
User clicks Renew button
Webstore click_card
FE subscriptions/A-S000XXX/renew Screenshot_2022-11-15_at_22.00.21
User clicks Renew subscription button
Webstore click_renew
BE - Transaction is successful SubscriptionsController transaction_successful
BE - Transaction has failed SubscriptionsController transaction_failed

Add seats

For all the tracking events set event_label as add_seats_sm / add_seats_saas

FE/BE Page Description Event category Event action
FE /subscriptions/ Screenshot_2022-11-10_at_17.09.54
User clicks Add seats button
Webstore click_card
FE /subscriptions/A-S000XXX/edit?transaction=extra_seats Screenshot_2022-11-10_at_13.49.05
User clicks Purchase seats button
Webstore click_purchase
BE - Transaction is successful SubscriptionsController transaction_successful
BE - Transaction has failed SubscriptionsController transaction_failed

Upgrade subscription

For all the tracking events set event_label as upgrade_subscription_sm / upgrade_subscription_saas

FE/BE Page Description Event category Event action
FE /subscriptions/ Screenshot_2022-11-15_at_21.47.33
User clicks Upgrade plan button
Webstore click_card
FE subscriptions/A-S000XXX/upgrade/new Screenshot_2022-11-15_at_21.48.54
User clicks Upgrade subscription button
Webstore click_upgrade
BE - Transaction is successful SubscriptionUpgradesController transaction_successful
BE - Transaction has failed SubscriptionUpgradesController transaction_failed

Change linked namespace

For all the tracking events set event_label as change_namespace (as this is only possible for SaaS)

FE/BE Page Description Event category Event action
FE /subscriptions/ Screenshot_2022-11-15_at_21.52.22
User clicks Change linked namespace button
Webstore click_card
FE subscriptions/A-S000XXX/edit?transaction=change_gitlab_group Screenshot_2022-11-15_at_21.53.19
User clicks Confirm changes button
Webstore click_change
BE - Transaction is successful OrdersController transaction_successful
BE - Transaction has failed OrdersController transaction_failed

Cancel subscription

For all the tracking events set event_label as cancel_subscription_sm / cancel_subscription_saas

Attention: The modal only exists for SaaS users

FE/BE Page Description Event category Event action
FE /subscriptions/ Screenshot_2022-11-15_at_21.55.26
User clicks Cancel subscription button
Webstore click_card
FE subscriptions/ Screenshot_2022-11-15_at_21.56.18
In the modal that appears user clicks Cancel subscription button
Webstore click_modal
BE - Transaction is successful SubscriptionsController transaction_successful
BE - Transaction has failed Note: we don't have a try/catch around this action, we might need to add it to catch this failure SubscriptionsController transaction_failed

Resume subscription

For all the tracking events set event_label as resume_subscription_sm / resume_subscription_saas

Attention: There is extra confirmation, the click on the button on the card is the only FE event

FE/BE Page Description Event category Event action
FE /subscriptions/ Screenshot_2022-11-15_at_22.02.20
User clicks Resume subscription button
Webstore click_card
BE - Transaction is successful SubscriptionsController transaction_successful
BE - Transaction has failed SubscriptionsController transaction_failed

Buy more CI minutes -> to a separate issue

Buy more storage -> to a separate issue

Result

Next steps (if any)

How will we measure success?

Edited by Diana Zubova