diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index d3c139c7..bb8dc439 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -95,15 +95,23 @@ export default { async logCustomEvent(category, action, label, value) { const store = useMainStore(); + const issConfig = store.issConfig; const currentPageName = this.getPageNameByQueryString(); //await this.validateSession(); + const submittedOrder = store.getSubmittedOrder(); + const hasSubmittedOrder = store.hasSubmittedOrder(); + const order = hasSubmittedOrder ? submittedOrder : store.order; + + // Use parentaccount on order, use parentaccount on issconfig as fallback. + const parentAccountNumber = (order.parentAccountNumber ?? issConfig.parentAccountNumber); + const payload = { userId: getUserIdValue(), sessionKey: getSessionKeyValue(), pageName: currentPageName, - referralSequenceNumber: store.order.referralSequenceNumber, - parentAccountNumber: store.order.parentAccountNumber ?? 0, + referralSequenceNumber: order.referralSequenceNumber, + parentAccountNumber: parentAccountNumber, sessionId: getSessionIdValue(), category, action, diff --git a/src/store/index.js b/src/store/index.js index 20bc7261..0dbf8c29 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2596,7 +2596,7 @@ export const useMainStore = defineStore({ } ); }, - async logCustomEvent({ userId, sessionKey, pageName, sessionId, category, action, label, value, shouldUseSessionId, experimentsForUser }) { + async logCustomEvent({ userId, sessionKey, pageName, sessionId, category, action, label, value, shouldUseSessionId, experimentsForUser, referralSequenceNumber, parentAccountNumber }) { if (pageName == null || pageName.length === 0) { pageName = 'none'; } const payload = { @@ -2610,7 +2610,9 @@ export const useMainStore = defineStore({ label, value, shouldUseSessionId, - experimentsForUser + experimentsForUser, + referralSequenceNumber, + parentAccountNumber }; return globalMethods.callHttpClient({