Google UA增强了电子商务:ID

时间:2015-08-11 21:25:07

标签: javascript google-analytics google-tag-manager

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

如果我的ID字段名称与所需的ID字段名称不匹配,我该如何工作呢?这是我的JavaScript变量:

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


        }
      } 
  };
   return ecommerceData;
}

1 个答案:

答案 0 :(得分:0)

在自定义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' 
          } 
      }
  } 

将错误的格式化数据连接到正确的方案

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;
}

进一步改进

考虑一些输入保护(重要值不可用的情况)或数值的日期类型保护等...

文档:

增强型电子商务的自定义宏: https://developers.google.com/tag-manager/enhanced-ecommerce#macro

购买操作字段说明: https://developers.google.com/tag-manager/enhanced-ecommerce#purchases