Merge pull request #792 from Safelite/feature/richardson/SSR-1419

Add log exposure to before enter on welcome page.
This commit is contained in:
brich1212safe 2024-07-16 10:21:14 -04:00 committed by GitHub
commit 203898871b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 8 deletions

View file

@ -1,5 +1,7 @@
const experimentUniverses = Object.freeze({
ISS_FUNNEL: 'ISSFunnel'
ISS_FUNNEL: 'ISSFunnel',
ISS_FEATURETOGGLE_AREFEES_HIDDEN: 'NextGenISS_FeatureToggle_AreFeesHidden',
ISS_FEATURETOGGLE_AREFEES_OVERRIDDEN: 'NextGenISS_FeatureToggle_AreFeesOverridden'
});
const experimentSettings = Object.freeze({

View file

@ -202,9 +202,9 @@ export default {
async beforeRouteEnter(to, from, next) {
// Call APIs
const cmsContentPromise = fetchCmsContentForPage(to.query.issPage);
const cmsGlobalSiteHeaderContentPromise =
fetchGlobalCmsContent('iss-siteheader');
const cmsGlobalSiteHeaderContentPromise = fetchGlobalCmsContent('iss-siteheader');
useMainStore().logWelcomePageExperiments(to.query.issPage);
// Settle promises and get results
const promiseResultMap = [
{

View file

@ -6,7 +6,7 @@ import { endpoints } from '@/constants/endpoints';
import { getDateForSavedSessionTimeout } from '@/helpers/session-helper';
// eslint-disable-next-line import/no-cycle
import globalMethods from '@/global-methods';
import { experimentTriggers } from '@/constants/experiments';
import { experimentTriggers, experimentUniverses } from '@/constants/experiments';
import applicationConfig from '@/constants/application-config';
import issPageValues from '@/router/router-constants/issPage-values';
import damageLocationsSelected from '@/constants/damage-locations-selected';
@ -29,6 +29,7 @@ import { getLineItemsFlattened } from '@/helpers/line-items-helper';
import { buildQueryStringParameterFromArrayOfComplexObjects, getLineItemQueryString, getTaxLineItemQueryString } from '@/helpers/querystring-helper';
import coverageType from '@/constants/coverage-type';
import { getFeatureTogglesQueryString } from '@/helpers/experiment-helper';
import { getSessionKeyValue, getUserIdValue } from '@/helpers/cookie-helper';
const storeId = 'main';
@ -2202,15 +2203,14 @@ export const useMainStore = defineStore({
this.order.schedule.jobMinMinutes = scheduleInfo.jobMinMinutes;
}
},
// Analytics Actions
logExperimentExposure({ userId, sessionKey, pageName, experiment }) {
logExperimentExposure(pageName, experiment) {
return globalMethods.callHttpClient({
method: endpoints.LogExperimentExposureIfAssigned.method,
endpoint: endpoints.LogExperimentExposureIfAssigned.url,
payload: {
experimentForLogging: {
userId,
userId: getUserIdValue(),
experimentUniverseId: experiment.universeId,
experimentUniverseName: experiment.universeName,
experimentTestId: experiment.testId,
@ -2221,12 +2221,18 @@ export const useMainStore = defineStore({
isExposed: experiment.isExposed,
userPartitionNumber: experiment.userPartitionNumber,
assignmentId: experiment.assignmentId,
sessionKey,
sessionKey: getSessionKeyValue(),
pageName
}
}
});
},
logExperimentIfExists(pageName, universe) {
const experiment = this.applicationUser.experiments.find((e) => e.universeName === universe);
if (experiment !== undefined) {
this.logExperimentExposure(pageName, experiment);
}
},
logPageView({ userId, sessionKey, pageName, sessionId, action, event, shouldUseSessionId, experimentsForUser }) {
const payload = {
userId,
@ -2281,6 +2287,10 @@ export const useMainStore = defineStore({
}
);
},
logWelcomePageExperiments(issPage) {
this.logExperimentIfExists(issPage, experimentUniverses.ISS_FEATURETOGGLE_AREFEES_HIDDEN);
this.logExperimentIfExists(issPage, experimentUniverses.ISS_FEATURETOGGLE_AREFEES_OVERRIDDEN);
},
initializeSession({ userId, sessionId, userAgent, referrer }) {
const payload = {
applicationName: applicationConfig.APPLICATION_NAME,