diff --git a/src/constants/cookie-names.js b/src/constants/cookie-names.js index 9ee326f4..9a19c39f 100644 --- a/src/constants/cookie-names.js +++ b/src/constants/cookie-names.js @@ -14,8 +14,7 @@ const cookieNames = Object.freeze({ // Existing Safelite.com cookies DXDEV: 'dxdev', - SESSION_ID: 'sid', - SESSION_KEY: 'skey' + SESSION_ID: 'sid' }); const cookieExpirations = Object.freeze({ diff --git a/src/helpers/cookie-helper.js b/src/helpers/cookie-helper.js index 9f199611..d2143424 100644 --- a/src/helpers/cookie-helper.js +++ b/src/helpers/cookie-helper.js @@ -165,7 +165,7 @@ export function getDeviceIdValue() { Gets value of skey cookie, returns 0 if not found. */ export function getSessionKeyValue() { - const cookieValue = getCookieValueByName(cookieNames.SESSION_KEY); + const cookieValue = getCookieValueByName(cookieNames.ISS_SESSION_KEY); if (cookieValue) { return cookieValue; @@ -281,7 +281,7 @@ export function setSessionIdIfUnset(value) { } export function setSessionKeyIfUnset(value) { - if (!isCookieSet(cookieNames.ISS_SESSION_KEY)) { + if (getSessionKeyValue() === 0) { setCookieProperties( { [cookieNames.ISS_SESSION_KEY]: value diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index 964ec5be..297bb8e2 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -46,38 +46,45 @@ export default { return ''; }, logPageView(pageEvent) { + const store = useMainStore(); const currentPageName = this.getPageNameByQueryString(); + const payload = { userId: getDeviceIdValue(), sessionKey: getSessionKeyValue(), pageName: currentPageName, + referralSequenceNumber: store.order.referralSequenceNumber, + parentAccountNumber: store.order.parentAccountNumber ?? 0, sessionId: getSessionIdValue(), action: '', event: pageEvent, shouldUseSessionId: false, - experimentsForUser: useMainStore().applicationUser.experiments + experimentsForUser: store.applicationUser.experiments }; - useMainStore().logPageView(payload); + store.logPageView(payload); }, logCustomEvent(category, action, label, value) { + const store = useMainStore(); const currentPageName = this.getPageNameByQueryString(); const payload = { userId: getDeviceIdValue(), sessionKey: getSessionKeyValue(), pageName: currentPageName, + referralSequenceNumber: store.order.referralSequenceNumber, + parentAccountNumber: store.order.parentAccountNumber ?? 0, sessionId: getSessionIdValue(), category, action, label, value, shouldUseSessionId: false, - experimentsForUser: useMainStore().applicationUser.experiments + experimentsForUser: store.applicationUser.experiments }; - useMainStore().logCustomEvent(payload); + store.logCustomEvent(payload); }, pushEventToGA(category, action, label, pushToLogApp = false, valueToLogType = null) { diff --git a/src/store/index.js b/src/store/index.js index 4a11770d..59df6e99 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2524,12 +2524,14 @@ export const useMainStore = defineStore({ this.logExperimentExposure(pageName, experiment); } }, - logPageView({ userId, sessionKey, pageName, sessionId, action, event, shouldUseSessionId, experimentsForUser }) { + logPageView({ userId, sessionKey, pageName, referralSequenceNumber, parentAccountNumber, sessionId, action, event, shouldUseSessionId, experimentsForUser }) { const payload = { userId, sessionKey, sessionId, pageName, + referralSequenceNumber, + parentAccountNumber, applicationName: applicationConfig.APPLICATION_NAME, action, event, @@ -2541,7 +2543,8 @@ export const useMainStore = defineStore({ method: endpoints.LogPageView.method, endpoint: endpoints.LogPageView.url, payload, - logApiCall: false + logApiCall: false, + bailoutOnError: false }).then( (response) => response, (error) => { @@ -2570,7 +2573,8 @@ export const useMainStore = defineStore({ method: endpoints.LogCustomEvent.method, endpoint: endpoints.LogCustomEvent.url, payload, - logApiCall: false + logApiCall: false, + bailoutOnError: false }).then( (response) => response, (error) => { @@ -2598,7 +2602,8 @@ export const useMainStore = defineStore({ method: endpoints.InitializeSession.method, endpoint: endpoints.InitializeSession.url, payload, - logApiCall: false + logApiCall: false, + bailoutOnError: false }).then( (response) => response, (error) => {