我一直在使用Urchin 6,但也刚刚开始使用Google Analytics。我也在使用Google search Appliance进行网站搜索。
搜索在子域上进行,即www.search.mysite.com
问题是Google Analytics将网站搜索作为一种自我推荐来跟踪。经过大量的在线阅读,我最终得到了下面的GA代码配置,它应该选择搜索子域,但它不是。有人能看到我的配置有什么不正确的地方吗?-例如,GATC请求处理顺序是否正确
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxx-1']);
_gaq.push(['_setLocalRemoteServerMode']);
_gaq.push(['_setLocalGifPath', '/__utm.gif']);
_gaq.push(['_setDomainName', 'mysite.com]);
_gaq.push(['_addIgnoredRef', 'mysite.com']);
_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);
})();
</script>我怀疑这个问题可能出在Google Search Appliance上GA的配置上。当您添加GA时,它只要求在XSLT上提供UA代码,您可以在每个搜索页面上发送以下脚本:
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script><script type="text/javascript">
<!--
_uacct = "UA-xxxxxxx-1";
urchinTracker();
//--></script>这可能是问题所在吗?或者这段代码需要在XSLT中进行更改吗?
任何帮助都将不胜感激。谢谢
发布于 2011-04-30 03:01:45
我不能给你一个完整的答案,因为我正在试着自己解决一些小故障。但也许这将有助于提出方法。
我使用的是搜索设备的6.8.0.G.30版本。
我可以将我的Google Analytics帐号插入到所需设备前端的页面布局助手的"Global Attributes“部分下的Analytics account字段中。
该GUI方法的效果是将帐号插入到该前端的XSLT中:
<!-- *** analytics information *** -->
<xsl:variable name="analytics_account">UA-1234567-1</xsl:variable>处理转换并呈现页面时,如果找到帐户的值,则在搜索结果页面中生成此JavaScript:
<script type="text/javascript" src="http://www.google-analytics.com/ga.js"></script><script type="text/javascript">
var pageTracker = _gat._getTracker("UA-1234567-1");
pageTracker._trackPageview();
</script>作为使用Page Layout Helper的替代方法,您可以“编辑底层XSLT代码”来手动编辑样式表并插入分析帐户。
由默认XSLT生成的Google Analytics代码可能不是您想要的(可能不是基于您的帖子)。例如,上面的代码片段是同步版本。
因此,您可能无论如何都需要编辑XSLT来修改代码片段。我想使用异步代码段,所以我更改了XSLT中使用的名为"analytics“的模板(指定不进行自定义):
<!-- **********************************************************************
Analytics script (do not customize)
********************************************************************** -->
<xsl:template name="analytics">
<xsl:if test="string-length($analytics_account) != 0">
<script type="text/javascript" src="{$analytics_script_url}"></script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("<xsl:value-of select='$analytics_account'/>");
pageTracker._trackPageview();
</script>
</xsl:if>
</xsl:template>您之前在XSLT中输入的帐户信息(通过GUI或XSLT)将替换到该模板中。它在前端XSLT中的不同位置调用。
还可以更改分析脚本的URL (您可以在" analytics“模板中看到该变量)。
我所做的是用我自己的异步版本替换上面的"analytics“模板。因此,现在当我查看呈现的搜索结果时,我看到了异步代码片段。
在我的_setDomainName方法中,我在域名:.mysite.com之前有一个前导句点,这与我们网站其余部分支持Google Analytics的其他页面是一致的。
这方面的“最佳实践”似乎是一些讨论的领域:http://www.roirevolution.com/blog/2011/01/google_analytics_subdomain_tracking.php
该帖子上的许多评论都提到了自我推荐。
在设备搜索结果页面上,Google Analytics代码段紧跟在标签后面。
关于异步片段(或“部分”,如果它被拆分)在哪里的讨论已经在反复的论坛帖子中提出:
http://www.google.com/support/forum/p/Google%20Analytics/thread?tid=71ba44443f0bfbc3&hl=en
http://www.google.com/support/forum/p/Google%20Analytics/thread?tid=22ac794d8f26a2f4&hl=en
这对我来说是一个关于异步代码片段的很好的参考:
异步跟踪使用指南:http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html
将代码片段移动到将需要我对XSLT进行一些思考和更彻底的研究(可能还会对未来的设备版本和潜在的XSLT更改造成影响)。
在调试分析方面,我已经开始专注于使用Firebug和其他类似的浏览器工具来调查特定于GA的cookie和__utm.gif的值。
这篇文章:
http://blog.vkistudios.com/index.cfm/2008/12/17/Slicing-and-Dicing-Cookies--Part-2--Body-Parts
以及它的后续行动,以及该网站上的其他页面,确实帮助提出了一种故障排除方法。
https://stackoverflow.com/questions/4962530
复制相似问题