我正在尝试将增强型电子商务集成到我们的网站中。 我们有"电子商务"在工作,因为它跟踪订单,但它不跟踪展示次数和点击次数。 我正在尝试让它工作,但是当我单击一个产品时,它说我单击页面上的每个产品。
这是现在的代码:
<% @products.each_with_index do |product, index|
<% unless user_signed_in? && current_user.admin? %>
<%= javascript_tag do -%>
(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-XXXXXXXXX-XX', 'auto');
ga('require', 'displayfeatures');
ga('require', 'ec');
/// ADD PRODUCT
ga('ec:addProduct', { // Provide product details in a productFieldObject.
'name': '<%= product.name %>',
'id': '<%= product.id %>',
'position': '<%= index+1 %>',
});
ga('send', 'pageview');
$('.product').on('click', function(e) {
ga('ec:setAction', 'click', { // click action.
'name': '<%= product.name %>',
'id': '<%= product.id %>',
'position': '<%= index+1 %>',
'list': '<%= request.fullpath %>' // Product list (string).
});
ga('send', 'pageview');
});
<% end %>
<% end %>
我想我会在页面加载时添加产品,然后在 .productdiv 点击上添加点击跟踪,但我对发送太多"网页浏览量"有点困惑,我不知道为什么当我点击一个产品时它会跟踪所有产品的点击。
谢谢
实现不在标准之下。 您需要遵循此说明https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce
要发送点击,您需要:
1.- 启用电子商务插件(仅限第一次(2.- 添加产品3.- 设置操作(在这种情况下单击(4.- 发送信息
在您的代码中
ga('require', 'ec'); //Step 1
$('.product').on('click', function(e) {
ga('ec:addProduct', { //step 2
'name': '<%= product.name %>',
'id': '<%= product.id %>',
'position': '<%= index+1 %>'
});
ga('ec:setAction', 'click', {
'list': 'Search Results' // Product list for impression or click
}); //Step 3
ga('send', 'pageview'); //step 4
});
考虑到步骤 4 可以是一个事件。