我如何跟踪与交易数据层 - GTM 关联的附加组件(产品)?

How can I track the add ons(products) associated with the transaction data layer- GTM?

我在确认页面上部署了以下数据层,它捕获了所有正确的交易数据。 在此处输入代码

<!-- Enhanced Ecommerce Data Layer through Google Tag Manager -->
<script>
dataLayer.push({
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': rtCONFIRMATIONNUMBER_0,            
        'revenue': rtTOTALCOST,        
        'tax':rtTAX_0,
      },
      'products': [{                           
        'name': rtPROPERTYNAME+'-'+rtROOMTYPE_0,    
        'id': rtCONFIRMATIONNUMBER_0,
        'price': rtTOTALCOST,
        'quantity': 1
       }]
    }
  }
},{
    'event': 'purchase'
});
</script>
<!-- END Enhanced Ecommerce Data Layer through Google Tag Manager -->

但是,当用户在结账时添加一些其他可用的附加组件时,我想在同一交易 ID 下捕获这些附加组件,这还不够。 我如何修改它以捕获添加的项目数据?

首先,您的 dataLayer.push 似乎有误。如果您计划使用 purchase 事件触发标签,您的 event 键应该定义在与 ecommerce 对象相同的对象中:

dataLayer.push({
   'ecommerce': {
      // ecommerce stuff
   },
   'event': 'purchase'
})

现在回到您的主要问题,一种选择是将其他附加组件添加为单独的产品:

 dataLayer.push({
   'ecommerce': {
      'purchase': {
         'actionField': {
            'id': rtCONFIRMATIONNUMBER_0,
            'revenue': rtTOTALCOST,
            'tax': rtTAX_0,
         },
         'products': [{
               'name': rtPROPERTYNAME + '-' + rtROOMTYPE_0,
               'id': rtCONFIRMATIONNUMBER_0,
               'price': rtTOTALCOST,
               'quantity': 1
            },
            {
               'name': rtPROPERTYNAME2 + '-' + rtROOMTYPE2_0,
               'id': rtCONFIRMATIONNUMBER2_0,
               'price': rtTOTALCOST2,
               'quantity': 1,
               'category': 'add-on'
            },
            // other product objects like add-ons
         ]
      }
   }