Files
frontend-app-authn/src/recommendations/optimizelyExperiment.js
mubbsharanwar 423958c899 feat: setup optimizely experiment
Setup optimizely experiment for popular and trending recommendations for post registration experience

VAN-1566
2023-07-26 18:30:38 +05:00

43 lines
1.7 KiB
JavaScript

import optimizelyInstance from '../data/optimizely';
const RECOMMENDATIONS_EXP_KEY = 'popular_and_trending_recommendations_exp';
const RECOMMENDATIONS_EXP_VARIATION = 'popular_and_trending_recommendations';
export const eventNames = {
recommendedCourseClicked: 'welcome_page_recommendation_card_click',
recommendationsViewed: 'welcome_page_recommendations_viewed',
};
/**
* Activate the post registration recommendations optimizely experiment
* and return the true if the user is in variation else false.
* @param {String} userId user id of authenticated user.
* @return {string} variation the user belong in
*/
const activateRecommendationsExperiment = (userId) => optimizelyInstance?.activate(RECOMMENDATIONS_EXP_KEY, userId);
/**
* Fire an optimizely track event for post registration recommended course card clicked.
* @param {String} userId user id of authenticated user.
* @param {Object} userAttributes Dictionary of user attributes (optional).
*/
const trackRecommendationCardClickOptimizely = (userId, userAttributes = {}) => {
optimizelyInstance?.track(eventNames.recommendedCourseClicked, userId, userAttributes);
};
/**
* Fire an optimizely track event for post registration recommendation viewed.
* @param {String} userId user id of authenticated user.
* @param {Object} userAttributes Dictionary of user attributes (optional).
*/
const trackRecommendationViewedOptimizely = (userId, userAttributes = {}) => {
optimizelyInstance?.track(eventNames.recommendationsViewed, userId, userAttributes);
};
export {
RECOMMENDATIONS_EXP_VARIATION,
activateRecommendationsExperiment,
trackRecommendationCardClickOptimizely,
trackRecommendationViewedOptimizely,
};