1

常见的JSPF var dataLayer = window.dataLayer = dataLayer || []; 已宣布。

在结帐步骤-3

dataLayer.push({
            'event' : 'checkout',
            'ecommerce' : {
                'currencyCode' : 'GBP',
                'checkout' : {
                    'actionField' : {
                        'step' : 3,
                        'option' : '<some-value>',
                        'tax' : '<some-value>',
                        **'action' : 'checkout'**
                    },
                    'products' : '<some-value>'
                }
            }
        });

它工作正常。推送正确的数据。

在结帐步骤 - 4

dataLayer.push({
            'event' : 'checkout',
            'ecommerce' : {
                'currencyCode' : 'GBP',
                'checkout' : {
                    'actionField' : {
                        'step' : 4,
                        'option' : '<some-value>',
                        'tax' : '<some-value>',
                        **'action' : 'purchase'**
                    },
                    'products' : '<some-value>'
                }
            }
        });

它仍在推动“结帐”而不是“购买”。第 3 步和第 4 步的同一文件中元素的数据层推送。声明来自其中包含的 .JSPf。似乎“动作”元素已被缓存。我曾尝试清理浏览器历史记录但没有成功。

请告诉我缺少的地方。在此处输入图像描述

4

1 回答 1

2

actionField.action字段由 GTM/Universal Analytics 自动填充。您永远不应该手动为其添加值。

字段值派生自包装actionField和的属性名称products。因此,如果命中是“Checkout”命中,则属性键将为checkout,如果命中是“Purchase”命中,则属性键将为purchase

步骤 4 的示例结帐命中:

event: 'checkout',
ecommerce: {
  checkout: {
    actionField: {
      step: 4,
      option: 'some-option'
    }
  }
}

购买命中示例:

event: 'purchase',
ecommerce: {
  currencyCode: 'GBP',
  purchase: {
    actionField: {
      id: 'some-transaction-id',
      revenue: 'some-transaction-revenue',
      tax: 'some-transaction-tax',
      shipping: 'some-transaction-shipping'
    },
    products: [{
      ...products in the purchase...
    }]
  }
}
于 2016-12-05T10:00:54.077 回答