diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index eddf4463b..4f034c93c 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -409,31 +409,36 @@ export default { let productSku = part.partNumber; let productType = part.partType; let promoCode = part.promoCode; - let productPrice = baseMixin.methods - .getTotalPriceOfAllLineItemsAndChildParts([part], false) - .toFixed(2); + let productPrice = baseMixin.methods.getTotalPriceOfAllLineItemsAndChildParts( + [part], + false + ); - if (productSku == "DISCOUNT") { + if (productSku == "DISCOUNT" || productType == "SERVICE PACKAGE DISCOUNT") { if (coupon) { coupon += ","; } - coupon += productSku; - discount = discount + parseFloat(productPrice) * -1; + if (productSku == "DISCOUNT") { + coupon += promoCode; + } else { + coupon += productSku; + } + discount += productPrice * -1; } else { products.push({ productType: productType, productSku: productSku, - productPrice: productPrice.toString(), + productPrice: productPrice.toFixed(2), productQuantity: "1", }); - subTotal += parseFloat(productPrice); + subTotal += productPrice; } } pushToDataLayerIfDefined({ productArray: { coupon: coupon, - discount: discount.toString(), - subTotal: subTotal.toString(), + discount: discount.toFixed(2), + subTotal: subTotal.toFixed(2), products: products, }, }); @@ -557,7 +562,7 @@ export default { const filteredCookie = sortedCookies?.find( (x) => x.tagEvent?.length > 0 && x.batchEvent?.length > 0 ); - if (filteredCookie?.length > 0) { + if (isDefined(filteredCookie)) { cjEvent = filteredCookie.tagEvent; const hasSubmittedOrder = baseMixin.methods.hasSubmittedOrder(); const submittedOrder = baseMixin.methods.getSubmittedOrder();