代表访客在不同域名间移动的连接节点的抽象网络

跨域追踪:如何追踪访客跨越多个网站的活动

许多业务在多个域名上运营。您的营销网站位于 example.com,应用程序位于 app.example.io,结账页面位于支付提供商的域名。访客通过这三个网站进行单次旅程——但对于标准分析工具来说,这一个人看起来像三个独立的访客。跨域追踪通过在域名更改时保持一个真实访问为单一会话来解决这个问题。

为什么会话在域名之间中断

分析工具使用标识符来识别回访访客——通常是存储在第一方 Cookie 中或 localStorage 中的值。根据设计,该存储的作用域是单个域名。在 example.com 上设置的 Cookie 对 app.example.io 完全不可见。当访客从一个域名跨到另一个域名时,第二个网站无法读取第一个网站的标识符,所以它生成一个全新的标识符并启动新的会话。

结果是访客被重复计数,旅程被中断。一个读取您主页、点击进入您的应用并注册的人会显示为:营销网站上的一个"跳出"的访客,加上应用上一个单独的、全新的"直接"访客。连接它们的引荐链被破坏,您的引荐流量数据变得混乱。

跨域追踪如何工作

由于目标域名无法读取源域名的存储 ID,技巧是在链接本身中携带 ID。当访客点击从 example.comapp.example.io 的链接时,追踪器将访客的 ID 作为查询参数附加到目标 URL。目标网站在到达时读取该参数并采用相同的 ID,而不是生成新的。

链接装饰模式

// 在源域名上:将访客 ID 添加到出站链接 const LINKED = ['app.example.io', 'checkout.example.com']; document.addEventListener('click', e => { const a = e.target.closest('a'); if (a && LINKED.includes(a.host)) a.href += (a.search ? '&' : '?') + '_sx=' + visitorId; }); // 在目标域名上:在到达时读取 ID const incoming = new URLSearchParams(location.search).get('_sx'); if (incoming) adoptVisitorId(incoming);

两个网站必须共享相同的分析属性并同意参数名称,以便握手被识别而不是被视为另一个 UTM 标签。如果操作正确,访客将为整个旅程保持一个 ID,会话保持完整。

子域名更容易。如果您的所有属性都是一个根域的子域(www.example.comapp.example.com),您可以在根域级别(.example.com)设置 Cookie 并完全跳过链接装饰。真正的跨域追踪只有在注册域名不同时才需要。

跨域追踪揭示了什么

一旦会话被连接在一起,您可以看到以前看不到的旅程:

不做会话连接使用跨域追踪
2 个访客,都"跳出"了1 个访客,6 页面旅程
应用注册看起来"直接"注册被归因于开始它们的博客文章
两个简短会话一个准确的会话时长

这对归因最重要。没有它,实际驱动注册的营销内容就无法获得信用,因为转化发生在不同的域名上,该域名将访问记录为"直接"。有了它,您终于可以将付费注册追踪回启动旅程的特定文章或广告——这是任何诚实漏斗分析的基础。

需要注意的事项

从一个 statpx 账户追踪每个您拥有的域名

在一次登录下添加多个网站,使用标签组织它们,并并排查看每个属性的流量。免费开始,在几分钟内连接您的整个网络流量。

免费开始追踪 →

总结

如果您的客户旅程跨越多个域名,默认分析工具会悄悄地错误计数您的访客并错误地归因您的转化。跨域追踪在握手处携带单个匿名标识符,以便一个真实的人从首次点击到最终转化保持一个会话。设置一次,通过自己走过旅程来验证,您的归因和会话数字将最终反映现实。有关首先在每个网站上进行追踪的基础知识,请参阅我们关于安装追踪代码片段的指南。

Continue reading

Technical
How to Identify and Block Referrer Spam in Website Analytics
Technical
How to Filter Your Own Visits Out of Website Analytics
Technical
Custom Dimensions in Analytics: Track Extra Context Beyond Pageviews
Analytics by statpx