以下代码的目的是等待自定义浏览器插件添加名为“machineID”的元标记,并将该ID作为自定义维度发送到Google Analytics。我已经在分析中定义了自定义维度,并使用ga()函数将其与初始网页浏览一起发送,但是我没有在分析仪表板上收到任何综合浏览量。好像ga()函数从不发送网页浏览。但是我知道它必须执行因为它返回“undefined”(这是文档声明它应该返回的)。此外,您将看到函数_gs()。这是用于gosquared报告。这个功能很好用,我可以在gosquared中看到“machineID”。
分析不喜欢我正在做的事情有什么问题吗?还有其他人遇到过这个吗?
修改 更改为analytics_debug.js之后,调试器加载并正常工作的一台机器显示没有错误。在另一台机器上它根本无法加载。这很奇怪。几乎像分析阻止特定的IP?这可能吗?
<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','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
$(document).ready(function(){
var searchInterval = 250;
var totalSearchTime = 30000;
var currentSearchTime = 0;
var machineIDFound = false;
var analyticsLoaded = false;
var goSquaredLoaded = false;
var machineIDSent = false;
setInterval(function(){
//console.log('machineIDFound: ' + machineIDFound + ' analyticsLoaded: ' + analyticsLoaded + ' goSquaredLoaded: ' + goSquaredLoaded);
currentSearchTime += searchInterval;
if((currentSearchTime <= totalSearchTime) && (!machineIDSent)){
if(typeof ga == "function"){
analyticsLoaded = true;
}
if(typeof _gs == "function"){
goSquaredLoaded = true;
}
if($('meta[name="machineID"]').length) {
machineIDFound = true;
}
if((machineIDFound) && (analyticsLoaded) && (goSquaredLoaded)){
var something = ga('send', 'pageview', {
'dimension1': $('meta[name="machineID"]').attr("content")
});
console.log(something);
_gs('identify', {
id: $('meta[name="machineID"]').attr("content")
});
machineIDSent = true;
}
}
}, searchInterval);
});
</script>