Răsfoiți Sursa

Merge pull request #11079 from overleaf/jel-features-link-analytics

[web] Add analytics to features link

GitOrigin-RevId: 80cbba05dfc94bce0b2f0b25a41ac76c8d22eee6
Jessica Lawshe 3 ani în urmă
părinte
comite
e391a9fc46

+ 2 - 2
services/web/app/views/layout/fat-footer.pug

@@ -44,9 +44,9 @@ footer.fat-footer.hidden-print
 				ul.list-unstyled
 					li
 						if !featuresPageVariant || featuresPageVariant === 'default'
-							a(href="/learn/how-to/Overleaf_premium_features") #{translate('premium_features')}
+							a(href="/learn/how-to/Overleaf_premium_features" event-tracking="features-page-link" event-tracking-mb="true" event-tracking-trigger="click" event-segmentation={splitTest: "features-page", splitTestVariant: "default", locationInPage: "footer"}) #{translate('premium_features')}
 						else
-							a(href="/about/features-overview") #{translate('features')}
+							a(href="/about/features-overview" event-tracking=" features-page-link" event-tracking-mb="true" event-tracking-trigger="click" event-segmentation={splitTest: "features-page", splitTestVariant: "new", locationInPage: "footer"}) #{translate('features')}
 					li
 						a(href="/user/subscription/plans?itm_referrer=footer-for-indv-groups") !{translate('for_individuals_and_groups')}
 					li

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

@@ -1,5 +1,5 @@
-- var featuresPageVariantNew = splitTestVariants && splitTestVariants['features-page'] && splitTestVariants['features-page'] === 'new'
-- var featuresLink = featuresPageVariantNew ? "/about/features-overview" : "/learn/how-to/Overleaf_premium_features"
+- var featuresPageVariant = splitTestVariants && splitTestVariants['features-page'] ? splitTestVariants['features-page'] : 'default' 
+- var featuresLink = featuresPageVariant === 'new' ? "/about/features-overview" : "/learn/how-to/Overleaf_premium_features"
 
 mixin current_plan()
 	if (usersBestSubscription)
@@ -25,6 +25,10 @@ mixin individual_plan_trial(subscription, plan, remainingTrialDays)
 		tooltip=translate('plan_tooltip', { plan: plan.name }),
 		tooltip-placement="bottom"
 		href=featuresLink
+		event-tracking="features-page-link"
+		event-tracking-mb="true"
+		event-tracking-trigger="click"
+		event-segmentation={splitTest:"features-page", splitTestVariant: featuresPageVariant}
 	)
 		if (remainingTrialDays === 1)
 			| !{translate('trial_last_day')} 
@@ -38,6 +42,10 @@ mixin individual_plan_active(subscription, plan)
 		tooltip=translate('plan_tooltip', {plan: plan.name}),
 		tooltip-placement="bottom"
 		href=featuresLink
+		event-tracking="features-page-link"
+		event-tracking-mb="true"
+		event-tracking-trigger="click"
+		event-segmentation={splitTest:"features-page", splitTestVariant: featuresPageVariant}
 	)
 		| !{translate('premium_plan_label')} 
 		span.info-badge
@@ -47,6 +55,10 @@ mixin group_plan_trial(subscription, plan, remainingTrialDays)
 		tooltip=translate(subscription.teamName != null ? 'group_plan_with_name_tooltip' : 'group_plan_tooltip', { plan: plan.name, groupName: subscription.teamName }),
 		tooltip-placement="bottom"
 		href=featuresLink
+		event-tracking="features-page-link"
+		event-tracking-mb="true"
+		event-tracking-trigger="click"
+		event-segmentation={splitTest:"features-page", splitTestVariant: featuresPageVariant}
 	)
 		if (remainingTrialDays === 1)
 			| !{translate('trial_last_day')} 
@@ -60,6 +72,10 @@ mixin group_plan_active(subscription, plan)
 		tooltip=translate(subscription.teamName != null ? 'group_plan_with_name_tooltip' : 'group_plan_tooltip', { plan: plan.name, groupName: subscription.teamName }),
 		tooltip-placement="bottom"
 		href=featuresLink
+		event-tracking="features-page-link"
+		event-tracking-mb="true"
+		event-tracking-trigger="click"
+		event-segmentation={splitTest:"features-page", splitTestVariant: featuresPageVariant}
 	)
 		| !{translate('premium_plan_label')} 
 		span.info-badge
