// Đảm bảo TikTok Pixel chỉ được load một lần
if (!window.tiktokPixelLoaded) {
!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.load = function (e, n) {
var r = "https://analytics.tiktok.com/i18n/pixel/events.js";
ttq._i = ttq._i || {}, ttq._i[e] = [], ttq._t = ttq._t || {}, ttq._t[e] = +new Date, ttq._o = ttq._o || {}, ttq._o[e] = n || {};
var s = d.createElement("script");
s.type = "text/javascript", s.async = !0, s.src = r + "?sdkid=" + e + "&lib=" + t;
var f = d.getElementsByTagName("script")[0];
f.parentNode.insertBefore(s, f);
};
ttq.load('D2JDUIBC77U9PLHEOITG'); // Thay thế bằng Pixel ID của bạn
window.tiktokPixelLoaded = true;
}(window, document, 'ttq');
}
// Helper function to generate a unique event ID
function generateEventId() {
return 'event_' + Math.random().toString(36).substr(2, 9);
}
// Đảm bảo các sự kiện chỉ được đăng ký một lần
if (!window.tiktokEventsRegistered) {
// Event: PageView (kích hoạt khi trang được tải)
ttq.track('PageView');
// Event: ViewContent (kích hoạt khi xem sản phẩm)
analytics.subscribe('product_viewed', (event) => {
try {
const eventId = generateEventId(); // Tạo event_id duy nhất
const payload = {
content_id: event.id?.toString() || '',
content_name: event.title || '',
value: 1,
currency: 'USD',
event_id: eventId // Thêm event_id vào payload
};
ttq.track('ViewContent', payload);
} catch (error) {
console.error('Error tracking ViewContent:', error);
}
});
// Event: AddToCart (kích hoạt khi thêm sản phẩm vào giỏ hàng)
analytics.subscribe('product_added_to_cart', (event) => {
try {
if (!event.data || !event.data.cartLine) {
console.error('Invalid event data for AddToCart');
return;
}
const cartLine = event.data.cartLine;
const eventId = generateEventId(); // Tạo event_id duy nhất
const payload = {
contents: [{
content_id: cartLine.merchandise.id || '',
content_name: cartLine.merchandise.title || '',
quantity: cartLine.quantity || 1,
price: parseFloat(cartLine.cost.totalAmount.amount) || 0,
}],
value: parseFloat(cartLine.cost.totalAmount.amount) || 0,
currency: cartLine.cost.totalAmount.currencyCode || 'USD',
content_type: 'product',
event_id: eventId // Thêm event_id vào payload
};
ttq.track('AddToCart', payload);
} catch (error) {
console.error('Error tracking AddToCart:', error);
}
});
// Event: InitiateCheckout (kích hoạt khi bắt đầu thanh toán)
analytics.subscribe('checkout_started', (event) => {
try {
if (!event.data || !event.data.checkout) {
console.error('Invalid event data for InitiateCheckout');
return;
}
const checkout = event.data.checkout;
const firstItem = checkout.lineItems[0];
const eventId = generateEventId(); // Tạo event_id duy nhất
const payload = {
contents: [{
content_id: firstItem?.variant.id || '',
content_type: 'product', // Sửa thành "product" hoặc "product_group"
content_name: firstItem?.variant.product.title || '',
}],
value: parseFloat(firstItem?.variant.price.amount) || 0,
currency: checkout.currencyCode || 'USD',
event_id: eventId // Thêm event_id vào payload
};
ttq.track('InitiateCheckout', payload);
} catch (error) {
console.error('Error tracking InitiateCheckout:', error);
}
});
// Event: AddPaymentInfo (kích hoạt khi người dùng nhập thông tin thanh toán và gửi đi)
analytics.subscribe('payment_info_submitted', (event) => {
try {
if (!event.data || !event.data.checkout) {
console.error('Invalid event data for AddPaymentInfo');
return;
}
const checkout = event.data.checkout;
const checkoutTotalPrice = checkout.totalPrice?.amount;
const firstDiscountType = checkout.discountApplications[0]?.type;
const discountCode = firstDiscountType === 'DISCOUNT_CODE' ? checkout.discountApplications[0]?.title : null;
const eventId = generateEventId(); // Tạo event_id duy nhất
const payload = {
value: parseFloat(checkoutTotalPrice) || 0,
currency: checkout.totalPrice?.currencyCode || 'USD',
discount_code: discountCode || '', // Thêm mã giảm giá nếu có
event_id: eventId // Thêm event_id vào payload
};
// Gửi sự kiện về TikTok Pixel
ttq.track('AddPaymentInfo', payload);
} catch (error) {
console.error('Error tracking AddPaymentInfo:', error);
}
});
// Event: CompletePayment (kích hoạt khi thanh toán hoàn tất)
analytics.subscribe('checkout_completed', (event) => {
try {
if (!event.data || !event.data.checkout) {
console.error('Invalid event data for CompletePayment');
return;
}
const checkout = event.data.checkout;
const firstItem = checkout.lineItems[0];
const eventId = generateEventId(); // Tạo event_id duy nhất
const payload = {
content_id: firstItem?.variant.id || '',
content_name: firstItem?.variant.product.title || '',
value: parseFloat(checkout.totalPrice?.amount) || 0,
currency: checkout.totalPrice?.currencyCode || 'USD',
order_id: checkout.order?.id || '',
event_id: eventId // Thêm event_id vào payload
};
ttq.track('CompletePayment', payload);
} catch (error) {
console.error('Error tracking CompletePayment:', error);
}
});
window.tiktokEventsRegistered = true;
}
New Collection
– The SQ Store
Skip to content
Collection: New Collection
- Choosing a selection results in a full page refresh.
- Opens in a new window.