现在试图让这个工作几个星期了。非常感谢任何帮助。
我最近已升级到Universal Analytics,并设法使用autoLinker
成功设置跨域跟踪,但在重定向用户时,我无法让我的Google Analytics实验传递_ga
变量到实验的域名部分。
设置
t0
)共享[UA-xxxxxxx-5]
和一个(domainUniqueTracker
),它们记录到该特定域唯一的trackingId([UA-xxxxxxx-1]
主域名和[UA-xxxxxxx-14]
新实验域名。)t0
以启用跨域共享。[UA-xxxxxxx-5]
上创建实验。上下文
我公司有一款名为LIME Pro的产品,到目前为止我们已经在公司网页上获得了相关信息。现在,作为一项实验,我们在一个单独的域上创建了一个关于系统的单页,他们希望看到哪个页面(旧的或新的)吸引了大多数潜在客户。
公司网页内的旧产品页面(安装在那里的实验代码) http://www.lundalogik.se/crm-system/lime-pro/
单独域上的新产品页面(与跟踪器t0
上的主域名共享trackingId)
http://www.lime-pro.se
问题
如果我访问www.lundalogik.se并从那里点击指向新的外部网站的常规链接(虚拟页面lundalogik.se/experiment/
上的常规锚链接),clientId
成功传递外部站点的URL和跟踪器识别出这一点并开始使用clientId
。
但是,如果我浏览到安装了实验代码的页面,我将被重定向到外部站点,而不会传递clientId,因此外部站点的跟踪器会生成一个新的clientId。
感谢和抱歉长篇文章,希望尽可能详细地解释。
答案 0 :(得分:0)
UA中的各种链接器函数将_ga添加到传出链接(表单,框架等)。由于重定向发生在实验javascript中,客户端ID无法添加到网址(这在某种程度上似乎是对谷歌部分的疏忽 - 似乎他们没有预料到您的用例,即跨域的内容实验)。
我有一些未经考验的想法可以贡献,也许你可以在其中一个上面构建一个解决方案。
1)在实验代码触发之前,将客户端ID推送到window.document.location.hash。至少在Chrome中,这不会导致重新加载(据我所知,从查看网络选项卡)。由于哈希现在是url的一部分,因此当重定向触发时它应该被发送。然后,您需要在接收页面上使用一个脚本来检查客户端ID的哈希,并将其传递给分析(如果存在)。
2)基本上相同,只是这次使用pushState方法(https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history),它应该允许你提供查询参数而无需重新加载。
3)将变体页面设为主域中的页面。而不是任何内容放在那里的javascscript从cookie读取clientId并重定向到其他域
4)与3相同,只有服务器端(不要忘记在重定向中包含内容实验参数)
正如我所说,这基本上是在大声思考,但它可能提供解决方案的线索。
答案 1 :(得分:0)
我很抱歉只有半个答案,但是在我完全开始工作之前,我从上面接到命令。希望对于那些希望这样做的人来说,它仍然会有所帮助。
如果您执行完成接收部分,请在此处发布您的代码,我将更新此答案/给您答案。
好的,什么都没有..
发送方工作并将clientId添加到哈希值,并在实验进行跨域重定向时成功传输。
包含实验代码的页面
在运行实验代码之前执行此。
var z, y, x = document.cookie.split("; ");
for (var i = 0; i < x.length; i++) {
y=x[i].split("=");
if (y[0] == "_ga") window.location.hash = y[1];
}
PAGE ON CROSS DOMAIN
这是我收到订单之前从未接触过的地方。但你会做类似的事情:
window.location.hash
以及是否包含clientId(window.location.hash.substr(0,3) == "#GA"
)所以,再次抱歉,答案只是部分完成,但希望有人能从中受益。
或者至少不要假设他们像我在无法工作时那样生气。)。
如果社区希望我将删除“已接受的答案”,如果这被认为是不好的做法(这只是我在SO网络上的第二篇帖子)。