2011-02-17 87 views
7

用户在“example-one.com”填写我的“新”用户表单后,“创建”控制器在db中创建记录。然后它执行redirect_to到外部网站“payment-checkout.com”。我已在这两个网站上设置了Google Analytics代码。如何通过谷歌分析直接与用户交互

Google提供了两个函数_link和_linkByPost,用于在任何链接或表单中使用您的外部域。问题是用户被视图外的控制器操作重定向,我无法使用这两个javascript函数传递相关的G.A.信息 - 我该怎么办?

任何人都可以帮忙吗?

回答

3

_link的工作方式是将Google Analytics Cookie从您的第一个域通过查询字符串传递到您的第二个域。第二个域(如果配置正确)将接受这些URL参数并将其作为Cookie值应用于跟踪。

因此,应用您自己的_link函数版本不应该很困难。

具体来说,_link功能通过以下Cookie:

__utma__utmb__utmc__utmx__utmz__utmv__utmk

成一个查询字符串,例如:?__utma=87278922.614105561.1288923931.1294376393.1298325957.6&__utmb=87278922.1.10.1298325957&__utmc=87278922&__utmx=-&__utmz=87278922.1288923931.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)&__utmv=-&__utmk=72493274

因此,所有您需要做的是复制_link函数,在应用服务器端重定向之前,获取cookie值并将其应用为一个队列您要重定向到的URL上的字符串。

现在,这不是你需要做的唯一的事情来实现这个工作。付款站点上的Google Analytics配置需要配置为_setAllowLinker设置为true,并且可能会禁用域哈希并为跟踪cookie设置特定域名;这取决于你的配置。你可以在Google Analytics Cross Domain Tracking Guide找到更多关于这方面的信息。

+0

感谢您的帮助。这个答案非常帮助我,所以标记为最佳答案。 – robodisco 2011-02-28 15:42:52

0

我假设你也跟踪用户返回的页面,并且想要测量你在这个过程中丢失了多少用户?

我对Google Analytics API的了解相当有限,所以也许有更好的解决方案,但是您可以考虑渲染包含GA代码的页面并从那里触发_link()函数?

它也有可能在提交表单(可能使用remote_form_for)和处理的GA在RJS-响应重定向执行AJAX调用:

page << "_gaq.push(['_link', 'http://example.com/test.html']);" 

但是,我不知道有多好这将适合您的应用程序。

1

@ yc的方法看起来像是最好的选择,但如果这不起作用,我会建议让你的控制器将用户重定向到你网站上的“临时”页面,并显示一些文本,如“检出...” 。请稍候...“并使用Javascript触发对”_link“函数的调用,以将用户重定向到”payment-checkout.com“(再次使用Javascript)。

+0

不错的想法,我想到的一个,但它增加了额外的一步之前,让客户的钱。如果这不是一个问题,我会与此一起去。谢谢你的建议。 – robodisco 2011-02-28 15:40:33