【问题标题】:Is there an elegant way to track multiple domains under seperate accounts with google analytics?有没有一种优雅的方法可以使用谷歌分析跟踪不同帐户下的多个域?
【发布时间】:2012-06-14 16:42:26
【问题描述】:

我的情况是,内容管理系统对具有不同域名的多个网站使用相同的模板,而我无法为每个网站制作单独的模板。但是,每个网站都需要使用谷歌分析单独跟踪。通过放入一些条件代码来跟踪每个域是否合适?这是否足够强大而不会破坏?有没有更优雅的方法来做到这一点?

<script type="text/javascript">
  var _gaq = _gaq || [];
  switch (location.hostname){
    case 'www.aaa.com':
        _gaq.push(['_setAccount', 'UA-xxxxxxx-1']);
        break;
    case 'www.bbb.com':
        _gaq.push(['_setAccount', 'UA-xxxxxxx-2']);
        break;
    case 'www.ccc.com':
        _gaq.push(['_setAccount', 'UA-xxxxxxx-3']);
        break;
  }

  _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';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  })();

</script>

为了清楚起见,每个网站都是一个单独的域名,必须单独跟踪,而不是在一个分析配置文件上具有相同页面的不同域。

【问题讨论】:

  • 能否修改模板添加switch服务器端?这样,您始终可以为用户正在使用的域输出正确的 javascript 代码。

标签: javascript google-analytics multiple-domains


【解决方案1】:

传入一个 id 的映射可以让你移除丑陋的switch

var ids = {
    'www.aaa.com': 'UA-xxxxxxx-1',
    'www.bbb.com': 'UA-xxxxxxx-2'
}
_gaq.push(['_setAccount', ids[location.hostname]])

【讨论】:

  • 不错!我早该想到的。
猜你喜欢
  • 2012-10-01
  • 1970-01-01
  • 2019-04-21
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多