const PIXEL_NAME = 'Tiktok'; (function (w, d, t) { w.TiktokAnalyticsObject = t; var ttq = w[t] = w[t] || []; ttq.methods = [ "page", "track", "identify", "instances", "debug", "on", "off", "once", "ready", "alias", "group", "enableCookie", "disableCookie", "holdConsent", "revokeConsent", "grantConsent" ]; ttq.setAndDefer = function (t, e) { t[e] = function () { t.push([e].concat(Array.prototype.slice.call(arguments, 0))); }; }; for (var i = 0; i < ttq.methods.length; i++) { ttq.setAndDefer(ttq, ttq.methods[i]); } ttq.instance = function (t) { var e = ttq._i[t] || []; for (var n = 0; n < ttq.methods.length; n++) { ttq.setAndDefer(e, ttq.methods[n]); } return e; }; ttq.load = function (e, n) { var r = "https://analytics.tiktok.com/i18n/pixel/events.js", o = n && n.partner; ttq._i = ttq._i || {}; ttq._i[e] = []; ttq._i[e]._u = r; ttq._t = ttq._t || {}; ttq._t[e] = +new Date(); ttq._o = ttq._o || {}; ttq._o[e] = n || {}; n = document.createElement("script"); n.type = "text/javascript"; n.async = !0; n.src = r + "?sdkid=" + e + "&lib=" + t; e = document.getElementsByTagName("script")[0]; e.parentNode.insertBefore(n, e); }; ttq.load('CVVC7OJC77U29KB3S8I0'); console.log(`[${PIXEL_NAME}] | Custom pixel loaded.`); // page view // https://shopify.dev/docs/api/web-pixels-api/standard-events/page_viewed analytics.subscribe('page_viewed', (event) => { console.log(`[${PIXEL_NAME}] | Page viewed event fired.`, event); ttq.page(); }); // product add to cart // https://shopify.dev/docs/api/web-pixels-api/standard-events/product_added_to_cart analytics.subscribe('product_added_to_cart', (event) => { console.log(`[${PIXEL_NAME}] | Add to cart event fired.`, event); ttq.track('AddToCart', { content_id: event.data.cartLine.merchandise.product.id, price: event.data.cartLine.cost.totalAmount.amount, currency: event.data.cartLine.cost.totalAmount.currencyCode, value: event.data.cartLine.cost.totalAmount.amount }); }); // Initiate Checkout // https://shopify.dev/docs/api/web-pixels-api/standard-events/checkout_started analytics.subscribe('checkout_started', (event) => { console.log(`[${PIXEL_NAME}] | Initiate checkout fired.`, event); ttq.track('InitiateCheckout', { price: event.data.checkout.totalPrice, currency: event.data.checkout.currencyCode, order: event.data.checkout.order.id, content_id: event.data.checkout.token, value: event.data.checkout.totalPrice }); }); // Place An Order analytics.subscribe('checkout_completed', (event) => { console.log(`[${PIXEL_NAME}] | checkout_completed Order fired.`, event); ttq.track('PlaceAnOrder', { content_id: event.data.checkout.token, price: event.data.cartLine.cost.totalAmount.amount, value: event.data.cartLine.cost.totalAmount.amount, currency: event.data.cartLine.cost.totalAmount.currencyCode }); }); // Add payment Info WIP w/ update payload analytics.subscribe('payment_info_submitted', (event) => { console.log(`[${PIXEL_NAME}] | Add payment info fired.`, event); ttq.track('AddPaymentInfo', { content_id: event.data.checkout.currencyCode, price: event.data.cartLine.cost.totalAmount.amount, value: event.data.cartLine.cost.totalAmount.amount, currency: event.data.checkout.currencyCode, }); }); analytics.subscribe('checkout_completed', (event) => { console.log(`[${PIXEL_NAME}] | Complete Payment fired`, event); ttq.track('CompletePayment', { totalPrice: event.data.checkout.totalPrice, lineItems: event.data.checkout.lineItems, }); }); })(window, document, 'ttq'); });})(self.webPixelsManager.createShopifyExtend('46497856', 'custom'));