CSR-1632
Affiliate Cookies
This commit is contained in:
parent
9fd4ffd991
commit
8322d44173
5 changed files with 44 additions and 1 deletions
|
|
@ -30,6 +30,7 @@ const applicationConfig = {
|
||||||
OUTLOOK_CALENDAR:
|
OUTLOOK_CALENDAR:
|
||||||
"https://outlook.office.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent",
|
"https://outlook.office.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent",
|
||||||
FRONTEND_LOGGER_PATH: "/analytics/api/v1/logging",
|
FRONTEND_LOGGER_PATH: "/analytics/api/v1/logging",
|
||||||
|
AFFILIATE_COOKIE_CONTAINING_NAME: "_Track",
|
||||||
};
|
};
|
||||||
|
|
||||||
export { applicationConfig };
|
export { applicationConfig };
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,9 @@ const storeMutations = {
|
||||||
RESET_LEADGEN_SERVICEZIP_STATE: "resetLeadGenServiceZipState",
|
RESET_LEADGEN_SERVICEZIP_STATE: "resetLeadGenServiceZipState",
|
||||||
RESET_LEADGEN_QUOTE_STATE: "resetLeadGenQuoteState",
|
RESET_LEADGEN_QUOTE_STATE: "resetLeadGenQuoteState",
|
||||||
RESET_IS_LEADGEN: "resetIsLeadGen",
|
RESET_IS_LEADGEN: "resetIsLeadGen",
|
||||||
|
|
||||||
|
//Affiliate Cookies
|
||||||
|
UPDATE_AFFILIATE_COOKIES: "updateAffiliateCookies",
|
||||||
};
|
};
|
||||||
|
|
||||||
export { storeMutations };
|
export { storeMutations };
|
||||||
|
|
|
||||||
|
|
@ -210,6 +210,17 @@ export function refreshCookieExpiration(name, expirationTime) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getAffiliateCookies() {
|
||||||
|
const affiliateCookies = [];
|
||||||
|
const cookieContainingName = applicationConfig.AFFILIATE_COOKIE_CONTAINING_NAME;
|
||||||
|
const affiliateCookiesAll = getCookiesContainingName(cookieContainingName);
|
||||||
|
affiliateCookiesAll?.forEach((cookieName) => {
|
||||||
|
const cookieValue = getCookieValueByName(cookieName);
|
||||||
|
affiliateCookies.push({ CookieName: cookieName, CookieValue: cookieValue });
|
||||||
|
});
|
||||||
|
return affiliateCookies;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
===========================
|
===========================
|
||||||
= PRIVATE FUNCTIONS =
|
= PRIVATE FUNCTIONS =
|
||||||
|
|
@ -292,3 +303,15 @@ function getCookieValueByName(name) {
|
||||||
function isLocalhost() {
|
function isLocalhost() {
|
||||||
return location.hostname.includes("localhost");
|
return location.hostname.includes("localhost");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getCookiesContainingName(name) {
|
||||||
|
const allCookies = document.cookie.split(";");
|
||||||
|
const matchingCookies = [];
|
||||||
|
for (const cookie of allCookies) {
|
||||||
|
const [cookieName, cookieValue] = cookie.trim().split("=");
|
||||||
|
if (cookieName.includes(name)) {
|
||||||
|
matchingCookies.push(cookieName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return matchingCookies;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import {
|
||||||
getFunnelCookie,
|
getFunnelCookie,
|
||||||
updateSessionIdCookie,
|
updateSessionIdCookie,
|
||||||
deleteFunnelCookie,
|
deleteFunnelCookie,
|
||||||
|
getAffiliateCookies,
|
||||||
} from "@/helpers/heritage-integration/cookie-helper";
|
} from "@/helpers/heritage-integration/cookie-helper";
|
||||||
import { loadSessionIfPresent, saveSession } from "@/helpers/heritage-integration/order-helper";
|
import { loadSessionIfPresent, saveSession } from "@/helpers/heritage-integration/order-helper";
|
||||||
import {
|
import {
|
||||||
|
|
@ -164,7 +165,11 @@ const routes = [
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//Affiliate Cookies
|
||||||
|
const affiliateCookies = getAffiliateCookies();
|
||||||
|
if (affiliateCookies != null && affiliateCookies.length > 0) {
|
||||||
|
store.commit(storeMutations.UPDATE_AFFILIATE_COOKIES, affiliateCookies);
|
||||||
|
}
|
||||||
const loadSessionResponse = await loadSessionIfPresent(
|
const loadSessionResponse = await loadSessionIfPresent(
|
||||||
to.query.isInsurance != null
|
to.query.isInsurance != null
|
||||||
? to.query.isInsurance == "true"
|
? to.query.isInsurance == "true"
|
||||||
|
|
|
||||||
|
|
@ -172,6 +172,7 @@ const getDefaultState = () => {
|
||||||
lastPageVisited: null,
|
lastPageVisited: null,
|
||||||
experiments: [],
|
experiments: [],
|
||||||
triggeredSiteEntry: false,
|
triggeredSiteEntry: false,
|
||||||
|
affiliateCookies: [],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -732,6 +733,9 @@ export const mutations = {
|
||||||
updateTriggeredSiteEntry(state, wasSiteEntryTriggered) {
|
updateTriggeredSiteEntry(state, wasSiteEntryTriggered) {
|
||||||
state.applicationUser.triggeredSiteEntry = wasSiteEntryTriggered;
|
state.applicationUser.triggeredSiteEntry = wasSiteEntryTriggered;
|
||||||
},
|
},
|
||||||
|
updateAffiliateCookies(state, affiliateCookies) {
|
||||||
|
state.applicationUser.affiliateCookies = affiliateCookies;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// Export Getters
|
// Export Getters
|
||||||
|
|
@ -1809,6 +1813,8 @@ export const actions = {
|
||||||
|
|
||||||
// create a new array to avoid mutating state
|
// create a new array to avoid mutating state
|
||||||
const newGlassToReplace = convertGlassPieceNamingForApi(damage.glassToReplace);
|
const newGlassToReplace = convertGlassPieceNamingForApi(damage.glassToReplace);
|
||||||
|
//affiliate cookie save only when submitAfterSave
|
||||||
|
const affiliateCookies = submitAfterSave ? applicationUser.affiliateCookies : null;
|
||||||
|
|
||||||
return globalMethods.callHttpClient({
|
return globalMethods.callHttpClient({
|
||||||
method: endpoints.SaveSession.method,
|
method: endpoints.SaveSession.method,
|
||||||
|
|
@ -1822,6 +1828,7 @@ export const actions = {
|
||||||
lastPage: applicationUser.lastPageVisited,
|
lastPage: applicationUser.lastPageVisited,
|
||||||
pageData: applicationUser.pageData,
|
pageData: applicationUser.pageData,
|
||||||
savedSessionId: applicationUser.savedSessionId,
|
savedSessionId: applicationUser.savedSessionId,
|
||||||
|
affiliateCookies: affiliateCookies,
|
||||||
},
|
},
|
||||||
order: {
|
order: {
|
||||||
vehicle: {
|
vehicle: {
|
||||||
|
|
@ -2796,6 +2803,7 @@ export const actions = {
|
||||||
const submittedOrder = context.state.order;
|
const submittedOrder = context.state.order;
|
||||||
|
|
||||||
const experiments = context.state.applicationUser.experiments;
|
const experiments = context.state.applicationUser.experiments;
|
||||||
|
const affiliateCookies = context.state.applicationUser.affiliateCookies;
|
||||||
|
|
||||||
// set to local storage
|
// set to local storage
|
||||||
window.sessionStorage.setItem("submittedOrder", JSON.stringify(submittedOrder));
|
window.sessionStorage.setItem("submittedOrder", JSON.stringify(submittedOrder));
|
||||||
|
|
@ -2809,6 +2817,9 @@ export const actions = {
|
||||||
//restore user's experiments
|
//restore user's experiments
|
||||||
context.commit(storeMutations.UPDATE_EXPERIMENTS, experiments);
|
context.commit(storeMutations.UPDATE_EXPERIMENTS, experiments);
|
||||||
|
|
||||||
|
//restore affiliate cookies
|
||||||
|
context.commit(storeMutations.UPDATE_AFFILIATE_COOKIES, affiliateCookies);
|
||||||
|
|
||||||
//clear leadGen session storage
|
//clear leadGen session storage
|
||||||
window.sessionStorage.removeItem("leadGenState");
|
window.sessionStorage.removeItem("leadGenState");
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue