diff --git a/packages/fakeyou.com/src/common/Analytics.ts b/packages/fakeyou.com/src/common/Analytics.ts index 49cb10af78..cae7422743 100644 --- a/packages/fakeyou.com/src/common/Analytics.ts +++ b/packages/fakeyou.com/src/common/Analytics.ts @@ -32,6 +32,22 @@ class Analytics { // ========== PREMIUM ========== + static premiumSelectPlanPlus() { + Analytics.sendCategorizedEvent('premium', 'select_plan_plus'); + } + + static premiumSelectPlanPro() { + Analytics.sendCategorizedEvent('premium', 'select_plan_pro'); + } + + static premiumSelectPlanElite() { + Analytics.sendCategorizedEvent('premium', 'select_plan_elite'); + } + + static premiumSelectUnsubscribe() { + Analytics.sendCategorizedEvent('premium', 'select_unsubscribe'); + } + static premiumForwardToStripeCheckout() { Analytics.sendCategorizedEvent('premium', 'forward_to_stripe_checkout'); } diff --git a/packages/fakeyou.com/src/v2/view/premium/PricingPage.tsx b/packages/fakeyou.com/src/v2/view/premium/PricingPage.tsx index e64cffb63e..0abd2f8ef8 100644 --- a/packages/fakeyou.com/src/v2/view/premium/PricingPage.tsx +++ b/packages/fakeyou.com/src/v2/view/premium/PricingPage.tsx @@ -51,8 +51,25 @@ function PricingPage(props: Props) { }; const beginStripeFlow = async ( - internal_plan_key: string + internal_plan_key: string, + analyticsName: string, ): Promise => { + + switch (analyticsName) { + case "plus": + Analytics.premiumSelectPlanPlus(); + break; + case "pro": + Analytics.premiumSelectPlanPro(); + break; + case "elite": + Analytics.premiumSelectPlanElite(); + break; + case "unsubscribe": + Analytics.premiumSelectUnsubscribe(); + break; + } + if (!props.sessionWrapper.isLoggedIn()) { // TODO: This needs to bring the user back to purchase flow. Analytics.premiumBounceToSignup(); @@ -119,7 +136,7 @@ function PricingPage(props: Props) { freeButton = ( <>