我需要将我们网站的Google Analytics流量镜像到日志文件。
该公司有大约20个需要镜像的域名,因此我宁愿在一个位置捕获所有信息,而不是从大约20个位置检索日志文件。
我将跟踪gif存储在tracking.companysite.com上,在Apache / Linux上运行。
我设置了CustomLog格式并试图捕获cookie:
LogFormat "%h %v %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"" googleanalytics
CustomLog /var/log/httpd/google_log "googleanalytics"
一切都过去了,但是日志文件为cookie输出的内容是:
"-"
应该从utmcc url参数中捕获cookie信息,但是当我在网络面板中查看该请求时,该参数不会传递给远程跟踪gif。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'xxx']);
_gaq.push(['_setDomainName', '.companysite.com']);
_gaq.push(['_setLocalRemoteServerMode']);
_gaq.push(['_setLocalGifPath', 'http://tracking.companysite.com/__utm.gif']);
_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);
})();
在没有传递utmcc值的情况下,将cookie信息记录到日志文件的正确方法是什么?是否可以将cookie信息传输到外部域?
答案 0 :(得分:0)
我能够解决这个问题。
跟踪gif必须存储在流量所在的同一域或子域中。
只要我将'setDomainName'设置为mysite.com,并将'setLocalGiftPath'设置为//tracking.mysite.com,gif的响应头就会返回一个cookie,并且它正确地记录到服务器。 / p>
所以 - 正如我所料,这是一个跨域问题。