使用 Google Analytics 统计订单信息

之前写过一篇文章讲使用 GA 统计 SPA 的数据,那么接着那篇文章,本文写一下如何使用 GA 来统计订单等电子商务信息。

GA 的电子商务统计分为「电子商务跟踪」和「增强型电子商务跟踪(ec.js)」,两者是互斥的,一般情况选用自带的前者就行,后者需要进一步引入 ec.js,以下将介绍如何使用 analytic.js 自带的「电子商务跟踪」

如上一篇文章所属,引入 GA 跟踪代码,在订单完成(支付结果)页面,部署跟踪代码

如文档所述,实现电子商务跟踪需要完成以下几个步骤

加载电子商务插件

在引入 analytics.js 的情况下,调用以下代码,该方法是同步操作

ga('require', 'ecommerce');  

添加交易

这里的交易是指,单笔订单的信息,如果订单包括多件商品,则是这些商品的集合的信息

ga('ecommerce:addTransaction', {  
  'id': '1234',                     // 订单号,必须
  'affiliation': 'Acme Clothing',   // 商店名称
  'revenue': '11.99',               // 总价格
  'shipping': '5',                  // 运费
  'tax': '1.29'                     // 税费
});

添加商品

上一步交易添加完成后,再向刚才的交易中添加具体的商品

ga('ecommerce:addItem', {  
  'id': '1234',                     // 订单号,必须
  'name': 'Fluffy Pink Bunnies',    // 商品名,必须
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // 商品类别
  'price': '11.99',                 // 单价
  'quantity': '1'                   // 数量
});

发送数据

最后向 GA 发送数据

ga('ecommerce:send');  

经过以上步骤后,订单信息就会被发送到 GA 以便分析,可以在 GA 网站左侧的 转化 -> 电子商务 中查看到订单的统计信息

小结

以上就是使用 GA 进行电子商务追踪的方法,也就是 4 个步骤,完全可以封装成一个方法,以下代码是我在实际项目中使用的,去除了一些敏感信息。

具体使用方法是,在支付结果页面获取订单信息,之后调用这个方法完成统计。

    function sendGAData(order) {
      ga('require', 'ecommerce');
      ga('ecommerce:addTransaction', {
        id: order.id,
        revenue: order.totalPrice,
        shipping: order.shippingCost
      });
      ga('ecommerce:addItem', {
        id: order.id,
        name: order.item.name, // 商品名称
        sku: order.item.uniqId, // 一个唯一的 ID,最好包含一些有效的信息
        category: order.item.category,
        price: order.price,
        quantity: order.count
      });
      ga('ecommerce:send');
    }

参考资料

电子商务跟踪  |  适用于网站的 Google Analytics(分析)(analytics.js)  |  Google Developers