这是我遇到的问题:
当前,我们需要跨www.chess.com和secure.chess.com进行跟踪。
但是,我无法将域设置为.chess.com,因为cookie会在另一个域live.chess.com上引起一些问题。
因此,要解决此问题,请在代码中执行以下操作:
<? if (HTTPS) { ?>
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-01']);
_gaq.push(['_setDomainName', 'secure.chess.com']);
_gaq.push(['_trackPageview']);
</script>
<? } else { ?>
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-02']);
_gaq.push(['_setDomainName', 'www.chess.com']);
_gaq.push(['_trackPageview']);
</script>
<? } ?>
但是,这迫使我们维护2个分析帐户(UA-XXXXX-01和UA-XXXXX-02),并在HTTPS和HTTP通信之间建立了隔离。
我该如何进行设置,以便一个分析帐户可以在不设置顶级Cookie(.chess.com)的情况下跟踪secure.chess.com和www.chess.com?
最佳答案
从this answer复制:
<? if ( %%HTTP_HOST%% != 'live.chess.com' ) { ?>
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-01']);
_gaq.push(['_setDomainName', '<? echo %%HTTP_HOST%% ?>']);
_gaq.push(['_trackPageview']);
</script>
<? } ?>
(其中
%%HTTP_HOST%%
是服务器端脚本生成的变量)编辑:要确认,在secure.chess.com和www.chess.com生成的所有页面上都包含以下代码,并且在secure.chess.com上没有脚本错误显示正确吗?
<script type="text/javascript">
(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);
})();
</script>
关于google-analytics - 在一个帐户下同时跟踪多个域Google Analytics(分析),而排除一个域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4102451/