window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-C8NZ6B8FJQ', { cookie_domain: 'auto' }); // Shared helper you can call from LWC or from click attributes window.CQPAnalytics = window.CQPAnalytics || {}; window.CQPAnalytics.trackAddToCart = function (payload) { const quantity = Number(payload.quantity || 1); const price = payload.price !== undefined && payload.price !== null ? Number(payload.price) : undefined; const eventParams = { currency: payload.currency || 'USD', items: [{ item_id: payload.itemId, item_name: payload.itemName, item_category: payload.itemCategory, item_variant: payload.itemVariant, price: price, quantity: quantity }], source_area: payload.sourceArea, source_detail: payload.sourceDetail, page_type: payload.pageType }; if (price !== undefined && !Number.isNaN(price)) { eventParams.value = Number((price * quantity).toFixed(2)); eventParams.items[0].price = price; } Object.keys(eventParams).forEach((key) => { if (eventParams[key] === undefined || eventParams[key] === null || eventParams[key] === '') { delete eventParams[key]; } }); gtag('event', 'add_to_cart', eventParams); };