如何在将mod_rewrite重定向到子域的同时使用Google Analytics跟踪子域名?
当客户直接访问domain.com
或www.domain.com
时,我使用this.htaccess修改将它们重新路由到shop.domain.com
:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*)$ http://shop.domain.com/ [R=301,L]
shop.domain.com提供的网页内容坚持跟踪代码参数:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-123456-6']);
_gaq.push(['_setDomainName', '.domain.com']);
_gaq.push(['_trackPageview']);
所有涉及shop.domain.com
的直接眉毛作为domain.com
修订的结果被跟踪为参考网站流量,揭示了我自己的domain.com
作为Google Amalytics中的参考资源。
我希望通过直接的网站流量跟踪这些眉毛。
如何改变安排,以跟踪我的子域名上的mod_rewritten网站流量,这源于我自己的域名直接网站流量?
您需要将子域添加到Google Analytics购买的引荐来源忽略列表,而不是绕过引荐来源详细信息。
你可以利用这个来做到这一点 _ addIgnoredRef() GA API中的方法。
Google总结了这种方法:
_ addIgnoredRef()
将资源排除为引荐网站。 当您打算将特定引用Web链接设置为直接网站流量时,请使用此替代方法,而不是引用网站。 例如,您的公司可能拥有一个额外的域名,您打算将其作为直接网站流量进行跟踪,以确保它确实令“参与网站”记录失望。 遗漏参考资料的要求仍计入您的网页总数中。
注意: Google提供的实例可能不是100%正确。 查看坚持链接以进行彻底的对话以及实例执行:
http://www.roirevolution.com/blog/2011/01/google_analytics_subdomain_tracking.php
您可以绕过Google Analytics正在使用的引荐来源,在_setReferrerOverride的文档中查找更多内容。
要以某种方式提供此适当的引荐来源,您需要使用301重定向传递它。 我可以建议在您的重新路由链接中包含一个问题参数,并创建一个肯定会从document.location中提取此详细信息的javascript片段。
在您的GA代码中包含javascript的示例:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
var _from = unescape(window.location.href.replace(/.*[?&]from=(.*)/,'$1'));
if (_from && _from.length > 0) {
_gaq.push(['_setReferrerOverride',_from]);
}
_gaq.push(['_trackPageview']);
并且,如果存在引用者,则使用mod_rewrite移动引用者的实例:
RewriteCond %{HTTP_HOST} ^domain.com\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} (.*)
RewriteRule ^(.*)$ http://shop.domain.com/$1?from=%1 [R=301,QSA,L]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://shop.domain.com/$1 [R=301,L]
您当然也需要在www.domain.com上复制上述内容。
相关问题