假设我在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中的值。
答案 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>