0

コンテンツ管理システムが異なるドメイン名を持つ複数のWebサイトに同じテンプレートを使用していて、それぞれに個別のテンプレートを作成できないという状況があります。ただし、各WebサイトはGoogleAnalyticsで個別に追跡する必要があります。これは、条件付きコードを挿入して、このような各ドメインを追跡するのに適切でしょうか?そして、これは壊れないように十分に堅牢でしょうか?これを行うためのよりエレガントな方法はありますか?

<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>

明確にするために、各Webサイトは個別のドメイン名であり、個別に追跡する必要があります。1つの分析プロファイルに同じページを持つ異なるドメインではありません。

4

1 に答える 1

1

IDのマップを渡すと、醜いものを削除できますswitch

var ids = {
    'www.aaa.com': 'UA-xxxxxxx-1',
    'www.bbb.com': 'UA-xxxxxxx-2'
}
_gaq.push(['_setAccount', ids[location.hostname]])
于 2012-06-11T18:52:35.253 に答える