我们在Google中定义了三个自定义维度:
这些都是从一个页面上的脚本中得到的:
$(document).ready(function() {
(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');
function getClientId() {
try {
var trackers = ga.getAll();
var i, len;
for (i= 0, len = trackers.length; i < len; i += 1) {
if (trackers[i].get('trackingId') === 'UA-XXXXXXXX-1') {
return trackers[i].get('clientId');
}
}
}
catch(e){
//do nothing
}
return 'false';
}
function getSessionId() {
return new Date().getTime() + '.' + Math.random().toString(36).substring(5);
}
function getTimeStamp() {
return new Date().getTime();
}
ga('create', 'UA-XXXXXXXX-1', 'auto');
ga('require', 'displayfeatures');
ga('require', 'linkid', 'linkid.js');
var clientId = getClientId();
var sessionId = getSessionId();
var timeStamp = getTimeStamp();
ga('send', 'pageview', {
'dimension1' : clientId,
'dimension2' : sessionId,
'dimension3' : timeStamp
});
});
</script>现在,营销团队告诉我们,ClientId没有被捕获。他们共享数据,其中大约有24,000行,其中只有两行具有有效的客户端ids。相反,会话ID和命中时间戳正被完美地捕获。
当我快速检查网站时(通过将getClientId()的代码分配给另一个临时函数并调用它),我将得到ClientId。
我真的不知道是什么导致了这个在直播网站上被错过。有人能指出一些可能不对劲的地方吗?
发布于 2017-02-23 17:39:10
您应该考虑按照站点的<head>部分而不是在$(document).ready上加载GA库。这样,分析跟踪就有了最快的可能开始跟踪用户的参与。此外,如果您在DOM准备好之后或页面完全加载之后加载分析,那么如果某个用户登陆您的页面,然后在分析库有机会捕获他们的数据之前,您就有可能错过一些度量标准。
https://stackoverflow.com/questions/42397804
复制相似问题