设置谷歌分析与谷歌网站优化工具跟踪多个域或者子域可能会非常棘手。我们都希望找到合适的解决方案,利用谷歌分析与谷歌网站优化工具,帮助我们改进网站!这里我将会告诉大家详细的步骤,来解决谷歌分析(Google Analytics)与网站优化工具(Website Optimizer)的跨域跟踪问题!
注:本文适用于对谷歌Analytics跟踪代码的最新版本(ga.js)
第一步:标记处理所有跨域链接与表单提交输出链接
首先,我们需要找出网站所有的链接及表单提交动作,从一个域到另一个域的追踪,我们可以使用以下样本代码: 对于跨域链接我们可以添加相关标签,onclick=”javascript:firstTracker._link(this.href); return false;”
样本代码:<a href=”https://www.domain2.com” onclick=”javascript:firstTracker._link(this.href); return false;”>Domain 2</a>
对于表单的跨域跟踪,我们需要添加相关标记代码,
onSubmit=
"javascript:firstTracker._linkByPost(this);"
样本代码<form action=”http://www.domain2.com” method=”post” onSubmit=”javascript:firstTracker._linkByPost(this);”>注释:firstTracker._link 和 firstTracker._linkByPost可以让谷歌分析及网站优化工具共享并跟踪浏览者跨域访问行为。
第二步:添加定制后的JS代码,使GA可以跟踪Domain1.com和它的所有子域
添加下面的代码,将可以使用谷歌分析跟踪Domain1.com及news.domain1.com等所有子域),请将下面的代码添加到网页<head>与</head> 之间
01.script type=
"text/javascript"
>
02.
var
gaJsHost = ((
"https:"
== document.location.protocol) ?
"https://ssl."
:
"http://www."
);
03.
document.write(unescape(
"%3Cscript src='"
+ gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"
));
04.
</script>
05.
<script type=
"text/javascript"
>
06.
try
{
07.
var
firstTracker = _gat._getTracker(
"UA-xxxxx-x"
);
08.
firstTracker._setDomainName(
".domain1.com"
);
09.
firstTracker._setAllowLinker(
true
);
10.
firstTracker._setAllowHash(
false
);
11.
firstTracker._trackPageview();
12.
}
catch
(err) { }
13.
</script>
注释:1、您必须处理完第一步骤的任务,将所有的跨域链接及表单提交行为做标记处理
2、UA-xxxxx-x是您的谷歌分析配置ID
3、_setAllowLinker设置激活谷歌分析支持跨域跟踪。
4、_setAllowHash为了保证用户在不同的域之间还能保证COOKIE的传递。
第三步:添加定制后的JS代码,使GA可以跟踪Domain2.com和它的所有子域
01.
<script type=
"text/javascript"
>
02.
var
gaJsHost = ((
"https:"
== document.location.protocol) ?
"https://ssl."
:
"http://www."
);
03.
document.write(unescape(
"%3Cscript src='"
+ gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"
));
04.
</script>
05.
06.
<script type=
"text/javascript"
>
07.
08.
try
{
09.
10.
var
firstTracker = _gat._getTracker(
"UA-xxxxx-x"
);
11.
firstTracker._setDomainName(
".domain2.com"
);
12.
firstTracker._setAllowLinker(
true
);
13.
firstTracker._setAllowHash(
false
);
14.
firstTracker._trackPageview();
15.
</script>
16.
17.
}
catch
(err) { }
18.
19.
</script>
注释:GA配置ID(UA-xxxxx-x)一定要和步骤二中的配置ID一致!