You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopify购买按钮:如何向Meta Pixel、GTM/GA4传递商品SKU等数据

问题

已成功在Shopify购买按钮中启用Meta(FB)像素与Google Tag Manager跟踪代码,现希望无需硬编码即可传递商品SKU、名称、价格及数量(使用集合购买按钮代码时尤为必要)。请问商品详情变量列表在哪里?

当前使用的事件回调代码如下:

"DOMEvents": {
  'click .shopify-buy__btn-wrapper .shopify-buy__btn': function (evt, target) {

    fbq('track', 'AddToCart', {
      content_name: ????,
      content_type: 'product',
      value: ????,
      quantity: ??,
      currency: 'USD'
    });

    // Push the "add_to_cart" event data to the data layer
    window.dataLayer.push({
      'event': 'add_to_cart',
      'ecommerce': {
        'add': {
          'products': [{
            'id': ?????,
            'price': ?????,
            'currencyCode': 'USD'
            
          }]
        }
      }
    });  

  }
},

尝试了以下代码但未生效:

fbq('track', 'AddToCart', {
  content_name: ui.components.product[0].selectedVariant.sku,
  content_type: 'product',
  value: ui.components.product[0].selectedVariant.price,
  currency: 'USD'
});

解决方案

1. 正确获取商品数据的方式

你之前用的ui.components.product[0]只会取集合里的第一个商品,集合购买按钮点击不同商品时会出错,且路径不符合Shopify Buy Button的组件数据结构。正确做法是在点击回调里通过this访问当前商品的Model实例(回调函数的上下文就是当前商品组件),所有商品/变体数据都存在this.model里。

2. 常用商品变量字段

直接在回调里打印console.log(this.model)就能查看所有可用的商品详情变量,常用字段包括:

  • 商品名称:this.model.selectedVariant.product.title
  • 商品SKU:this.model.selectedVariant.sku
  • 商品价格(转成元单位,Shopify返回的是分):this.model.selectedVariant.price / 100
  • 购买数量:this.model.quantity
  • 商品ID:this.model.selectedVariant.product.id
  • 变体ID:this.model.selectedVariant.id

3. 修正后的完整代码

"DOMEvents": {
  'click .shopify-buy__btn-wrapper .shopify-buy__btn': function (evt, target) {
    // 获取当前商品的变体和数量数据
    const selectedVariant = this.model.selectedVariant;
    const quantity = this.model.quantity;
    const price = selectedVariant.price / 100;

    // Meta像素 AddToCart 跟踪
    fbq('track', 'AddToCart', {
      content_name: selectedVariant.product.title,
      content_type: 'product',
      content_ids: [selectedVariant.product.id.toString()],
      sku: selectedVariant.sku,
      value: price * quantity,
      quantity: quantity,
      currency: 'USD'
    });

    // GTM 数据层推送
    window.dataLayer.push({
      'event': 'add_to_cart',
      'ecommerce': {
        'add': {
          'products': [{
            'id': selectedVariant.product.id.toString(),
            'name': selectedVariant.product.title,
            'sku': selectedVariant.sku,
            'price': price,
            'quantity': quantity,
            'currencyCode': 'USD'
          }]
        }
      }
    });  
  }
},

4. 变量列表查看方法

如果需要更多字段,直接在回调函数里加入console.log(this.model),点击购买按钮后打开浏览器控制台(F12),就能看到所有可用的商品、变体、数量等数据字段,按需取用即可。

内容的提问来源于stack exchange,提问作者RichP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 19:40:39