搜索结果

×

搜索结果将在这里显示。

🍔 MTG店匠像素绑定

上面这三个随便输入,代码复制下面代码

<script>
(function (w, d) {
  var u = "https://cdn-static.mintegral.com/sdk/pixel.js";
  if (w.mintegralPixel) return;
  var s = (w.mintegralPixel = function () {
    s.performOperation
      ? s.performOperation.apply(s, arguments)
      : s.operationQueue.push(arguments);
  });
  s.operationQueue = [];
  var f = d.getElementsByTagName("script")[0],
    e = d.createElement("script");
  e.async = !0;
  e.src = u;
  f.parentNode.insertBefore(e, f);
})(window, document);

// 初始化
mintegralPixel("init", {
  setupType: 1 // 1 - self-built website
});

// page_view 事件
mintegralPixel("track", {
  type: "page_view",
  data: {
    url: window.location.href,
    title: document.title
  }
});
</script>

加购

<script type="text/javascript">
document.addEventListener("dj.addToCart", async function(e) {
  try {
    const detail = e.detail;
    if (!detail) return;

    console.log("Add to Cart:", detail);

    const product = await fetch(`/api/products/${detail.product_id}`)
      .then(r => r.json())
      .then(d => d.data.product)
      .catch(err => {
        console.error("Fetch product error:", err);
        return {};
      });

    const itemPrice = Number(detail.item_price) || 0;
    const quantity = Number(detail.quantity) || 1;
    const discount = Number(product.discount) || 0;

    const eventData = {
      currency: window.C_SETTINGS?.currency_code || "USD",
      value: itemPrice * quantity, // 总价 number
      items: [{
        item_variant_id: detail.variant_id || "",
        item_id: detail.product_id || "",
        item_name: detail.name || "",
        price: itemPrice,
        quantity: quantity,
        image_url: product.image?.src ? window.location.protocol + product.image.src : "",
        item_category_id: product.category_id || "",
        item_brand: product.brand || "",
        discount: discount
      }]
    };

    console.log("Tracking add_to_cart event:", eventData);
    mintegralPixel("track", { type: "product_add_to_cart", data: eventData });

  } catch (err) {
    console.error("[add_to_cart] error:", err);
  }
});
</script>

页面浏览

 <script type="text/javascript">
document.addEventListener("dj.viewContent", async function(e) {
  try {
    const detail = e.detail || {};
    const selectedId = detail.selected?.id || "";
    const product = detail.product || {};

    if (!selectedId) return;

    const item = {
      item_variant_id: selectedId,
      item_id: product.id || "",
      item_name: product.title || "",
      price: product.price || 0,
      quantity: 1,
      image_url: product.image?.src ? "https:" + product.image.src : "",
      item_category_id: "{category_id}"
    };

    mintegralPixel("track", {
      type: "product_view",
      data: {
        currency: window.C_SETTINGS.currency_code || "USD",
        value: item.price,
        items: [item]
      }
    });

    console.log("[product_view] tracked:", item);
  } catch (err) {
    console.error("[product_view] error:", err);
  }
});

      </script>

开始结账

<script>
function trackBeginCheckout() {
    try {
        // 只在 /checkout/[orderId] 页面触发
        const isCheckoutPage =
            (window.__NEXT_DATA__ && window.__NEXT_DATA__.page === "/checkout/[orderId]") ||
            (location.pathname.startsWith("/checkout/") && !location.pathname.includes("thank_you"));

        if (!isCheckoutPage) return;

        let attempts = 0;
        const check = async () => {
            attempts++;
            const products = window.CheckoutAPI ? CheckoutAPI.summary.getUiProductList() : [];

            if (products.length > 0) {
                const total = products.reduce(
                    (sum, item) => sum + (Number(item.price) || 0) * (item.quantity || 0),
                    0
                );

                const items = await Promise.all(products.map(async item => {
                    return {
                        item_id: item.id || "",
                        item_variant_id: item.variantId || "",
                        item_name: item.productTitle || "",
                        price: Number(item.price) || 0,   // 转换为 number
                        quantity: item.quantity || 1,
                        item_category_id: "1",
                        image_url: item.coverUrl ? "https:" + item.coverUrl : "",
                        discount: Number(item.discount) || 0, // 折扣也强转 number
                        item_brand: item.brand || ""
                    };
                }));

                mintegralPixel("track", {
                    type: "begin_checkout",
                    data: {
                        currency: window.C_SETTINGS?.currency_code || "USD",
                        value: total,
                        items: items
                    }
                });

                console.log("[begin_checkout] tracked:", items);
            } else if (attempts < 50) {
                setTimeout(check, 100);
            }
        };

        check();
    } catch (e) {
        console.error("[begin_checkout] error:", e);
    }
}

if (document.readyState === "complete") {
    trackBeginCheckout();
} else {
    window.addEventListener("load", trackBeginCheckout);
}
</script>

支付成功

<script>
(function() {
    try {
        const isThankYouPage =
            (window.__NEXT_DATA__ && window.__NEXT_DATA__.page === "/checkout/[orderId]/thank_you") ||
            (location.pathname.includes("/checkout/") && location.pathname.includes("/thank_you"));

        if (!isThankYouPage) return;
        if (!window.ORDER) return;

        const orderId = window.ORDER.id;
        if (!orderId) return;

        // 如果这个订单已经上报过,就不再重复统计
        if (localStorage.getItem("purchase_tracked_" + orderId)) {
            console.log("[purchase] already tracked:", orderId);
            return;
        }
        localStorage.setItem("purchase_tracked_" + orderId, "1");

        // 商品明细
        const items = (window.ORDER.line_items || []).map(item => ({
            item_variant_id: item.variant_id || "",
            item_id: item.id || "",
            item_name: item.product_title || "",
            price: Number(item.price) || 0,
            quantity: Number(item.quantity) || 1,
            item_category_id: "1",
            image_url: item.image ? "https:" + item.image.src : "",
            discount: Number(item.discount) || 0,
            item_brand: item.brand || ""
        }));

        const totalPrice = Number(window.ORDER.prices?.total_price) || 0;
        const shipping = Number(window.ORDER.shipping_total) || 0;
        const tax = Number(window.ORDER.tax_total) || 0;
        const value = totalPrice - shipping;

        mintegralPixel("track", {
            type: "purchase",
            data: {
                currency: window.ORDER.currency_code || "USD",
                value: value,
                transaction_id: orderId,
                shipping: shipping,
                tax: tax,
                items: items
            }
        });

        console.log("[purchase] tracked once:", orderId, { value, shipping, tax, items });
    } catch (e) {
        console.error("[purchase] error:", e);
    }
})();
</script>