当你使用谷歌分析增强电子商务时,你何时以及多久调用ga('send', 'pageview
When and how often do you call ga('send', 'pageview') when using Enhanced Ecommerce with Google Analytics?
我正在尝试将我们的网站迁移到通用分析以及增强的电子商务服务。在使用GA调试器进行了一些实验之后,似乎必须在调用ga('ec:addProduct')
和ga('ec:setAction')
方法之后调用ga('send', 'pageview')
才能实际发送数据。浏览文档时(https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce)有些例子显示他们调用ga('send', 'pageview')
两次,一次在开始,第二次在设置产品数据后,而在其他例子中,ga('send', 'pageview')
只在最后出现。
ga('create', 'UA-XXXXX-Y');
ga('send', 'pageview'); /*FIRST PAGE VIEW CALLED HERE */
ga('require', 'ec', 'ec.js');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
'price': '29.20',
'quantity': 1
});
// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
'id': 'T12345',
'affiliation': 'Google Store - Online',
'revenue': '37.39',
'tax': '2.85',
'shipping': '5.34',
'coupon': 'SUMMER2013' // User added a coupon at checkout.
});
ga('send', 'pageview'); // Send transaction data with initial pageview. /*BUT WE ALREADY CALLED IT AT THE TOP */
上面的代码会导致页面视图被记录两次吗?
我们还希望通过使用ga('ec:setAction', 'checkout', {'step' : step});
并指定我们在分析帐户中定义的步骤号来跟踪客户的结帐进度。看来我们需要再次调用发送页面浏览量发送此数据为好。我试图在单个页面视图中发送所有数据,但似乎您只能在每个页面视图中设置一个操作(ga('ec.setAction')
),因此我们无法在单个页面视图中同时发送产品交易数据以及结帐步骤数据。将调用ga('send', 'pageview')
多次记录多个页面浏览量在分析或谷歌检测到,你简单地发送额外的数据,不记录额外的页面浏览量?
我发现,当使用正常的电子商务跟踪时,您可以使用ga('ecommerce:send');
,它们是否等同于增强的电子商务跟踪?
每次调用ga('send', 'pageview')
,都会向GA发送一个新的页面浏览量。如果你只是想发送更多的数据,你也可以发送一个事件,以避免双重页面浏览量跟踪。
看起来你应该发送事件作为nonInteractive
:
ga('send', 'event', 'ecommerce', 'purchase', {'nonInteraction': true});
这是从@Blexy那里取来并稍微修改的
跟踪目录产品印象-增强的电子商务谷歌分析
Google在他们的示例中建议这样做,但是,我必须将此代码分散到页面中:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview');
我用以下代码替换了上面的代码:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('send', 'pageview');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'event')
我也有同样的问题。
在触发ec事件之前,需要在每个页面上加载analytics.js代码(包括跟踪器引用)。因此,如果你在每个页面上触发分析标准像素并触发一些额外的事件你可能会重复计算页面浏览量加上你的跳出率计算不正确
一个解决方案可能是只在每个页面上启动"正常"分析页面代码,除了那些您想要丰富信息的页面。
<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-XXXX-Y', 'auto'); // Replace with your property ID.
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview');
</script>
有更好的主意吗?
- 动态分配GA增强型电子商务跟踪器
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- $window.ga在AngularJS事件中未定义
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 检查Google Analytics是否已加载并调用ga('create',..)
- 使用GA等参数的异步JS调用
- 当你使用谷歌分析增强电子商务时,你何时以及多久调用ga('send', 'pageview