gpt4 book ai didi

javascript - 未发送 Google Analytics 计时事件

转载 作者:行者123 更新时间:2023-11-29 21:42:56 26 4
gpt4 key购买 nike

编辑:这是实际上不起作用的代码

(我已经更改它以简化问题)

<script>
// save startTime at the begginning of the page
var _startTime = new Date().getTime();
</script>
<!--
... page code here ...
-->
<script>
//Google Analytics code
(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-XXXXXX-Y', 'auto');
ga('send', 'pageview');

(function (w,d,$,ga,createFunction) {

createFunction = function(timingVar) {
return function() {
var time = (new Date().getTime() - _startTime);

if (time > 0) {
ga('send', 'timing', 'performance', timingVar, time, 'desktop');
} //if

if (console && console.log) console.log(timingVar +':'+ time);

};
};

$(d).on('ready',createFunction('page ready'));
$(w).on('load',createFunction('page load'));
})(window,document,jQuery,ga);
</script>

仍然不确定为什么这段代码不起作用。

这是我的原始问题(代码有效)

我正在尝试使用 User Timings Google Analytics 跟踪不同场景下页面加载时间的功能。

我无法获取在页面加载时发送的计时命令。这是我用来实现此目的的代码。

<script>
// save startTime at the begginning of the page
var _startTime = new Date().getTime();
</script>
<!--
... page code here ...
-->
<script>
//Google Analytics code
(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-XXXXXX-Y', 'auto');
ga('send', 'pageview');

// track document ready even time
$(document).on('ready',function() {
var time = (new Date().getTime() - _startTime);

if (time > 0) {
ga('send', 'timing', 'performance', 'page ready', time, 'desktop');
} //if

console.log('page ready:'+ time);
});

// track window load time
$(window).on('load',function() {
var time = (new Date().getTime() - _startTime);

if (time > 0) {
ga('send', 'timing', 'performance', 'page load', time, 'desktop');
} //if

console.log('page load:'+ time);
});


</script>

我正在 Chrome 中对此进行测试,并且有 Google Analytics Debugger安装了扩展程序。

我查看控制台,看到正在发送页面浏览和计时“页面就绪”命令,但从未发送计时“页面加载”命令。

console.log() 都显示了正在触发的事件,但没有数据发送到 Google Analytics 用于计时“页面加载”命令。

以下是我完成的其他验证:

  • 时间的值总是一个整数。
  • 如果我只有“页面加载”计时命令也没关系

这是我在只有 pageview 和 timings 页面加载事件时得到的结果: Console Results

关于命令未在窗口加载事件上发送的原因的任何想法?

最佳答案

您实际运行的代码与您粘贴在此页面上的代码肯定有所不同。我觉得这里的一切都很好,如果我运行你的代码,它就可以工作。

您可以查看此 jsbin 演示以获取证明。请注意如何发送三个匹配:1 个综合浏览量和 2 个定时匹配。
http://jsbin.com/kafeduweme/edit?html,console

关于javascript - 未发送 Google Analytics 计时事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32084689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com