<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>网站分析 Web Analytics &#187; 跨域名</title>
	<atom:link href="http://www.webanalytics.org.cn/tag/%e8%b7%a8%e5%9f%9f%e5%90%8d/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webanalytics.org.cn</link>
	<description>专注于网站分析工具、网站分析方法与网站分析实践</description>
	<lastBuildDate>Fri, 25 Jun 2010 05:55:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>警惕！部署网站分析工具时的陷阱</title>
		<link>http://www.webanalytics.org.cn/pitfalls-in-web-analytics-tool-deployment/</link>
		<comments>http://www.webanalytics.org.cn/pitfalls-in-web-analytics-tool-deployment/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:02:51 +0000</pubDate>
		<dc:creator>深蓝</dc:creator>
				<category><![CDATA[分析工具]]></category>
		<category><![CDATA[JavaScript错误]]></category>
		<category><![CDATA[推广活动]]></category>
		<category><![CDATA[跨域名]]></category>
		<category><![CDATA[重定向]]></category>
		<category><![CDATA[陷阱]]></category>

		<guid isPermaLink="false">http://www.webanalytics.org.cn/?p=353</guid>
		<description><![CDATA[为了能够跟踪访问者在网站上的行为，特别是对于标签型的网站分析工具而言，部署代码是必不可少的步骤。代码的部署影响到了网站分析工具抓取到的数据的正确性。同时，网站分析工具后台的设置也会影响分析的质量。在实际的部署过程中，存在下面一些不容易注意的陷阱，可能最终导致失败。]]></description>
			<content:encoded><![CDATA[<p>为了能够跟踪访问者在网站上的行为，特别是对于标签型的网站分析工具而言，部署代码是必不可少的步骤。代码的部署影响到了网站分析工具抓取到的数据的正确性。同时，网站分析工具后台的设置也会影响分析的质量。在实际的部署过程中，存在下面一些不容易注意的陷阱，可能最终导致失败。</p>
<h3>JavaScript错误</h3>
<p>我看很多的网站部署网站分析工具代码的时候，都会把这些代码放在页面代码的底部，当页面加载完的时候才会执行这些代码。这样做基于两个原因，一是只有页面完全被加载的时候，这次页面访问才会被统计，得到的数据更有意义；二是如果这部分代码出现了什么问题，不会影响到页面的正常显示。不过，这也会引发另一个问题，当页面上之前的代码存在JavaScript错误的时候，网站分析工具的代码就失效了。因为，浏览器在处理页面上的JavaScript代码，是从上向下执行的。如果在这个过程中发生了错误，将不再继续执行。</p>
<p>为了避免这种错误，在检查部署的时候，不仅仅要检查页面上是否有代码，还要检查是否真的有统计的数据发出。这里推荐使用<a title="WASP" href="http://webanalyticssolutionprofiler.com/" target="_blank">WASP</a>。这是一个Firefox的插件，可以检查是否有Web Analytics工具存在，都发送了哪些数据。当然，也可以用HTTP嗅探器来检测HTTP的数据包。</p>
<h3>跨域导致的错误</h3>
<p>如果部署的网站有多个域名，那么跨域的跟踪是必须要考虑的事情。如果你使用Google Analytics，而没有考虑跨域的问题，那么得到的结果很可能不是你希望看到的。详情可以看之前的一篇《<a title="网站分析中的多网站跨域跟踪" href="http://www.webanalytics.org.cn/cross-domain-tracking-in-web-analytics/" target="_blank">网站分析中的多网站跨域跟踪</a>》。</p>
<h3>遗漏的设定</h3>
<p>在Google Analytics中，在部署的时候可以设定一些函数，比如<span><span>pageTracker._addOrganic()就是来处理搜索引擎的，同时在后台可以设置过滤器等。SiteCatalyst更是有许多的设置。这些设置如果在部署之前不考虑好，很可能留下遗憾。因为很多设置都是在生效以后才能看到数据。如果，等部署完一段时间以后才发现，即使及时做了修正，之前一段时间的宝贵数据还是遗失了。这对网站分析来说，不能不说是严重的损失。</span></span></p>
<p><span><span>所以，在部署以前熟悉工具的设置，并作出恰当的规划是非常必要的。</span></span></p>
<h3>URL重定向</h3>
<p>URL重定向主要用在SEO，用来生成对搜索引擎更友好的静态URL。当你输入一个带动态参数的URL时，会重定向到一个静态的URL，参数会根据一定规则作为这个静态URL的一个目录。而网站分析中，广告一般都是以URL后面加参数的方式来跟踪的，如果遇到会URL重定向的页面，这个参数会自动转为静态URL，导致网站分析工具不能取到广告的ID。</p>
<p>要解决这个问题，比较复杂，需要和开发人员一起配合根据具体情况处理。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webanalytics.org.cn/pitfalls-in-web-analytics-tool-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网站分析中的多网站跨域跟踪</title>
		<link>http://www.webanalytics.org.cn/cross-domain-tracking-in-web-analytics/</link>
		<comments>http://www.webanalytics.org.cn/cross-domain-tracking-in-web-analytics/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 12:32:22 +0000</pubDate>
		<dc:creator>深蓝</dc:creator>
				<category><![CDATA[分析工具]]></category>
		<category><![CDATA[Cookie]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Omniture]]></category>
		<category><![CDATA[SiteCatalyst]]></category>
		<category><![CDATA[第三方Cookie]]></category>
		<category><![CDATA[跨域名]]></category>

		<guid isPermaLink="false">http://www.webanalytics.org.cn/?p=349</guid>
		<description><![CDATA[不知道你有没有碰到这样的情况，有多个网站需要跟踪和分析，而这些网站在不同的域名之下。对于各个网站本身的分析，这是比较简单的，但对于各个网站之间相互关联的分析，就需要花费一些气力了。想象一下，假设有两个网站，A网站的域名是a.com，B网站的域名是b.com。当一个访问者通过点击广告来到A网站，在A网站中点击链接来到B网站，最后在B网站购买了商品，我们如何才能跟踪到广告点击为最后的购买行为的贡献呢？这种情况很常见，B可以是一个电子商务网站的主站，而A是一个广告登陆的Mini Site。
<h3>这有什么区别？</h3>
有的童鞋可能会说，这有什么难的，只要在两个网站上都部署了网站分析工具的跟踪代码，用相同的帐号或者ID，两个网站的数据不就会整合到一起吗？但实际的情况没有这么简单。

我们访问网站的时候，是通过HTTP协议，而HTTP协议是一种无状态的协议。换句话说，当你访问一个页面的时候，服务器不会记得你是谁，你之前看过些什么页面。为了能够记录一些重要的信息，HTTP中专门定义了Cookie的概念。Cookie可以用来在浏览器中记录一些信息。为了保护隐私，Cookie中的信息是加密存储，并且是属于特定的域名的，只有这个域名才能够读写。

所以，当两个网站下的Cookie都属于各自的 域的时候，也就是都使用第一方Cookie的时候，A网站和B网站虽然都能被监控到，但他们之间是没有关联的。因为A网站和B网站会分别有两个Cookie，而这两个Cookie存储的用户的ID也是不同的。]]></description>
			<content:encoded><![CDATA[<p>不知道你有没有碰到这样的情况，有多个网站需要跟踪和分析，而这些网站在不同的域名之下。对于各个网站本身的分析，这是比较简单的，但对于各个网站之间相互关联的分析，就需要花费一些气力了。想象一下，假设有两个网站，A网站的域名是a.com，B网站的域名是b.com。当一个访问者通过点击广告来到A网站，在A网站中点击链接来到B网站，最后在B网站购买了商品，我们如何才能跟踪到广告点击为最后的购买行为的贡献呢？这种情况很常见，B可以是一个电子商务网站的主站，而A是一个广告登陆的Mini Site。</p>
<h3>这有什么区别？</h3>
<p>有的童鞋可能会说，这有什么难的，只要在两个网站上都部署了网站分析工具的跟踪代码，用相同的帐号或者ID，两个网站的数据不就会整合到一起吗？但实际的情况没有这么简单。</p>
<p>我们访问网站的时候，是通过HTTP协议，而HTTP协议是一种无状态的协议。换句话说，当你访问一个页面的时候，服务器不会记得你是谁，你之前看过些什么页面。为了能够记录一些重要的信息，HTTP中专门定义了Cookie的概念。Cookie可以用来在浏览器中记录一些信息。为了保护隐私，Cookie中的信息是加密存储，并且是属于特定的域名的，只有这个域名才能够读写。</p>
<p>所以，当两个网站下的Cookie都属于各自的 域的时候，也就是都使用第一方Cookie的时候，A网站和B网站虽然都能被监控到，但他们之间是没有关联的。因为A网站和B网站会分别有两个Cookie，而这两个Cookie存储的用户的ID也是不同的。</p>
<h3>这样会有什么问题？</h3>
<p>首先，同一个访问者在两个网站上产生的行为无法产生关联，就像文章开头那里的例子，我们无法知道链接到A网站的广告对最后B网站上的购买贡献有多大。这对很多两个关联很紧密的网站的分析来说是致命的。其次，网站分析工具的测量结果将不正确。因为不同的域名各有一个Cookie，网站分析工具会在这两个Cookie中存储分配的两个不相同的用户ID，当一个用户在一次访问中浏览了两个网站，则会产生两次Visits和两个Visitors。</p>
<h3>那网站分析到底如何进行跨域名的跟踪呢？</h3>
<p><strong>关于这个问题，有趣得紧，网站分析工具中大名鼎鼎的两个，Omniture的SiteCatalyst和Google Analytics，分别给出了两个不同的答案。</strong>让我们看看他们分别是如何工作的吧。</p>
<h4>先说说Omniture的SiteCatalyst的解决方案</h4>
<p>SiteCatalyst默认情况下使用的是第三方的Cookie，Cookie的域是Omniture数据接收服务器的域名。也就是说，不管你把SiteCatalyst装到多少个网站上，使用的Cookie的域都是同一个，不会发生变化。这就保证了，在不同网站上使用同一个Cookie。SiteCatalyst就能够知道不同网站上的访问是否来自同一个访问者。</p>
<p>不过SiteCatalyst使用的第三方Cookie的接受率相对第一方Cookie略低，准确度会有影响。所幸国内网民对隐私的保护并不重视，两种Cookie的接受率差异很小。</p>
<h4>再来看看Google Analytics是如何解决的</h4>
<p>Google Analytics是使用第一方Cookie的，Cookie的域都是被监控的网站的域名，所以各个域名之间是无法关联的。针对跨域跟踪的这种情况，Google Analytics提供了一组函数。在部署的时候，所有遇到域名之间跳转的情况，不管是链接、表单提交还是框架等，都需要加入特定的代码。可以参考<a title="Google Analytics的跨域跟踪的官方文档" href="http://code.google.com/intl/zh-CN/apis/analytics/docs/tracking/gaTrackingSite.html" target="_blank">Google Analytics的官方文档</a>。那么它的工作原理是什么样的呢？当我们第一次访问网站A的时候，这个网站上部署的Google Analytics的代码会在保存一些Cookie，记录包括在Google Analytics中唯一标识这个用户的ID在内的信息。当点击一个链接到网站B的时候，在链接上的特定代码会做一个处理，将网站A中的Google Analytics的Cookie的指都取出来，作为参数传递链接的目标页面。目标页面上的Google Analytics的代码会把这些值放置到自己Cookie中。这样以来，即使两个域名还是使用两个Cookie，但Cookie中的信息是一致的，Google Analytics还是可以认定跨越两个域名的访问是否来至同一个访问者。</p>
<p>Google Analytics的优点在于使用第一方Cookie所带来的更高的接受率。缺点也显而易见，因为需要在所有网站间跳转的地方增加额外的代码，增加了部署和维护的难度和成本。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webanalytics.org.cn/cross-domain-tracking-in-web-analytics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
