一直试图让这个工作几周 . 任何帮助是极大的赞赏 .
我最近已升级到Universal Analytics,并设法使用_2521321成功设置跨域跟踪,但在将用户重定向到实验的域部分时,我无法让我的Analytics Experiment传递 _ga
变量 .
Setup
-
这两个域都有两个跟踪器,一个(
t0
),它们共享[UA-xxxxxxx-5]
和一个(domainUniqueTracker
),它们记录到该特定域唯一的trackingId(主域为[UA-xxxxxxx-1]
,新实验域为[UA-xxxxxxx-14]
) . -
链接器加载在
t0
上以启用跨域共享 . -
链接器加载了一系列域,包括我试图通过实验发送流量的域 .
-
在共享trackingId
[UA-xxxxxxx-5]
上创建实验 .
Context
我的公司有一个名为LIME Pro的产品,我们到目前为止已经在我们公司的网页上有了相关信息 . 现在,作为一项实验,我们在一个单独的域上创建了一个关于系统的单页,他们希望看到哪个页面(旧的或新的)吸引了大多数潜在客户 .
公司网页内的旧产品页面(安装在那里的实验代码)http://www.lundalogik.se/crm-system/lime-pro/
单独域上的新产品页面(与跟踪器上的主域名共享trackingId t0
)http://www.lime-pro.se
Problem
如果我访问www.lundalogik.se并从那里点击指向新的外部站点的常规链接(虚拟页面 lundalogik.se/experiment/
上的常规锚点链接) clientId
已在URL中成功传递,并且外部站点的跟踪器识别此并开始使用 clientId
.
但是,如果我浏览到安装了实验代码的页面,我将被重定向到外部站点,而不会传递clientId,因此外部站点的跟踪器会生成一个新的clientId .
感谢和抱歉长篇文章,想尽可能详细地解释 .
2 回答
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相同,只有服务器端(不要忘记在重定向中包含内容实验参数)
正如我所说,这基本上是在大声思考,但它可能提供解决方案的线索 .
我很抱歉只有半个答案,但是在我完全开始工作之前,我从上面得到了命令 . 希望对于那些想要做同样事情的人来说,它仍然会有所帮助 .
如果您完成接收部分,请在此处发布您的代码,我将更新此答案/奖励您的答案 .
好吧这里什么都没有..
发送方工作并将clientId添加到哈希值,并在实验进行跨域重定向时成功传输 .
PAGE WITH EXPERIMENT CODE
在运行实验代码之前执行此操作 .
PAGE ON CROSS DOMAIN
这是我在接到订单之前从未到过的地方 . 但你会做类似的事情:
正在检查
window.location.hash
,如果它包含clientId(window.location.hash.substr(0,3) == "#GA"
)检查现有的cookie 2.1 . (存在)通过"; "拆分cookie,找到"_ga"并用上面的哈希替换它的值(首先删除"#")2.2 . (不存在)在域级别创建一个新cookie并设置"_ga=(hash-value)"
启动谷歌分析跟踪器,它将承担访客之前已经访问过该页面并从cookie中接受了client-id
活得长久,繁荣昌盛
所以,再次抱歉,答案只是部分完成,但希望有人会从中受益 .
或者至少不要假设他们像我在无法工作时那样疯狂:) .
如果社区希望我当然会删除“已接受的答案”,如果这被认为是不好的做法(这只是我在SO网络上的第二篇文章) .