谷歌分析增强型电子商务跟踪


第08章

Cart

典型的电子商务网站都需要跟踪线上购买(即交易),Google Analytics(谷歌分析)为电子商务网站进行交易跟踪提供了两个主要功能。

  • 电子商务跟踪
  • 增强型电子商务跟踪

假如你通过 WordPress 建站系统开网店,我强烈建议所有电子商务网站设置Google Analytics电子商务跟踪(或增强型电子商务跟踪)并记录交易数据。

  • 通过电子商务跟踪(或增强型电子商务跟踪),你可以记录你网站上发生的所有交易信息,包括:订单ID、交易值、产品ID、产品数量等。
  • Google Analytics记录的交易数据可与其他现有的Google Analytics指标和维度相关联,以进行更高级的报告和分析。

电子商务跟踪的应用范围

没有电子商务跟踪,你的Google Analytics数据和你的交易数据就会是分离的。

  • 所有的交易都在你的网站服务器上处理,所有交易的数据都记录并存储在你的数据库中。
  • 所有的用户行为数据都会被发送并存储在Google的服务器中, Google Analytics报告将只会展示行为数据。
  • Google Analytics数据和你的交易数据之间未建立任何连接。
  • 分离的数据无法支持任何复杂分析。

当你部署了电子商务跟踪,将能够在Google Analytics数据和交易数据之间建立连接。

  • 所有的交易都在你的网站服务器上被处理,所有交易数据都记录并存储在你的数据库中。
  • 所有用户的行为数据都会发送并存储在Google的服务器中。
  • Google Analytics数据和交易数据通过下单客户的订单ID建立连接。
  • 行为数据和交易数据都会显示在你的Google Analytics报告中。
  • 整合后的数据支持进一步的复杂分析。

部署电子商务跟踪

下面是在你的移动端网站部署电子商务跟踪的步骤。

  • 启用电子商务跟踪
  • 开始电子商务跟踪
  • 添加一个交易
  • 为这个交易添加项目
  • 发送数据
  • 移除数据
  • 验证数据

启用电子商务跟踪

在你的Google Analytics媒体资源下,点击:

View -> Ecommerce Settings
  • 在启用电子商务下选择开启。这将使你的Google Analytics数据视图使用电子商务跟踪。

通过电子商务跟踪,你可以将用户的交易信息发送到Google Analytic服务器,并在Google Analytics报告中查看用户的交易以及与其交易相关的其他信息。

  • 除了基础的Google Analytics跟踪代码,你还需要使用其他JavaScript代码(即电子商务跟踪代码)将交易数据发送到Google Analytics。
  • 电子商务跟踪代码的触发和数据的发送都只能在一次交易完成后。
  • 电子商务跟踪代码支持强制数据和可选数据的收集。

开始进行电子商务跟踪

要在一个网页上开始Google Analytics电子商务跟踪,需使用下面的代码行。通常这行代码应该紧跟着交易完成代码段。 此行创建一个购物车对象,等待你向其中添加交易和项目数据。

ga('require', 'ecommerce');

上述代码标志着电子商务跟踪的开启,它是电子商务跟踪代码的第一行,必须放在所有其他电子商务跟踪相关代码之前,且必须放置在开启Google Analytics跟踪的代码行之后。

完整的顺序应该是:

ga('create', 'UA-XXXXXXXX-Y', 'auto');
Some Google Analytics codes
ga('require', 'ecommerce');
Rest of the Ecommerce Tracking

添加一个交易

交易的数据字段分别为:

id

  • 它为你网站上发生的每个交易都生成一个字符串作为标识符。
  • 这是一个强制字段。

revenue

  • 它作为一个数值表示特定交易的总收入。
  • 这是一个强制字段。

affiliation

  • 它可以用于特定交易的关联公司代码或引荐(形式为字符串)。
  • 这是一个可选字段。

tax

  • 它作为一个数值表示特定交易的税收费用。
  • 这是一个可选字段。

shipping

  • 它作为一个数值表示特定交易的运输费用。
  • 这是一个可选字段。

currency

  • 它允许你为你的交易指定一种货币。
  • 这是一个可选字段。通常,只有当你在Google Analytics数据视图下选择的货币与此新货币不同时,才会使用此字段。

添加交易的商品

每个商品的数据字段:

sku

  • 它表示特定产品的唯一标识符。
  • 这是一个强制字段。

name

  • 它表示特定产品的名称。
  • 这是一个强制字段。

price

  • 它作为一个数值表示特定产品的单价。
  • 这是一个强制字段。

quantity

  • 它表示通过特定交易购买的特定产品的单位数(形式为整数)。
  • 这是一个强制字段。

