window.dataLayer = window.dataLayer || [];
function pushPurchase(order) {
if (!order || !order.orderNumber) return;
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: String(order.orderNumber),
value: Number(order.total),
currency: order.currency,
items: (order.items || []).map(item => ({
item_id: String(item.productId || item.name),
item_name: item.name,
price: Number(item.price),
quantity: Number(item.quantity)
}))
}
});
console.log('PURCHASE PUSHED ✔️', order);
}
function tryGetOrder() {
if (typeof Ecwid === 'undefined') {
setTimeout(tryGetOrder, 500);
return;
}
if (!Ecwid.getTrackingData) {
console.log('Tracking API not ready');
setTimeout(tryGetOrder, 500);
return;
}
Ecwid.getTrackingData(function(data) {
console.log('TRACKING DATA:', data);
if (data?.page?.type === 'ORDER_CONFIRMATION' && data?.order) {
pushPurchase(data.order);
}
});
}
tryGetOrder();