@@ -69,6 +85,10 @@ mixin commons_plan(subscription, plan)
 		tooltip=translate('commons_plan_tooltip', { plan: plan.name, institution: subscription.name }),
 		tooltip-placement="bottom"
 		href=featuresLink
+		event-tracking="features-page-link"
+		event-tracking-mb="true"
+		event-tracking-trigger="click"
+		event-segmentation={splitTest:"features-page", splitTestVariant: featuresPageVariant}
 	)
 		| !{translate('premium_plan_label')} 
 		span.info-badge
@@ -78,6 +98,10 @@ mixin free_plan()
 		tooltip=translate('free_plan_tooltip'),
 		tooltip-placement="bottom"
 		href=featuresLink
+		event-tracking="features-page-link"
+		event-tracking-mb="true"
+		event-tracking-trigger="click"
+		event-segmentation={splitTest:"features-page", splitTestVariant: featuresPageVariant}
 	)
 		| !{translate('free_plan_label')} 
 		span.info-badge

+ 5 - 2
services/web/app/views/subscriptions/_premium_features_link.pug

@@ -1,6 +1,9 @@
 - var featuresPageVariantNew = splitTestVariants && splitTestVariants['features-page'] && splitTestVariants['features-page'] === 'new'
+ 
+- var newVariantSegmentation = {splitTest: 'features-page', splitTestVariant: 'new'}
+- var defaultVariantSegmentation = {splitTest: 'features-page', splitTestVariant: 'default'}
 
 if featuresPageVariantNew
-    p !{translate("get_most_subscription_by_checking_features", {}, [{name: 'a', attrs: {href: '/about/features-overview'}}])}
+    p !{translate("get_most_subscription_by_checking_features", {}, [{name: 'a', attrs: {href: '/about/features-overview', 'event-tracking':'features-page-link', 'event-tracking-trigger': 'click', 'event-tracking-mb': 'true', 'event-segmentation': newVariantSegmentation}}])}
 else
-    p !{translate("get_most_subscription_by_checking_premium_features", {}, [{name: 'a', attrs: {href: '/learn/how-to/Overleaf_premium_features'}}])}
+    p !{translate("get_most_subscription_by_checking_premium_features", {}, [{name: 'a', attrs: {href: '/learn/how-to/Overleaf_premium_features', 'event-tracking':'features-page-link', 'event-tracking-trigger': 'click', 'event-tracking-mb': 'true', 'event-segmentation': defaultVariantSegmentation}}])}

+ 5 - 4
services/web/app/views/subscriptions/successful_subscription.pug

@@ -1,9 +1,10 @@
 extends ../layout
 
 block content
-	- var featuresPageVariantNew = splitTestVariants && splitTestVariants['features-page'] && splitTestVariants['features-page'] === 'new'
-	- var featuresLink = featuresPageVariantNew ? "/about/features-overview" : "/learn/how-to/Overleaf_premium_features"
-	- var featuresTranslationKey = featuresPageVariantNew ? 'get_most_subscription_by_checking_features' : 'get_most_subscription_by_checking_premium_features'
+	- var featuresPageVariant= splitTestVariants && splitTestVariants['features-page'] ? splitTestVariants['features-page'] : 'default'
+	- var featuresLink = featuresPageVariant === 'new' ? "/about/features-overview" : "/learn/how-to/Overleaf_premium_features"
+	- var featuresTranslationKey = featuresPageVariant === 'new' ? 'get_most_subscription_by_checking_features' : 'get_most_subscription_by_checking_premium_features'
+	- var featuresLinkSegmentation = {splitTest: 'features-page', splitTestVariant: featuresPageVariant}
 
 	main.content.content-alt#main-content
 		.container
@@ -24,7 +25,7 @@ block content
 								a.btn.btn-primary.btn-large(href=`/manage/groups/${personalSubscription._id}/members`) #{translate("add_your_first_group_member_now")}
 						p.letter-from-founders
 							p #{translate("thanks_for_subscribing_you_help_sl", {planName:personalSubscription.plan.name})}
-							p !{translate(featuresTranslationKey, {}, [{name: 'a', attrs: {href: featuresLink}}])}
+							p !{translate(featuresTranslationKey, {}, [{name: 'a', attrs: {href: featuresLink, 'event-tracking':'features-page-link', 'event-tracking-trigger': 'click', 'event-tracking-mb': 'true', 'event-segmentation': featuresLinkSegmentation}}])}
 							p #{translate("need_anything_contact_us_at")} 
 								a(href=`mailto:${settings.adminEmail}`, ng-non-bindable) #{settings.adminEmail}
 								| .