category

  • 它表示特定产品所属的类别。
  • 这是一个可选字段。

currency

  • 它允许你为你的交易指定一种货币。
  • 这是一个可选字段。通常,只有当你在Google Analytics数据视图下选择的货币与此新货币不同时,才会使用此字段。
  • 所有支持货币的货币代码列表:External Link.

发送数据

下一步是使用下面的代码行将整组交易数据发送到Google Analytics:

ga('ecommerce:send');

验证数据

一旦你在网站部署了电子商务跟踪所需的所有代码,下一步就是验证Google Analytics是否正确记录了交易数据。

这取决于交易在你的移动网站上的发生频率,但通常在接下来的一小时或几个小时内,你的电子商务跟踪数据应显示在Google Analytics报告中。

电子商务跟踪示例

如下电子商务跟踪示例代码把两个产品的交易数据发送给Google Analytics。

ga('require', 'ecommerce');
ga('ecommerce:addTransaction', 
{
'id': 't0000399168', 
'affiliation': 'None',
'revenue': '270.00',
'shipping': '5.00',
'tax': '27.00',
'currency': 'CNY'
});
ga('ecommerce:addItem', 
{
'id': ' t0000399168',
'name': 'Big Chocolate Bar',
'sku': 'gt345',
'category': 'Snack',
'price': '70.00',
'quantity': '1'
'currency': 'CNY'
});
ga('ecommerce:addItem', 
{
'id': ' t0000399168',
'name': 'Wine 1982',
'sku': 'gt017',
'category': 'Alcohol',
'price': '100.00',
'quantity': '2'
'currency': 'CNY'
});
ga('ecommerce:send');

