谷歌分析如何限制域名?

5

我理解的跨域限制是,你无法使用JavaScript或iframe来验证哪个域正在加载你的内容。那么,谷歌是如何知道哪些来自用户访问真实域的数据呢?如果有人在不同的网站上使用我的GA嵌入代码,谷歌如何区分?


1
因为当您的GA代码被嵌入到其他网站的标记中时,当用户访问该网站时,Google的服务器将看到用户请求带有指向该其他网站的引用者的GA .js跟踪代码。 - Marc B
我的猜测是它会发送window.location的值(或其属性之一)以及它收集到的其他数据。 - Ryan Kinal
3个回答

12

谷歌分析在默认情况下不会区分或验证数据的来源。

如果有人恶意地将您的GA帐户ID放在他们的网站上,您将收到他们的数据传输回您的帐户,就像您自己在您的网站上放置了它一样。

但是,默认情况下,ga.js会附加来自location.hostname的主机名到跟踪数据,并将其作为一个维度提供。因此,可以跟踪、管理和分割来自外部主机名的任何流量。

如果这成为问题,您可以配置Google Analytics过滤器,要么排除特定恶意域的流量,要么包括流向您特定域名的流量。

这对大多数人来说很少会出现问题。


4

GA JavaScript(以及您在页面上嵌入的任何其他JS)可以访问包含完整URL、域等信息的location对象。


那不可能被伪造吗?那么我们如何能够依赖GA数据呢? - Citizen

1

跨域跟踪是在您想要跨多个您控制的域名中单个会话中跟踪GA时所必需的。如果您不使用或配置错误,您将得到无意义的数据,并且还将缺少转化点的任务分配。Google Analytics使用附加到访问者浏览器的第一方cookie。

这些cookie包含有关访问者上次访问站点的时间、页面以及各种其他数据。当用户在页面之间点击或在以后的日期返回时,ga.js javascript会查找该第一方cookie的存在。如果它没有找到cookie,则将该访问者视为全新的访问者(从未访问过您的站点)。第一方cookie非常好,但出于安全原因,它们不会在域之间传输。第一方cookie直接链接到设置它的域,并且不会被任何其他域访问。

如果您想从特定域获取数据,可以创建一个主机名过滤器,插入类型。也就是说,只接收专属于此域的数据

使用旧版Google Analytics,单击访客 > 网络设置 > 主机名,您可以查看向您发送数据的域的信息。


在新版的Google Analytics中,点击“标准报告(顶部菜单)>技术>网络”,然后在图表下方,点击“主机名”以获取主要维度。 - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接