From ea51a584e7dbde37ac2a195e1540067f827bc739 Mon Sep 17 00:00:00 2001 From: Waheed Ahmed Date: Fri, 4 Jun 2021 15:17:52 +0500 Subject: [PATCH] feat: set returning user cookie (#312) Set returning user cookie to measure exit rate for A/B test. --- src/data/utils/cookies.js | 13 ++++++++++--- src/data/utils/index.js | 2 +- src/register/RegistrationPage.jsx | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/data/utils/cookies.js b/src/data/utils/cookies.js index e9e5265c..369913c6 100644 --- a/src/data/utils/cookies.js +++ b/src/data/utils/cookies.js @@ -1,14 +1,21 @@ import Cookies from 'universal-cookie'; import { getConfig } from '@edx/frontend-platform'; +export function setCookie(cookieName, cookieValue, cookieExpiry) { + const cookies = new Cookies(); + const options = { domain: getConfig().COOKIE_DOMAIN, path: '/' }; + if (cookieExpiry) { + options.expires = cookieExpiry; + } + cookies.set(cookieName, cookieValue, options); +} + export default function setSurveyCookie(surveyType) { const cookieName = getConfig().USER_SURVEY_COOKIE_NAME; if (cookieName) { - const cookies = new Cookies(); const signupTimestamp = (new Date()).getTime(); // set expiry to exactly 24 hours from now const cookieExpiry = new Date(signupTimestamp + 1 * 864e5); - const options = { domain: getConfig().COOKIE_DOMAIN, expires: cookieExpiry, path: '/' }; - cookies.set(cookieName, surveyType, options); + setCookie(cookieName, surveyType, cookieExpiry); } } diff --git a/src/data/utils/index.js b/src/data/utils/index.js index 09722533..d452dc5d 100644 --- a/src/data/utils/index.js +++ b/src/data/utils/index.js @@ -8,4 +8,4 @@ export { windowScrollTo, } from './dataUtils'; export { default as AsyncActionType } from './reduxUtils'; -export { default as setSurveyCookie } from './cookies'; +export { default as setSurveyCookie, setCookie } from './cookies'; diff --git a/src/register/RegistrationPage.jsx b/src/register/RegistrationPage.jsx index 916df391..513a8677 100644 --- a/src/register/RegistrationPage.jsx +++ b/src/register/RegistrationPage.jsx @@ -32,7 +32,7 @@ import { DEFAULT_STATE, LOGIN_PAGE, PENDING_STATE, REGISTER_PAGE, VALID_EMAIL_REGEX, } from '../data/constants'; import { - getTpaProvider, getTpaHint, updatePathWithQueryParams, getAllPossibleQueryParam, setSurveyCookie, + getTpaProvider, getTpaHint, updatePathWithQueryParams, getAllPossibleQueryParam, setSurveyCookie, setCookie, } from '../data/utils'; class RegistrationPage extends React.Component { @@ -446,6 +446,7 @@ class RegistrationPage extends React.Component { if (this.props.registrationResult.success) { setSurveyCookie('register'); + setCookie('van-504-returning-user', true); // Fire optimizely event if (this.state.optimizelyExperimentName !== 'progressive_profiling_phase1') { window.optimizely = window.optimizely || [];