域更改后保留 Google 个客户端 ID

Keep Google Client ID after domain has been changed

我们已将站点域从 oldsite.od.ua 移至 newsite.ua(不在子域和主体 .tld 之间)。

Google Analytics 继续收集相同的 GA 属性 和视图,但所有 GA 客户端 ID 都已更改。我知道跨域跟踪,但在我的案例中,用户不会访问旧域以转到新域。

有没有办法将旧 ID 转移到新域? 我们不使用用户 ID,因为我们在我们的网站上没有任何授权。

这应该是可能的,虽然有点棘手。 您需要读取旧站点上存在的用户 _ga cookie,并为新站点上的同一浏览器设置它 这只能通过特殊的重定向来实现,这里是一个示例流程:

访问 newsite.ua 将在新闻站点的每个页面的源中包含对资源的引用,例如 https://oldsite.od.ua/special/ga.png

上的图像

该调用是允许通过 HTTP 请求 Headers 读取该浏览器 https://oldsite.od.ua/ 上的 _ga cookie 值的借口 可能类似于 GA1.3.1218996493.1586263874

对 ga.png 的请求将由 PHP 脚本处理,例如,能够处理 HTTP Header 值并且它会执行 302 重定向

https://newsite.ua/special/ga.png?ccvalue=GA1.3.1218996493.1586263874

这允许将以前的 GA cookie 的值传递给新的站点上下文。您将能够使用

之类的内容访问 PHP 中的“_ga”cookie 值
$_COOKIE["_ga"]

https://newsite.ua/special/ga.png?ccvalue=GA1.3.1218996493.1586263874 的调用的 HTTP 响应将具有这样的 HTTP header

Set-Cookie: _ga=GA1.2.1218996493.1586263874; Expires=<date in 13 months>

从而将参数的值作为cookie值传递。但前提是 https://newsite.ua/ 的 HTTP 请求尚未在请求 Header 中包含 _ga(这意味着浏览器已经迁移)

(例如,您需要调整代码以确保它不会进入无限循环...)

注意初始cookie值开头的“.3.”需要替换为“.2. " 以匹配新域上的 _ga cookie 生成规则(它基于域名中的点数,并允许 GA select 域和子域之间的适当 cookie)因为在你的情况下你在不同的域模式之间移动

这适用于 analytics.js 版本

GA debug extension 将帮助您验证是否已将其考虑在内

您还应该考虑在该迁移中处理有关标签等的用户同意..