使用通用分析跨域运行GA实验,链接器工作,但实验代码忽略了clientId



已经尝试了几个星期了。如有任何帮助,不胜感激。

我最近升级到通用分析,并成功地与autoLinker建立了跨域跟踪,但当将用户重定向到实验的域部分时,我无法让我的分析实验通过_ga变量。

设置>

  • 两个域都有两个跟踪器,一个(t0),他们共享[UA-xxxxxxx-5]和一个(domainUniqueTracker),记录到一个trackingId唯一的特定域([UA-xxxxxxx-1]主域和[UA-xxxxxxx-14]新的实验域)。
  • t0上加载链接器以实现跨域共享。
  • 链接器加载了一系列域,包括我试图通过实验发送流量的域。
  • 实验创建在共享trackingId [UA-xxxxxxx-5]
<

上下文/strong>

我的公司有一个产品叫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。

谢谢和抱歉的长帖子,想解释尽可能多的细节,我可以。

UA中的各种链接器函数将_ga添加到传出链接(表单,帧等)。由于重定向发生在实验javascript中,客户端id不能添加到url(这在某种程度上似乎是谷歌部分的疏忽-似乎他们没有预料到你的用例,即跨域的内容实验)。

我有一些未经测试的想法可以贡献,也许你可以在其中一个的基础上构建一个解决方案。

1)在实验代码触发之前,将客户端id推送到window.document.location.hash。至少在Chrome中,这不会导致重新加载(据我所知,从查看网络选项卡)。由于哈希值现在是url的一部分,当重定向触发时,它应该被发送。然后,在接收页面上需要一个脚本来检查clientID的散列,如果存在,则将其传递给分析。

2)基本相同,只是这次使用pushState方法(https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history),它应该允许您提供查询参数而无需重新加载。

3)使变异页成为主域名内的页面。而不是任何内容,在那里放一个javascript从cookie读取clientId并重定向到其他域

4)与3相同,只是服务器端(不要忘记在重定向中包含内容实验参数)

正如我所说的,这基本上是自言自语,但它可能为解决方案提供线索。

我很抱歉只有一半的答案,但我从上面得到命令,在我得到它完全工作之前放下这个。希望它仍然会对那些想要做同样事情的人有所帮助。

如果你接收部分完成,请在这里发布你的代码,我会更新这个答案/奖励你的答案。

OK here goes nothing.


发送端工作并将clientId添加到哈希中,当实验进行跨域重定向时成功传输

PAGE WITH experimental CODE

在运行实验代码之前执行这个

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

这是我在接到命令放下这个之前从未到过的地方。但是你可以这样做:

  1. 检查window.location.hash是否包含clientId (window.location.hash.substr(0,3) == "#GA")
  2. 检查是否存在cookie2.1. (exists) split cookie by ";,找到"_ga"并将其值替换为上面的哈希值(首先删除"#")2.2. (不存在)在域级别创建一个新的cookie,并设置"_ga=(哈希值)"
  3. 启动google分析跟踪器,它会假设访问者之前已经访问过该页面,并从cookie中接受客户端id
  4. 繁荣昌盛

所以,再次抱歉,答案只是部分完成,但希望有人能从中受益。

或者至少不要假设他们像我一样生气,因为我不能让它工作:)。

如果社区愿意,如果这被认为是不好的做法,我当然会删除"接受的答案"(这只是我在SO网络上的第二篇文章)。

相关内容

  • 没有找到相关文章