var loadScript = function(uri){ return new Promise((resolve, reject) => { let tag = document.createElement('script'); tag.src = uri; tag.async = true; tag.onload = resolve; // Resolve on successful load tag.onerror = reject; // Reject on error let scriptTag = document.getElementsByTagName('script')[0]; scriptTag.parentNode.insertBefore(tag, scriptTag); }); }; const scriptPromise = loadScript('https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=R5DjtQ'); Promise.all([ scriptPromise ]) .then(() => { // --- var _learnq = window._learnq || []; if (UNAS.customer['email'] != '') { window._learnq.push(['identify', { $email: UNAS.customer['email'] }]); console.log(UNAS.customer['email']); } window._learnq.setCartUrlInfo = { "url": UNAS.shop.base_url + "/shop_cart.php" }; if (window._learnq.ready !== undefined) { window._learnq.setCartUrl(window._learnq.setCartUrlInfo.url); } $(document).on("addToCart", function(event, product_array) { console.log(product_array); $.ajax({ type: "GET", async: true, dataType: 'json', productArray: product_array, url: '//ku.zmmarketing.hu/klaviyo/api-start.php', data: { op: 'productinfo', shop: 'lovesexshop_cz', sku: product_array["sku"] }, success: function(result) { // console.log(result); // console.log(this.productArray); var act_full_variant_name = ""; if (this.productArray["variant_list1"] != undefined) { act_full_variant_name = this.productArray["variant_list1"]; } if (this.productArray["variant_list2"] != undefined) { if (act_full_variant_name != "") act_full_variant_name += "-"; act_full_variant_name += this.productArray["variant_list2"]; } if (this.productArray["variant_list3"] != undefined) { if (act_full_variant_name != "") act_full_variant_name += "-"; act_full_variant_name += this.productArray["variant_list3"]; } window._learnq.addToCartInfo = { "product_id": this.productArray["master_key"], "sku": this.productArray["sku"], "name": this.productArray["name"], "quantity": this.productArray["qty"], "product_url": result.URL, "image_url": result.ImageURL, "categories": result.Categories, "variation": false }; if (act_full_variant_name != "") { window._learnq.addToCartInfo["variation"] = new Array(); window._learnq.addToCartInfo["variation"]["code"] = act_full_variant_name; window._learnq.addToCartInfo["variation"]["stock"] = true; window._learnq.addToCartInfo["variation"]["details"] = new Array(); if (this.productArray["variant_list1"] != undefined) { window._learnq.addToCartInfo["variation"]["details"][this.productArray["variant_list1"]] = { "category_name": this.productArray["variant_name1"], "category": this.productArray["variant_name1"], "value": this.productArray["variant_list1"] } } if (this.productArray["variant_list2"] != undefined) { window._learnq.addToCartInfo["variation"]["details"][this.productArray["variant_list2"]] = { "category_name": this.productArray["variant_name2"], "category": this.productArray["variant_name2"], "value": this.productArray["variant_list2"] } } if (this.productArray["variant_list3"] != undefined) { window._learnq.addToCartInfo["variation"]["details"][this.productArray["variant_list3"]] = { "category_name": this.productArray["variant_name3"], "category": this.productArray["variant_name3"], "value": this.productArray["variant_list3"] } } } if (window._learnq.ready !== undefined) { window._learnq.addToCart(window._learnq.addToCartInfo.product_id, window._learnq.addToCartInfo.sku, window._learnq.addToCartInfo.name, window._learnq.addToCartInfo.quantity, window._learnq.addToCartInfo.variation); } window._learnq.push(['track', 'Added to Cart', window._learnq.addToCartInfo]); console.log('add to cart'); console.log(window._learnq); } }); }); $(document).on("changeVariant", function(event, product_array) { var act_full_variant_name = ""; if (product_array["variant_list1"] != undefined) { act_full_variant_name = product_array["variant_list1"]; } if (product_array["variant_list2"] != undefined) { if (act_full_variant_name != "") act_full_variant_name += "-"; act_full_variant_name += product_array["variant_list2"]; } if (product_array["variant_list3"] != undefined) { if (act_full_variant_name != "") act_full_variant_name += "-"; act_full_variant_name += product_array["variant_list3"]; } window._learnq.setVariationInfo = { "product_id": product_array["sku"], "variation": false }; if (act_full_variant_name != "") { window._learnq.setVariationInfo["variation"] = new Array(); window._learnq.setVariationInfo["variation"]["code"] = act_full_variant_name; window._learnq.setVariationInfo["variation"]["stock"] = true; window._learnq.setVariationInfo["variation"]["details"] = new Array(); if (product_array["variant_list1"] != undefined) { window._learnq.setVariationInfo["variation"]["details"][product_array["variant_list1"]] = { "category_name": product_array["variant_name1"], "category": product_array["variant_name1"], "value": product_array["variant_list1"] } } if (product_array["variant_list2"] != undefined) { window._learnq.setVariationInfo["variation"]["details"][product_array["variant_list2"]] = { "category_name": product_array["variant_name2"], "category": product_array["variant_name2"], "value": product_array["variant_list2"] } } if (product_array["variant_list3"] != undefined) { window._learnq.setVariationInfo["variation"]["details"][product_array["variant_list3"]] = { "category_name": product_array["variant_name3"], "category": product_array["variant_name3"], "value": product_array["variant_list3"] } } } if (window._learnq.ready !== undefined) { window._learnq.setVariation(window._learnq.setVariationInfo.product_id, window._learnq.setVariationInfo.variation); } }); $(document).on("addToFavourites", function(event, product_array) { window._learnq.addToWishlistInfo = { "product_id": product_array["master_key"], "sku": product_array["sku"] }; if (window._learnq.ready !== undefined) { window._learnq.addToWishlist(window._learnq.addToWishlistInfo.product_id); } window._learnq.push(['track', 'Added Like', window._learnq.addToWishlistInfo]); }); console.log(window._learnq); // --- if ($('body').attr('id') == 'ud_shop_artdet') { var _learnq = window._learnq || []; $(document).ready(function() { $.ajax({ type: 'GET', async: true, dataType: 'json', url: '//ku.zmmarketing.hu/klaviyo/api-start.php', data: { op: 'productinfo', shop: 'lovesexshop_cz', sku: UNAS.shop['sku'] }, success: function(result) { window._learnq.push(['track', 'Viewed Product', result]); } }); }); console.log(window._learnq); // --- } else if ($('body').attr('id') == 'ud_shop_order_mods') { $(document).ready(function() { var _learnq = window._learnq || []; $.ajax({ type: "GET", async: true, dataType: 'json', url: shop_url_main + '/shop_ajax/api.php', data: { get_ajax: 1, api_auth: UNAS.api_auth, action: 'getCart', data: '' }, success: function(result) { // console.log('getCart success'); let userid = ''; $.ajax({ type: "GET", async: true, dataType: 'json', url: shop_url_main + '/shop_ajax/api.php', data: { get_ajax: 1, api_auth: UNAS.api_auth, action: 'getCustomer', data: '' }, success: function(u) { // console.log('getCustomer success'); // console.log('userinfo'); // console.log(u); userid = u.length ? u.id : 0; var skuArray = []; result.items.forEach(function(item) { skuArray.push(item.sku); }); var itemsToPush = []; var price = 0; result.items.forEach(function(item) { price = (item.price_gross * item.quantity) + price; itemsToPush['key_' + item.sku] = {}; itemsToPush['key_' + item.sku]['ProductID'] = item.id; itemsToPush['key_' + item.sku]['SKU'] = item.sku; itemsToPush['key_' + item.sku]['ProductName'] = item.name; itemsToPush['key_' + item.sku]['Quantity'] = item.quantity; itemsToPush['key_' + item.sku]['ItemPrice'] = item.price_gross; itemsToPush['key_' + item.sku]['RowTotal'] = item.price_gross * item.quantity; }); $.ajax({ type: "GET", async: true, dataType: 'json', userId: userid, productData: result, itemsToPushArray: itemsToPush, url: '//ku.zmmarketing.hu/klaviyo/api-start.php', data: { op: 'productinfo', shop: 'lovesexshop_cz', sku: skuArray.join('%7C'), multiple: true }, success: function(resultKuApi) { // console.log('productinfo success'); var itemsToPush = this.itemsToPushArray; const Items = []; const ItemNames = []; resultKuApi.forEach(function(item) { console.log(item); itemsToPush['key_' + item.SKU]['Categories'] = item.Categories; itemsToPush['key_' + item.SKU]['ImageURL'] = item.ImageURL; itemsToPush['key_' + item.SKU]['URL'] = item.URL; ItemNames.push(itemsToPush['key_' + item.SKU]['ProductName']); Items.push(itemsToPush['key_' + item.SKU]); }); console.log(ItemNames); console.log(Items); window._learnq.push(["track", "Started Checkout", { "$event_id": userid + "_" + Date.now(), "$value": price, "ItemNames": ItemNames, "CheckoutURL": shop_url_main + "/shop_order_control.php", "Items": Items }]); console.log('Started checkout'); console.log(window._learnq); } }); } }) } }); }); } }) .catch(error => { console.error('Script loading error:', error); });