- 08 谷歌分析增强型电子商务跟踪
第08章
典型的电子商务网站都需要跟踪线上购买(即交易),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