使用Google Analytics跟踪客户端JavaScript和服务器端跟踪调用中的同一会话?

3
我们正在将第三方支付系统(Barclays CPI)集成到我们的网站中。我们想要使用Google Analytics来跟踪付款客户的来源,例如关键字、电子邮件营销等等。但是,Barclays CPI通过服务器间的http请求返回付款授权结果,而不是包含谷歌分析代码的普通网页。这会破坏分析链,我们失去了用于识别访问者的客户端cookie。
在Barclays CPI的确认屏幕上,用户可以按“继续”按钮返回我们的网站,在那里我们可以放置javascript跟踪代码,但按下“继续”按钮是可选的。我们需要100%准确的分析统计数据,以便进行预算、规划和报告。 服务器端跟踪调用来拯救? 我知道可以进行服务器端跟踪调用,例如http://www.diaryofaninja.com/projects/details/ga-dot-net,但我想将服务器端跟踪调用与同一浏览器分析会话链接起来,以便我们知道付款客户来自哪里,并可以追踪他在付款前通过网站的路径。
是否有一个好主意:在用户进入第三方网站之前获取所有谷歌cookie的值,然后以某种方式将它们附加到服务器端分析调用上,以便授权付款结果与同一浏览器会话连接?这是否可行?
谢谢
2个回答

1

搞定了。使用Google Analytics for mobile的ga.aspx作为基础,您可以存储浏览器会话中的原始utma和utmz cookie值,并以一种可以在浏览器外检索的方式存储它们。在我的情况下,是订单ID。然后,您需要向Google发出__utm.gif图像请求以在浏览器外跟踪。为了保持与原始用户相同的分析会话详细信息,请获取存储的utma和utmz值,并将它们放入__utm.gif请求的utmcc参数中。您需要首先对这些值进行URL编码。

url += "&utmcc=" + Uri.EscapeDataString( utma + utmz) 

0

Gareth,这只是一个想法;我以前没有做过这个。

但是,是否可以向巴克莱传递唯一的参考信息,然后在重定向到他们之前将cookie信息存储在数据库中。

然后,当您从巴克莱收到请求时,您可以从请求中读取先前传递的唯一参考,查找cookie值,然后对Google Analytics gif进行httpwebrequest,传递cookie值。

http://www.google-analytics.com/__utm.gif //from http pages
https://ssl.google-analytics.com/__utm.gif //from https pages

    ?utmwv=1 //Urchin/Analytics version
&utmn=634440486
&utmcs=UTF-8 //document encoding
&utmsr=1440x900 //screen resolution
&utmsc=32-bit //color depth
&utmul=nl //user language
&utmje=1 //java enabled
&utmfl=9.0%20%20r28 //flash
&utmcr=1 //carriage return
&utmdt=Linklove » The optimum keyword density //document title
&utmhn=www.vdgraaf.info //document hostname
&utmr=http://www.google.nl/search?q=seo+optimal+keyword+density&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_nlNL210NL211 //referer URL
&utmp=/the-optimum-keyword-density.html //document page URL
&utmac=UA-320536-6 //Google Analytics account
&utmcc= //cookie settings
    __utma=
                    21661308. //cookie number
                    1850772708. //number under 2147483647
                    1169320752. //time (20-01-2007) cookie first set
                    1172328503. //time (24-02-2007) cookie previous set
                    1172935717. //time (03-03-2007) today
                    3;+
    __utmb=
                    21661308;+ //cookie number
    __utmc=
                    21661308;+ //cookie number
    __utmz=
                    21661308. //cookie number
                    1172936273. //time (03-03-2007) today
                    3.
                    2.
        utmccn=(organic)| //utm_campaign
        utmcsr=google| //utm_source
        utmctr=seo+optimal+keyword+density| //utm_term
        utmcmd=organic;+ //utm_medium

获取请求信息可以从这里这里获得


嗨Steven,很高兴收到你的来信。谢谢您的答案,我正在考虑这些方面。我得试一下,然后从那里开始(希望不会对我们的分析账户产生负面影响!)我们会创建自己的订单ID,我可以在巴克莱重定向之前将cookie值附加到其中。我还想传递客户端IP地址,以期将服务器端跟踪数据附加到同一客户端分析会话中。我怀疑某些__utm值需要更新,很遗憾谷歌没有一个可靠的解决方案来解决这个问题。 - Typo Johnson
嗨,Gareth,很高兴听到你的消息,我能想到的另一个选择是,不使用巴克莱作为支付网关,只使用他们的商家账户,并使用第三方,如recurly/braintree。我相信他们允许您直接将信用卡详细信息发布给他们,然后他们处理付款并重定向回成功页面,并提供客户令牌/名称/地址详细信息。这样可以避开大部分PCI要求(我假设这就是你重定向到巴克莱的原因)。祝你好运! - WooHoo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接