如何使在其他域上使用脚本添加的Google Analytics代码工作



我有一个域,让我们称之为 myhost.com,我有一个脚本addGAcode.js myhost.com。该代码包含函数 includeGA(),该函数为我的客户端域设置的帐户调用标准 GA 代码。它看起来像这样:

function includeGA() {   
var _gaq = _gaq || [];  
_gaq.push(['_setAccount', 'UA-432432432-43']);  
_gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })(); 
}
includeGA();

让我们将此域称为 groceryinbelfast.com。

现在我添加到杂货的元贝尔法斯特脚本标签以包含 myhost.com/addGAcode.js。不幸的是,GA 不起作用。GA 代码已正确加载,但我想因为它位于其他域上,该域 groceryofbelfast 它无法在杂货店贝尔法斯特域上设置统计数据工作所必需的 cookie。

的概念的要点是在我的服务器上安装GA脚本,这样当Google更改其中的某些内容或我想对其进行一些调整时,我不需要每次都调用客户的网站管理员进行适当的更改。

有什么想法吗?

您的includeGA()函数可能无法工作,因为_gaq需要声明为全局变量,而不是includeGA()函数中的局部变量。

您可以通过更改为以下内容来解决该特定问题:

function includeGA() {   
    window._gaq = window._gaq || [];  
    _gaq.push(['_setAccount', 'UA-432432432-43']);  
    _gaq.push(['_trackPageview']);
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}

相关内容

  • 没有找到相关文章

最新更新