Javascript Google UA增强型电子商务:ID的不同变量名

Javascript Google UA增强型电子商务:ID的不同变量名,javascript,google-analytics,google-tag-manager,Javascript,Google Analytics,Google Tag Manager,使用GTM和增强型电子商务:我需要在第三方系统上跟踪电子商务,所需的ID字段不是ID或transactionID。。。它被称为confirmID。我试图从购买中检索一些值,包括交易金额,但无法使用数据层,因此我在GTM中使用了一个自定义JavaScript变量,并构建了一个标记来从自定义变量读取数据 如果我的ID字段名与所需的ID字段名不匹配,我该如何进行此操作?下面是我的JavaScript变量: function() { var ecommerceData = { 'ec

使用GTM和增强型电子商务:我需要在第三方系统上跟踪电子商务,所需的ID字段不是ID或transactionID。。。它被称为confirmID。我试图从购买中检索一些值,包括交易金额,但无法使用数据层,因此我在GTM中使用了一个自定义JavaScript变量,并构建了一个标记来从自定义变量读取数据

如果我的ID字段名与所需的ID字段名不匹配,我该如何进行此操作?下面是我的JavaScript变量:

    function() {
  var ecommerceData = {
    'ecommerce': {
      'purchase': {
        'actionField': {'confirmid':'T123456',
          'tik_value':'500.00',
          'pids':'800911',
          'discounts':'chipster' }


        }
      } 
  };
   return ecommerceData;
}
在自定义JS宏中使用适当的增强型电子商务方案 正确的购买方案如下所示:

{
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',                         // Transaction ID. Required for purchases and refunds.
        'affiliation': 'Online Store',
        'revenue': '75.43',                     // Total transaction value (incl. tax and shipping)
        'tax':'4.90',
        'shipping': '5.99',
        'coupon': 'SUMMER_SALE'
      },
      'products': [{                            // List of productFieldObjects.
        'name': 'Blah T-Shirt',     // Name or ID is required.
        'id': '12345',
        'price': '23',
        'brand': 'Spaceship',
        'category': 'Cool stuffs',
        'variant': 'Bloody red',
        'quantity': 1,
        'coupon': 'esale2015',
        'metric1': 1,
        'dimension2':'Better World'                          
       },
       {
        'name': 'Donut Costume',
        'id': '67890',
        'price': '47.1',
        'brand': 'EatMe & Corp.',
        'category': 'Madman'z gallery',
        'variant': 'Pink with dots',
        'quantity': 1,
        'metric1': 1,
        'dimension2':'Dark Adventure' 
       }]
    }
  }
}
将格式错误的原始对象传递到宏 宏名称:{{ECOM_DATA}}

有关:

 {  
 'ecommerce': {
      'purchase': {
        'actionField': {'confirmid':'T123456',
          'tik_value':'500.00',
          'pids':'800911',
          'discounts':'chipster' 
          } 
      }
  } 
将格式错误的数据连接到正确的方案 进一步改进 考虑一些输入保护(重要值不可用的情况)或数字值的日期类型保护等

文档: 用于增强电子商务的自定义宏:


购买操作字段描述:

这看起来可能有助于解决我的问题。我花了一点时间来消化和测试它。我会跟进结果。谢谢我一直收到一个解析错误,应该是分号。关注的领域似乎在var源=={{{ECOM_DATA}};线路。在此之前,我将我的自定义宏命名为ECOM_DATA,并使用此错误将宏命名为TDC_ECOMMERCE。。。如果这很重要,对不起,我的错,==是相等运算符。必须只有一个=符号。宏的名称完全由您决定。我为错误道歉,我没有尝试代码,我只是给你写了一个它如何工作的例子。哦,一点也不担心!非常感谢您的反馈!我将很快再次对此进行研究,并将进行更新。
function() {
  var source = {{ECOM_DATA}};
  var transactionData = source.ecommerce[0].actionField;
  var productData = source.ecommerce[0].products;

  var ecommerceData =  {
    'ecommerce': {
      'purchase': {
        'actionField': {
          'id': transactionData.confirmid,                      // Transaction ID. Required for purchases and refunds.

          'revenue': transactionData.revenue,                    // Total transaction value (incl. tax and shipping)

          'coupon': transactionData.discounts
        },
        'products': [{                            
          'name': productData.name,     /
          'id': productData.id,
          'price': productData.price,

          'brand': productData.brand,
          'category': productData.cats,
          'variant': productData.modification,
          'quantity': productData.ammount,
          'coupon': productData.coupon,
          'metric1': productData.whatever,
          'dimension2':productData.collection                          
         }]
      }
    }
  }
  return ecommerceData;
}