为什么选择Google Analytics / Mixpanel /等。发送cookie到我的服务器?

时间:2014-11-18 14:57:23

标签: cookies google-analytics mixpanel

假设我在http://domain.org有一个网站,我还有Google Analytics(GA)和Mixpanel(MP)Javascript跟踪代码。 MP和GA都会在用户浏览器中为我的整个域存储Cookie,包括子域(.domain.org)。

因此,每当我向整个域中的任何URL发出请求时,GA和MP的cookie都会被发送。

另一方面,New Relic将他们的cookie存储在bam.nr-data.net域中。

为什么GA和MP会这样做?只有在奇怪的后端hackings的情况下,才会在后端使用这些cookie中的值。

2 个答案:

答案 0 :(得分:3)

Google Analytics使用第一方Cookie(通过注入将Cookie设置到网站源代码中的javascript代码),因为第三方Cookie经常被屏蔽(在许多浏览器中,默认情况下会阻止它们)。

由于它们是在您的域名下设置的,因此会将其发送到您的服务器。这几乎是原始意图的副作用(这是为了使跟踪更可靠),你不应该在你的后端使用它们。

设置Google Analytics时,您可以使用Cookie域参数将ga cookie限制为域/子域的特定部分。据我所知,您不能让GA使用第三方cookie。

答案 1 :(得分:3)

在相关说明中,如果您的目标是避免在每次请求时发送Cookie数据,您可以告诉Google Analytics使用localStorage(而不是Cookie)来存储客户端ID。

这里有thread on the HTML5Boilerplate repo讨论实施以及这种方法的利弊。

TL; DR是指您不必支持IE7及更早版本,如果您没有跨多个子域进行跟踪,则可以localStorage使用{没有问题。< / p>