谷歌分析设置多个域的跨域跟踪

内容纲要

通过 Google Analytics(分析)设置跨域跟踪时需要对跟踪代码进行一些调整。您需要掌握 HTML 和一些基本的 JavaScript 知识才能顺利完成这一操作。如果您不熟悉 HTML,请与网站管理员联系,让他们帮您设置跨域跟踪。

本文说明了如何自定义跟踪设置,以将完全独立的多个顶级域作为单个实体进行跟踪。在进行说明时,用到了两个顶级(虚拟)域:www.A.com 和 www.B.com,并假设将它们作为单个网站进行跟踪。

设置跟踪

当您选择在同一报告中同时跟踪多个顶级域时,可在各个域的网页中使用相同的跟踪代码段,但必须为各个域的

_setDomainName

分别设置不同的值。

例如,如果您想要跟踪顶级域 A.com 和 B.com,并要将信息整合在 A.com 下,则应按如下所示为各个域配置跟踪代码:

A.com

<script type=”text/javascript”>

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-XXXXXXXX-1’]);
_gaq.push([‘_setDomainName’, ‘A.com’]);
_gaq.push([‘_setAllowLinker’, true]);
_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>

B.com

<script type=”text/javascript”>

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-XXXXXXXX-1’]);
_gaq.push([‘_setDomainName’, ‘B.com’]);
_gaq.push([‘_setAllowLinker’, true]);
_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>

由于所有网页上都显示了同一跟踪号码 (UA-XXXXXXXX-N),所以不同域的数据会整合在一个号码下。

设置跟踪代码后,需要设置交叉链接。

 

设置交叉链接

如果您的所有流量总是源自 A.com,然后导航至 B.com(例如完成购买行为),则应设置从 A.com 到 B.com 的交叉链接:

A.com → B.com

如果流量既可能源自 A.com 也可能源自 B.com,则应同时设置两个方向的交叉链接:

A.com → B.com

B.com → A.com

在横跨各个域的链接中调用

_link()

方法。

如果流量从 A.com 转到 B.com,而您当前的链接类似以下形式:

<a href=”https://www.B.com/?login=parameters”>View Cart</a>

请将其形式更改为:

<a href=”https://www.B.com/?login=parameters” onclick=”_gaq.push([‘_link’,
‘https://www.B.com/?login=parameters’]); return false;”>View Cart</a>

如果流量还可能从 B.com 转到 A.com,而您当前的链接形如:

<a href=”https://www.A.com/”>Continue Shopping</a>

请将其形式更改为:

<a href=”https://www.A.com/” onclick=”_gaq.push([‘_link’,
‘https://www.A.com/’]); return false;”>Continue Shopping</a>

在设置跨域跟踪时,本质上是将两个不同网站的跟踪代码配置为向一组 Cookie 写入信息,从而让您获得一组统一的信息。

 

设置表单

如果您使用表单在域之间发送信息,则需要使用

_linkByPost()

方法。

<form name=”f” method=”post” onsubmit=”_gaq.push([‘_linkByPost’, this]);”>

这同样适用于使用 GET 方法的表单。不过请注意,由于表单数据与 Google Analytics(分析)跟踪都会生成很长的查询字符串,因此如果您的网络服务器设有网址长度限制(例如 255 个字节),对 GET 表单使用此方法可能会发生问题。

单独显示域名

默认情况下,报告中的数据仅包括路径和网页名称,而不包括域名。例如,网页列表在“内容”报告中会显示为

/about/contactUs.html

,而不会显示域名。如果您跨两个域进行跟踪,那么您会很难分辨网页是属于哪一个域;尤其当每个网站上的目录结构与网页名称很相似时,更是如此。

如果您希望在报告中查看域名,可使用以下设置为配置文件创建高级过滤器

过滤器类型:自定义过滤器 > 高级

字段 A:主机名提取 A:(.*)

字段 B:请求 URI

提取:(.*)

输出至:请求 URI

构造器:$A1$B1

这同样适用于使用 GET 方法的表单。不过请注意,由于表单数据与 Google Analytics(分析)跟踪都会生成很长的查询字符串,因此如果您的网络服务器设有网址长度限制(例如 255 个字节),对 GET 表单使用此方法可能会发生问题。

如果您希望使用过滤功能,请为网站创建新的配置文件。在您保存该过滤器时,配置文件仅会显示与过滤器表达式相符的数据。如果您在设置该过滤器时出现任何差错,配置文件可能根本不显示数据。您可能还需要修改过滤器和目标,使其适应新的网址结构。了解有关创建配置文件副本的详情。(转自:谷歌分析