From 51ffe2c8c2cfc0ae6437bcfc151010759ee365f8 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Mon, 26 Sep 2016 17:10:43 -0500 Subject: [PATCH] A/B Testing, Round 2 (#8077) * feat(analytics): A/B test 2016-09-26 * feat(tutorial): A/B variant text --- website/client-old/js/services/guideServices.js | 2 +- website/common/locales/en/npc.json | 1 + website/server/libs/analyticsService.js | 4 ++++ website/server/models/user/hooks.js | 8 ++++---- website/server/models/user/schema.js | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/website/client-old/js/services/guideServices.js b/website/client-old/js/services/guideServices.js index f1b7e2cecc..fbe034e819 100644 --- a/website/client-old/js/services/guideServices.js +++ b/website/client-old/js/services/guideServices.js @@ -52,7 +52,7 @@ function($rootScope, User, $timeout, $state, Analytics) { { state: 'tasks', element: "h2.task-column_title.reward-title", - content: window.env.t('tourRewardsBrief'), + content: User.user.flags.armoireEnabled ? window.env.t('tourRewardsArmoire') : window.env.t('tourRewardsBrief'), placement: "left", proceed: window.env.t('tourRewardsProceed'), gold: 4, diff --git a/website/common/locales/en/npc.json b/website/common/locales/en/npc.json index 6980f2d1ed..229ac0632f 100644 --- a/website/common/locales/en/npc.json +++ b/website/common/locales/en/npc.json @@ -106,6 +106,7 @@ "tourHabitsBrief": "Good & Bad Habits", "tourHabitsProceed": "Makes sense!", "tourRewardsBrief": "Reward List", + "tourRewardsArmoire": "Reward List", "tourRewardsProceed": "That's all!", "welcomeToHabit": "Welcome to Habitica!", diff --git a/website/server/libs/analyticsService.js b/website/server/libs/analyticsService.js index 5acd62c8b5..69a008b2db 100644 --- a/website/server/libs/analyticsService.js +++ b/website/server/libs/analyticsService.js @@ -89,6 +89,10 @@ let _formatUserData = (user) => { properties.ABtest = user._ABtest; } + if (user.registeredThrough) { + properties.registeredPlatform = user.registeredThrough; + } + return properties; }; diff --git a/website/server/models/user/hooks.js b/website/server/models/user/hooks.js index b897e4ccab..a0e31bdc60 100644 --- a/website/server/models/user/hooks.js +++ b/website/server/models/user/hooks.js @@ -77,12 +77,12 @@ function _setUpNewUser (user) { let taskTypes; let iterableFlags = user.flags.toObject(); - // A/B Test 2016-09-12: Start with Sound Enabled? + // A/B Test 2016-09-26: Start with Armoire Enabled? if (Math.random() < 0.5) { - user.preferences.sound = 'rosstavoTheme'; - user._ABtest = '20160912-soundEnabled'; + user.flags.armoireEnabled = true; + user._ABtest = '20160926-armoireEnabled'; } else { - user._ABtest = '20160912-soundDisabled'; + user._ABtest = '20160926-armoireDisabled'; } if (user.registeredThrough === 'habitica-web' || user.registeredThrough === 'habitica-android') { diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js index 167add3a4c..a9ddcdfdda 100644 --- a/website/server/models/user/schema.js +++ b/website/server/models/user/schema.js @@ -408,7 +408,7 @@ let schema = new Schema({ skin: {type: String, default: '915533'}, shirt: {type: String, default: 'blue'}, timezoneOffset: {type: Number, default: 0}, - sound: {type: String, default: 'off', enum: ['off', 'danielTheBard', 'gokulTheme', 'luneFoxTheme', 'wattsTheme', 'rosstavoTheme', 'dewinTheme']}, + sound: {type: String, default: 'rosstavoTheme', enum: ['off', 'danielTheBard', 'gokulTheme', 'luneFoxTheme', 'wattsTheme', 'rosstavoTheme', 'dewinTheme']}, chair: {type: String, default: 'none'}, timezoneOffsetAtLastCron: Number, language: String,