var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try
{
var pageTracker = _gat._getTracker("UA-XXXXXXX-1");
pageTracker._trackPageview();
}
catch(err) {}
是否可以从外部JS文件调用此脚本?我想做类似的事情:
<script type="text/javascript" src="googleanalytics.js" ></script>
并将其中一个放在我的每个HTML页面上
我上面的代码将在googleanalytics.js中
谷歌的指示是将代码放在每个页面中。问题在于它使得更改跟踪代码变得更加困难。 (我们为DEV和PROD页面使用不同的跟踪代码)
我已经试过了,它似乎没有用。
这样做有什么问题吗?或者是否有其他原因导致问题?
重要的FYI 请注意,我们使用的是IE6和8浏览器(是的,我知道,不需要告诉我)
答案 0 :(得分:14)
是的,这是可能的。如果它不起作用,那么还有其他事情发生。
只是想一想,Google Analytics通常会在报告方面落后一天,因此当您进行更改时,您需要一些时间才能知道它正在运行。我喜欢做的是点击一个不经常获得流量的页面,以向我保证我的跟踪设置正确。
此外,您可以尝试将链接设为<script
标记中的绝对链接。它可能只是在寻找分析代码的错误位置。
答案 1 :(得分:4)
您是否可以使用服务器端语言输出每页底部的代码?有一个诸如output_ga()之类的函数并调用它。这样你就可以在一个地方改变它。
答案 2 :(得分:3)
我在尝试解决类似问题时遇到过这篇文章。在进一步搜索之后,我遇到了另一篇对我有用的帖子:
Using Google Analytics asynchronous code from external JS file
我不得不将var _gaq移到它所在的函数之外,以便它变得全局。
希望这有帮助!
答案 3 :(得分:1)
如果您将脚本划分为2个脚本,就像Google Analytics将传统脚本划分为2个脚本标记一样。
答案 4 :(得分:1)
我有一个简单的方法来做... 由于解析js是异步的,因此不会有任何问题...
在任何js文件中包含以下代码 (请注意:我使用的代码是Google Analytics(分析)提供的新分析代码)
var imported = document.createElement('script');
imported.src = 'https://www.googletagmanager.com/gtag/js?id=UA-12xxxxxxx-1';
document.head.appendChild(imported);
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-12xxxxxxx-1');
答案 5 :(得分:0)
将Google代码包装到函数中并在每个页面上执行;)
答案 6 :(得分:0)
@Nikko
一个可能的原因是因为GA帐户是使用旧分析创建的。因此,您必须使用传统的分析代码ga.js(_gaq.push)。我发现使用新的analytics.js与GA网站中的传统GA帐户不兼容。点击不会出现所以我被迫使用传统的ga.js。
此外,您可以设置回调函数以确保成功发送命中,如下所示:
//traditional way
_gaq.push(['_set', 'hitCallback', function() {
console.log("%c ga.js finished sending pageview data to analytics %s ", "color:black; background: pink", pageviewUrl);
}]);
//new analytics way
ga('send', 'pageview', {
'page': pageviewUrl,
'hitCallback': function() {
console.log("%c analytics.js done sending data. pageview url = %s ", "color: black, background: pink", pageviewUrl);
}
});
其中pageviewUrl =网站的网址
希望有所帮助!
答案 7 :(得分:0)
动态上传Google Analytics(分析):
function loadGoogleAnalytics(){
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = 'https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-XX';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
}
loadGoogleAnalytics(); //Create the script
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXX-XX');
别忘了用您的帐户ID替换XXXXXX-XX。