<?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; Cookie</title>
	<atom:link href="http://www.webanalytics.org.cn/tag/cookie/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/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>
		<item>
		<title>第一方Cookie VS 第三方Cookie － Cookie详解</title>
		<link>http://www.webanalytics.org.cn/first-party-cookies-vs-third-party-cookies/</link>
		<comments>http://www.webanalytics.org.cn/first-party-cookies-vs-third-party-cookies/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 05:53:18 +0000</pubDate>
		<dc:creator>深蓝</dc:creator>
				<category><![CDATA[基础知识]]></category>
		<category><![CDATA[Cookie]]></category>
		<category><![CDATA[原理]]></category>
		<category><![CDATA[第三方Cookie]]></category>

		<guid isPermaLink="false">http://www.webanalytics.org.cn/?p=72</guid>
		<description><![CDATA[<h3>什么是Cookie，它有什么用处？</h3>
Cookie是网站存放在客户端的一小段数据。一般的，网站为了提升用户体验，在客户的客户端中保存用户的历史信息，以备用户再次访问时网站能提供更方便，更有针对性的服务。比如，网站可以记住你的登录状态，只要登录一次下次访问就不用在登录；购物网能记住你浏览过的产品，保留你购物车中的物品。这些都有Cookie的功劳。
<h3>Cookie对网站分析又有什么作用？</h3>
网站分析是以数据为基础的，而数据的采集需要借助<a title="网站分析工具" href="http://www.webanalytics.org.cn/category/tools/" target="_blank">网站分析工具</a>。主流的网站分析工具主要分两种类型：日志型和<a title="脚本型网站分析工具实现原理" href="http://www.webanalytics.org.cn/principle-of-script-web-analytics-tools/" target="_blank">页面脚本型</a>。这两种类型工具的一个区别就在于对Unique Visitor的区分很判断。当网站有很多次访问的记录的时候，如何判断那些访问来至同一个用户。日志型的分析工具，一般通过访问的来源IP地址进行判断，通过相同IP地址的访问被认为来至同一个用户。页面脚本型的分析工具，就需要根据Cookie的记录来判断不同的访问是否来至不同的用户。这类的工具会在Cookie中存放用来标识唯一用户的ID，每个浏览器得到的ID都是不同的。用户访问时检查Cookie中的ID，ID相同的访问被认为来至同一个用户，否则，则是不同用户的访问。]]></description>
			<content:encoded><![CDATA[<h3>什么是Cookie，它有什么用处？</h3>
<p>Cookie是网站存放在客户端的一小段数据。一般的，网站为了提升用户体验，在客户的客户端中保存用户的历史信息，以备用户再次访问时网站能提供更方便，更有针对性的服务。比如，网站可以记住你的登录状态，只要登录一次下次访问就不用在登录；购物网能记住你浏览过的产品，保留你购物车中的物品。这些都有Cookie的功劳。</p>
<h3>Cookie对网站分析又有什么作用？</h3>
<p>网站分析是以数据为基础的，而数据的采集需要借助<a title="网站分析工具" href="http://www.webanalytics.org.cn/category/tools/" target="_blank">网站分析工具</a>。主流的网站分析工具主要分两种类型：日志型和<a title="脚本型网站分析工具实现原理" href="http://www.webanalytics.org.cn/principle-of-script-web-analytics-tools/" target="_blank">页面脚本型</a>。这两种类型工具的一个区别就在于对Unique Visitor的区分很判断。当网站有很多次访问的记录的时候，如何判断那些访问来至同一个用户。日志型的分析工具，一般通过访问的来源IP地址进行判断，通过相同IP地址的访问被认为来至同一个用户。页面脚本型的分析工具，就需要根据Cookie的记录来判断不同的访问是否来至不同的用户。这类的工具会在Cookie中存放用来标识唯一用户的ID，每个浏览器得到的ID都是不同的。用户访问时检查Cookie中的ID，ID相同的访问被认为来至同一个用户，否则，则是不同用户的访问。</p>
<p>Unique Visitor的判断对于网站分析来说非常重要，以致于分析工具在Cookie中存储的其他信息都显得不那么重要了。Unique Visitor并不仅仅是一个Metric，更重要的是，Unique Visitor把跨越多次访问的事件联系在一起。想象一下，一个访客通过一个广告来到网站，在这次访问离开前没有进行任何购买，但有把网站的网址加入到书签。过了几天，这个访客通过点击书签，又访问了我们的网站，最后购买了一些商品。这时，如果没有Unique Visitor来关联，那点击广告和购买商品的行为是没有任何关联的，我们无法知道访客点击的广告为最后的购买所做的贡献。可见，Cookie对网站分析是多么重要，通过Cookie，才能将多次访问中的事件串联起来。</p>
<h3>Cookie的技术细节</h3>
<p>（纯技术，不喜跳过）</p>
<ol>
<li>
<h4>Cookie是如何工作的？</h4>
<p>比如，我们访问一个网站，来到了登录的页面。页面需要我们输入用户名和密码，同时下面有一个选项，叫“保留我的登录状态”，如果输入了用户名，密码。为了下次在来这个网站，不用再重新输入，我们激活了保留状态的选项。最后点了提交。这时，我们的浏览器就会和网站服务器之间通过HTTP协议进行链接，提交刚才输入的内容和选择。服务器收到以后，会判断这个用户名密码是否正确，因为我们需要保留状态，就需要设置Cookie来记录状态。那服务器会在返回的HTTP数据包的头部包含SetCookie这个指令来告诉浏览器要保存的Cookie。浏览器收到以后会把这个Cookie加密存储到电脑上。这个Cookie记录的一般是用户在这个网站的唯一的ID。之后，只要每次访问这个网站（只要还是这个域名），我们的浏览器在请求这个网站服务器数据的时候，都会在HTTP请求数据包的头部增加一条包含Cookie数据的信息，比如这里会告诉服务器：“我是你的用户，我的ID是9527。”那服务器收到这个信息，就不会再提示登录，而我们就已经是登录的状态了。</li>
<li>
<h4>Cookie的生命周期</h4>
<p>Cookie的生命周期有两种，一种是整个会话的，一种是永久 的。也就是说，一种是临时性的Cookie，用户关掉浏览器，这个Cookie也就失效了。一种是永久的Cookie，可以持续存在的。一般网站分析工具判断Unique Visitor使用的是后者。</li>
</ol>
<h3>第一方和第三方Cookie的区别</h3>
<p>第一方Cookie和第三方Cookie，都是网站在客户端上存放的一小块数据。他们都由某个域存放，只能被这个域访问。他们的区别其实并不是技术上的区别，而是使用方式上的区别。比如，访问www.a.com这个网站，这个网站设置了一个Cookie，这个Cookie也只能被www.a.com这个域下的网页读取，这就是第一方Cookie。如果还是访问www.a.com这个网站，网页里有用到www.b.com网站的一张图片，浏览器在www.b.com请求图片的时候，www.b.com设置了一个Cookie，那这个Cookie只能被www.b.com这个域访问，反而不能被www.a.com这个域访问，因为对我们来说，我们实际是在访问www.a.com这个网站被设置了一个www.b.com这个域下的Cookie，所以叫第三方Cookie。</p>
<p>上面这么多看完还没有绕晕的请继续。</p>
<h3>第一方Cookie的优势和应用</h3>
<p>第一方Cookie的最大优势是接受率高。一般主流的浏览器的都会有隐私的设置，可以让用户设置是否接受Cookie，接受哪些Cookie。除了完全不接受Cookie这个设置以外，其他情况下，第一方Cookie都是会被用户接受的（不接受的话，是没办法把那小块数据保存下来的）。所以，如果没有特殊要求，使用第一方Cookie会比第三方Cookie，我们通过分析工具得到的数据会更准确。</p>
<h3>第三方Cookie的优势和应用</h3>
<p>第三方Cookie的接受率不如第一方Cookie（不过主流的浏览器默认的设置下也接受带P3P协议的第三方Cookie，我的经验是接受率能达到90％，甚至95％以上），但在某些特定情况下可以实现第一方Cookie无法实现的功能。比如，当我们有多个域名的网站需要跟踪，我们希望了解到用户点击某个广告到达域名A下的网页，然后可能浏览了不论那个域名下的页面，最后在域名B下的网页完成注册的情况。广告可以在域名A下的网页被跟踪到，而注册可以在域名B下的网页跟踪到。如果我们使用第一方Cookie，会为域名A建立一个Cookie，为域名B再建立一个Cookie，他们可以关联各自域名下网页上的行为，但是无法关联起来。而使用第三方Cookie，那么无论多少个域，都只有一个Cookie，一个属于第三方域的Cookie，网站下所有域都能共享这个Cookie，那么所有的行为都能被关联起来分析。</p>
<h3>结论</h3>
<p>对于通过脚本型的网站分析工具来获取数据</p>
<ol>
<li>Cookie是必须的，离开Cookie我们什么也分析不了。</li>
<li>第一方Cookie接受率高，更准确，没有特殊需要就用他。</li>
<li>第三方Cookie可以跨域跟踪，特别需求可以应用。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.webanalytics.org.cn/first-party-cookies-vs-third-party-cookies/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
