From fff491d0ada129416047fdbf56df32067155e54e Mon Sep 17 00:00:00 2001 From: Jeremy-Z Date: Mon, 20 Apr 2026 10:59:21 -0400 Subject: [PATCH] Initial list of additional events. --- src/layouts/policy-vehicles/policy-vehicles.vue | 7 +++++++ src/layouts/schedule-page/schedule-page.vue | 7 ++----- src/layouts/welcome-page/welcome-page.vue | 5 ++++- src/mixins/analytics-mixin.js | 9 --------- src/router/index.js | 3 --- src/store/index.js | 2 +- 6 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/layouts/policy-vehicles/policy-vehicles.vue b/src/layouts/policy-vehicles/policy-vehicles.vue index 019c0059..720a8e02 100644 --- a/src/layouts/policy-vehicles/policy-vehicles.vue +++ b/src/layouts/policy-vehicles/policy-vehicles.vue @@ -197,12 +197,16 @@ export default { policyVehicleId: vehicle.id, vin: this.selectedVehicleVin }); + useMainStore().updateVehicleCoverage({ noCoverage: this.noCoverageForSelectedVehicle, deductible: this.deductibleForSelectedVehicle, repairWaived: this.repairWaivedForSelectedVehicle, endorsements: this.endorsementsForSelectedVehicle }); + + this.pushEventToGA("policy_vehicle", "submitted", vehicle.vehicleMake + "_" + vehicle.vehicleModel + " " + vehicle.carId, true); + this.navigateForward(); } catch (e) { if (e.isAxiosError && e.status === 404) { @@ -218,6 +222,9 @@ export default { vin: vehicle.vin }); this.policyVinFound = false; + + this.pushEventToGA("policy_vehicle", "submitted", vehicle.vehicleMake + "_" + vehicle.vehicleModel + " " + vehicle.carId, true); + this.navigateForward(); return; } diff --git a/src/layouts/schedule-page/schedule-page.vue b/src/layouts/schedule-page/schedule-page.vue index b40ad1d1..c76aacce 100644 --- a/src/layouts/schedule-page/schedule-page.vue +++ b/src/layouts/schedule-page/schedule-page.vue @@ -961,12 +961,9 @@ export default { } this.pushEventToGA('appointment', 'availability_mobile', `days_out_${dateDiffString}`, true, null, null); }, - pushServiceTypeEvent() { + pushServiceTypeEvent() { if (this.selectedAppointmentType) { - const gaScheduleType = { - ['service_type']: this.selectedAppointmentType.toLowerCase() - }; - this.pushGenericObjectToGA(gaScheduleType); + this.pushEventToGA('appointment', 'service_type', this.selectedAppointmentType.toLowerCase(), true, null, null); } }, async refreshDatePicker() { diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index 1bb70de7..b3450073 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -270,7 +270,7 @@ export default { this.mainStore.applicationUser.firstHit = false; } - // TODO: Check if we're coming from SFA + // TODO: Check if we're coming from SFA - site does not support SFA yet, add this back when it is enabled. // eslint-disable-next-line if (false) { this.pushEventToGA("co_branded", "welcome_clicked_cta", "yes_clicked", 0); @@ -358,6 +358,9 @@ export default { } promises.push(this.mainStore.getCoveragePolicyInfo()); await Promise.all(promises); + + this.pushEventToGA("policy_search", "policy_found", this.mainStore.isPolicyLookupSuccessful ? "Yes" : "No", true); + await saveSession({ shouldAwaitSaveSessionQueue: true, bailoutOnError: true }) this.navigateForward(); }, diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index 81d63e41..9b30181b 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -128,15 +128,6 @@ export default { this.logPageView(analyticsPageEvents.ENTRY); }, - pushValueToGA() { - const gaServiceType = { - ['service_type']: useMainStore().order?.serviceLocation?.appointmentType?.toLowerCase() - }; - if (gaServiceType && gaServiceType['service_type']) { - this.pushGenericObjectToGA(gaServiceType); - } - }, - pushOrderToDataLayer() { // helper check for if an object is defined (but maybe falsey) const isDefined = (x) => x !== null && x !== undefined; diff --git a/src/router/index.js b/src/router/index.js index 4fd5306e..64771db5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -190,9 +190,6 @@ router.afterEach(async (to, from) => { // Push experiments to Data Layer analyticsMixin.methods.pushExperimentsToDataLayer(); - // Push values to GA - analyticsMixin.methods.pushValueToGA(); - // Push current order status to Data Layer analyticsMixin.methods.pushOrderToDataLayer(); } diff --git a/src/store/index.js b/src/store/index.js index 680561af..19204b19 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -449,7 +449,7 @@ export const useMainStore = defineStore({ .reduce((r, c) => Object.assign(r, c), {}) ?? {}, originalDeductible: (state) => (state.order.damage.isRepair ? state.order.originalDeductible.repair : state.order.originalDeductible.replace), currentDeductible: (state) => (state.order.damage.isRepair ? state.order.currentDeductible.repair : state.order.currentDeductible.replace), - accountNameForEvents: (state) => state.issConfig.clientName.replaceAll(" ", "").replaceAll("&", "amp") + accountNameForEvents: (state) => state.issConfig.clientName }, actions: {