使用Google Analytics跟踪和电子商务跟踪的完整跟踪代码将会成为:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('send'#039;, 'pageview');
ga('require', 'ecommerce');
ga('ecommerce:addTransaction', 
{
'id': 't0000399168', 
'affiliation': 'None',
'revenue': '270.00',
'shipping': '5.00',
'tax': '27.00',
'currency': 'CNY'
});
ga('ecommerce:addItem', 
{
'id': ' t0000399168',
'name': 'Big Chocolate Bar',
'sku': 'gt345',
'category': 'Snack',
'price': '70.00',
'quantity': '1'
'currency': 'CNY'
});
ga('ecommerce:addItem', 
{
'id': ' t0000399168',
'name': 'Wine 1982',
'sku': 'gt017',
'category': 'Alcohol',
'price': '100.00',
'quantity': '2'
'currency': 'CNY'
});
ga('ecommerce:send');
</script>

增强型电子商务跟踪的应用范围

增强型电子商务跟踪是电子商务跟踪的升级版。

增强型电子商务跟踪的优点包括跟踪非常见信息,即已完成交易之外的其他数据。在电子商务网站的转化漏斗(用于交易)中,网页可能按此顺序排列:

  • 列表页——用户浏览一个(产品的)指定列表页
  • 产品详情页——用户浏览一个指定产品的详情页
  • 购物车——用户向购物车中添加一个产品
  • 结算页——用户到达结算页面
  • 购买完成——用户完成整个交易

通过增强型电子商务跟踪,你可以跟踪有关列表页,产品详情页,购物车,结算页等的数据。

启用电子商务跟踪

要启用增强型电子商务跟踪,Google Analytics必须启用电子商务跟踪。

在你的Google Analytics媒体资源下,点击:

View -> Ecommerce Settings

在启用电子商务下选择开启。 这将使你的Google Analytics数据视图使用电子商务跟踪。

现在点击(仍旧在同一屏下):

View -> Enhanced Ecommerce Settings

在“启用增强型电子商务报告”下选择开启,然后点击“提交”。 这将使你的Google Analytics数据视图使用增强型电子商务跟踪。

初始化电子商务跟踪

如果你已在网站上部署了电子商务跟踪,则可以将电子商务跟踪部署转化为增强型电子商务跟踪。 首先在你的跟踪代码中,替换:

ga('require', 'ecommerce');

为:

ga('require', 'ec');

为交易部署增强型电子商务跟踪

如下增强型电子商务跟踪示例代码会把两个产品的交易数据发送给Google Analytics。

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('require', 'ec');
ga('set', '&cu', 'CNY'); //Specify currency
ga('ec:addProduct',{ //Add a product
'id': 'gt345',  // Product SKU
'name': 'Big Chocolate Bar',
'category': 'Snack',
'brand': 'Whitelabel',
'variant': 'none',
'price': '70.00',
'quantity': '1',
});
ga('ec:addProduct',{ //Add a product
'id': 'gt017',  // Product SKU
'name': 'Wine 1982',
'category': 'Alcohol',
'brand': 'French Red Wine',
'variant': 'red wine',
'price': '100.00',
'quantity': '2',
});
ga('ec:setAction', 'purchase',{ //Add the transaction
'id': 't0000399168', // Transaction id
'affiliation': 'none',
'revenue': '270.00',
'tax': '27.00',
'shipping': '5.00'#039;,
'coupon': 'none',
});
ga('send', 'pageview');
</script>

交易的货币由如下代码指定:

ga('set', '&cu', 'CNY');

将项目添加到交易的方法:

ga('ec:addProduct',{
// Some Codes
});

添加交易的方法:

ga('ec:setAction', 'purchase',{
// Some Codes
});

请注意,此行代码是特意放置在整个跟踪代码的末尾的。这可确保在将数据发送到Google Analytics之前此交易的所有信息都已经被电子商务跟踪代码记录到特定字段。

ga('send', 'pageview');

产品详情页的增强型电子商务跟踪部署

要跟踪用户视图下特定的产品详情页,请将以下代码添加到所有产品详情页:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('require', 'ec');
ga('set', '&cu', &##039;CNY'); //Specify currency
ga('ec:addProduct',{
'id': 'gt345',  // Product SKU
'name': 'Big Chocolate Bar',
'category': 'Snack',
'brand': 'Whitelabel',
'variant': 'none',
'price': '70.00',
'quantity': '1',
});
ga('ec:setAction', 'detail'); //Set the action to "details page"
ga('send', 'pageview');
</script>

购物车的增强型电子商务跟踪部署

电子商务网站的购物车页面下,用户可以进行如下行为:

  • 当用户想购买该特定商品时,添加商品(到购物车)。
  • 当用户不再想要购买该特定商品时,移除商品(从购物车中)。

将商品添加到购物车

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('require', 'ec');
ga('set', '&cu', 'CNY'); //Specify currency
function addToCart(product) {
  ga('ec:addProduct',{
  'id': 'gt345',  // Product SKU
  'name': 'Big Chocolate Bar',
  'category': 'Snack',
  'brand': 'Whitelabel',
  'variant': 'none',
  'price': '70.00',
  'quantity': '1',
  });
  ga('ec:setAction', 'add'); // Set action to "add to cart"
  ga('send', 'event', 'enhanced ecommerce', 'button click', 'add to Cart'); // Send "add to cart" with an event.
}
ga('send', 'pageview');
</script>

将商品从购物车中移除

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('require', 'ec');
ga('set', '&cu', 'CNY'); //Specify currency
function removeFromCart(product) {
  ga('ec:addProduct',{
  'id': 'gt345',  // Product SKU
  'name': 'Big Chocolate Bar',
  'category': 'Snack',
  'brand': 'Whitelabel',
  'variant': 'none',
  'price': '70.00',
  'quantity': '1',
  });
  ga('ec:setAction', 'remove'); // Set action to "remove from cart"
  ga('send', 'event', 'enhanced ecommerce', 'button click', 'remove from Cart'); // Send "remove from cart&ququot; with an event.
}
ga('send', 'pageview');
</script>

结算页的增强型电子商务跟踪部署

在你的电子商务网站的结算页,你需要用户提交表单及其个人信息。一旦信息提交给你,交易就被视为“完成”。 结算过程可能因不同的电子商务网站而异。

  • 你的结算过程可能只在一个页面上有表单。
  • 你的结算过程可能有跨越多个页面的表单。

在本示例中,它演示了在结算过程中对第一页的增强型电子商务跟踪的实施。

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('require', 'ec');
ga('set', '&cu', 'CNY'); //Specify currency
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct',{
    'id': 'gt345',  // Product SKU
    'name': 'Big Chocolate Bar',
    'category': 'Snack',
    'brand': 'Whitelabel',
    'variant': 'none',
    'price': '70.00',
    'quantity': '1',
    });
  }
  ga('ec:setAction','checkout', {'step': 1}); // Set the action to "Checkout" and set value to 1 for the Checkout process's first page.
}
ga('send', 'pageview');
</script>

向结算按钮添加鼠标点击函数。

<button onclick="checkout(cart);">Checkout</button>


数据分析技术白皮书在2016年11月正式出版。

英文版:Google Analytics Enhanced Ecommerce Tracking – 繁体中文版:谷歌分析增强型电子商务跟踪







数据分析技术白皮书上的内容按下列许可协议发布: CC Attribution-Noncommercial 4.0 International

Gordon Choi's Analytics Book