Просмотр исходного кода

Add new event segmentations for upgrade button in dashboard to help analytics (#11345)

* Add new event segmentations for the upgrade button in dashboard to help analysis

* Also add an extra check for the upgrade button in the navbar since it's only appeared in the project dashboard react version

GitOrigin-RevId: fca14e3adfbafd0fd143b045ba43588913f7297b
M Fahru 3 лет назад
Родитель
Сommit
435be3073f

+ 1 - 0
services/web/app/src/Features/Project/ProjectListController.js

@@ -355,6 +355,7 @@ async function projectListReactPage(req, res, next) {
     showGroupsAndEnterpriseBanner,
     groupsAndEnterpriseBannerVariant:
       groupsAndEnterpriseBannerAssignment?.variant ?? 'default',
+    projectDashboardReact: true, // used in navbar
     showNewUsersMicroSurvey,
   })
 }

+ 3 - 2
services/web/app/views/layout/navbar-marketing.pug

@@ -9,14 +9,15 @@ nav.navbar.navbar-default.navbar-main
 					aria-label="Toggle " + translate('navigation')
 				)
 					i.fa.fa-bars(aria-hidden="true")
-			if (usersBestSubscription && usersBestSubscription.type === 'free')
+			- var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free'
+			if (enableUpgradeButton)
 				a.btn.btn-primary.pull-right.me-2.visible-xs(
 					href="/user/subscription/plans"
 					event-tracking="upgrade-button-click"
 					event-tracking-mb="true"
 					event-tracking-label="upgrade"
 					event-tracking-trigger="click"
-					event-segmentation='{"source": "dashboard-top"}'
+					event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true"}'
 				) #{translate("upgrade")}
 			if settings.nav.custom_logo
 				a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand

+ 1 - 1
services/web/app/views/project/list/_current_plan_mixins.pug

@@ -112,5 +112,5 @@ mixin free_plan()
 		event-tracking-mb="true"
 		event-tracking-label="upgrade"
 		event-tracking-trigger="click"
-		event-segmentation='{"source": "dashboard-top"}'
+		event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "default", "is-dashboard-sidebar-hidden": "false"}'
 	) Upgrade

+ 5 - 1
services/web/frontend/js/features/project-list/components/current-plan-widget/free-plan.tsx

@@ -14,7 +14,11 @@ function FreePlan({ featuresPageURL }: FreePlanProps) {
   )
 
   const handleClick = () => {
-    eventTracking.sendMB('upgrade-button-click', { source: 'dashboard-top' })
+    eventTracking.sendMB('upgrade-button-click', {
+      source: 'dashboard-top',
+      'project-dashboard-react': 'enabled',
+      'is-dashboard-sidebar-hidden': false,
+    })
   }
 
   const featuresPageVariant = getMeta('ol-splitTestVariants')?.['features-page']

+ 2 - 0
services/web/test/frontend/features/project-list/components/current-plan-widget.test.tsx

@@ -53,6 +53,8 @@ describe('<CurrentPlanWidget />', function () {
       expect(sendMBSpy).calledWith('upgrade-button-click', {
         source: 'dashboard-top',
         page: '/',
+        'project-dashboard-react': 'enabled',
+        'is-dashboard-sidebar-hidden': false,
       })
     })
   })