A/B Testing, Round 2 (#8077)

* feat(analytics): A/B test 2016-09-26

* feat(tutorial): A/B variant text
This commit is contained in:
Sabe Jones 2016-09-26 17:10:43 -05:00 committed by GitHub
parent efc0469bef
commit 51ffe2c8c2
5 changed files with 11 additions and 6 deletions

View file

@ -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,

View file

@ -106,6 +106,7 @@
"tourHabitsBrief": "<strong>Good & Bad Habits</strong><ul><li>Good Habits award Gold & Experience.</li><li>Bad Habits make you lose Health.</li></ul>",
"tourHabitsProceed": "Makes sense!",
"tourRewardsBrief": "<strong>Reward List</strong><ul><li>Spend your hard-earned Gold here!</li><li>Purchase Equipment for your avatar, or set custom Rewards.</li></ul>",
"tourRewardsArmoire": "<strong>Reward List</strong><ul><li>Spend your hard-earned Gold here!</li><li>Purchase Equipment for your avatar, get a random prize from the Enchanted Armoire, or set custom Rewards.</li></ul>",
"tourRewardsProceed": "That's all!",
"welcomeToHabit": "Welcome to Habitica!",

View file

@ -89,6 +89,10 @@ let _formatUserData = (user) => {
properties.ABtest = user._ABtest;
}
if (user.registeredThrough) {
properties.registeredPlatform = user.registeredThrough;
}
return properties;
};

View file

@ -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') {

View file

@ -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,