终于准确知道顾客是从哪里来的了

说顾客从哪里来,不是指顾客居住的地理位置, 而是指顾客找到我的产品,我的网站的方式。 最终付费的顾客是通过搜索引擎找到的,还是通过在哪个站点投放的广告, 还是通过adwords。这是我一直最关心的问题,也用了各种方法去分析,比如网页里插入Google Analytic的统计代码,用web log analyzer 分析自己网站的日志,但因为自己的共享软件是通过regsoft, regnow等注册服务提供商来完成,当用户最终确认付款时,已经离开了我的软件站点页面,Google Analytic和日志都不能确认这个用户是否付款。 很多时候把钱扔到各种推广方式上,但对每种推广方式能有什么具体效果则心里一点数也没有,只要月底一算账收入增长了,就觉得推广的方式还是有用。 如果下降了, 就不管有用没用,所有推广方式全给砍掉。

前天痛感这种状态不能再继续,于是自己修改了一下google analytic的代码来实现对顾客来源的跟踪。 Google Analytic会在客户端种植几个cookie,最有用的是__utmz, 记录了用户的来源信息,通过搜索引擎过来的用户还能找出关键词。但有个问题是,不能区分正常搜索结果过来的用户和通过adwords广告过来的用户。 这就需要自己做点工作了。

1.adwords广告的目标url设置特殊参数, 我就设定为 /index.html?ref=adwords

2.在index.html加入如下javascript代码 ,种植_isadwords cookie

  1. var _isadwords;
  2.  
  3. _isadwords= _uGC(document.cookie, '_isadwords=', ';');
  4.  
  5. //判断是否cookie中已经存在isadwords字段,如果不存在就设置此字段
  6. if( !_isadwords|| _isadwords== "-" )
  7. {
  8.  
  9. //判断是不是adwords过来的用户
  10. if( window.location.href.indexOf( "/index.html?ref=adwords " ) > 0 )
  11. _isadwords= "1" ;
  12. else
  13. _isadwords= "0" ;
  14.  
  15. document.cookie="_isadwords="+_isadwords+ "; expires=" + _uNx()+";";
  16. }

这其中 _uGC()和_uNx()都是google analytic 的 script中提供的函数。_uGC()是在第一个参数中寻找以第二个参数开头,第三个参数结尾的子串。 _uNx()则是返回当前时间一年以后的时间,用做cookie的过期时间。

种下了cookie,剩下的问题就是怎么读出来了。先下载http://www.doyj.com/images/a.gif, 上载到你的站点图像目录里。 a.gif是一个只有一个透明像素的gif图像文件。然后在产品购买页面嵌入如下代码:

  1. var _urefgifpath="http://www.doyj.com/images/a.gif"//这里要换成你的图像链接
  2.  
  3. var zx = _uGC(document.cookie, '__utmz=', ';');   //取出__utmz cookie
  4. var _isadwords=_uGC(document.cookie, '_isadwords=', ';');
  5.  
  6. var i3=new Image(1,1);
  7. i3.src=_urefgifpath+"?"+"utmz=" + zx + "_isadwords=" + _isadwords + "&utmn="+_uu;
  8. i3.onload=function() { _uVoid(); }

代码中的_uu是google analytic中生成的一个随机数,=Math.round(Math.random()*2147483647);, 这是为了保证每次url都是不一样,客户端不会缓存对这个图像文件的访问。代码中的_uVoid()也是google analytic中的一个空函数。

这段代码其实就是new 出一个图像文件, 把cookie信息做为这个图像的参数返回给服务器,这样在日志中就会留下用户的cookie信息。因为这个图像文件是一个透明像素,并且是在javascript中new出来的,所以在页面中是不可见的。

因为在订单中有用户的ip, 每收到一个订单, 就可以去日志中去查找这个ip, 再查找这个ip访问a.gif时留下的参数,就能知道这个用户从哪里过来的了。

后记:写在这里的方法已经比我当时采用的方法又改进了一些, 当初想的方法,那是…………相当的蠢。 改进后的方法依然不好,还要去看日志文件,很麻烦,但至少实现了追踪用户来源的功能。方法还有很多改进余地,我这是抛砖引玉,先提出这么个思路,欢迎大家指正。

Written by oldmonk on 十一月 5th, 2007 with 5 comments.
Read more articles on IT.

Tags: , , , ,

Related articles

5 comments

Read the comments left by other users below, or:

引用

Get your own gravatar by visiting gravatar.com 乔老爷
#1. 十一月 6th, 2007, at 7:51 AM.

只能说很牛!

[回复此评论]

引用

Get your own gravatar by visiting gravatar.com XiaoHui
#2. 十一月 6th, 2007, at 8:30 AM.

看完了。现在这个需要运行日志去分析,感觉有点麻烦。应该还可以更简化一些。:)

另外,用 javascript 的话,有些顾客屏蔽了这个,就跟踪不到了吧?

[回复此评论]

引用

Get your own gravatar by visiting gravatar.com Go_Rush
#3. 四月 7th, 2008, at 2:13 PM.

其实对于google广告。通常一般进你的主页是这样的情况:
1. Google搜索结果顶部,搜索页右侧广告
进入url 为 http://www.yourdomain.com/?glicd=26个随机字母
进入时referer为(以wow gold为例)
http://www.google.com/search?q=wow+gold&hl=en&newwindow=1&gl=us&start=10&sa=N

2.如果是 adwords,指嵌在其他网站的google文字广告

进入url 为 http://www.yourdomain.com/?glicd=26个随机字母
本文来源于扫地老僧的Blog http://www.doyj.com , 原文地址:
http://www.yourdomain.com/?glicd=26个随机字母
进入url为 http://www.yourdomain.com/?gclid=26个字母
进入时referer以
http://pagead2.googlesyndication.com/pagead/ads?client
开头.

普通google搜索进入的用户,是不会带 ?gclid=…的

其实如果你的网站访问量不大的话,完全可以在每个页面
检测 location和 referer然后写入数据库,这样很方便看到用户来源。

当然,如果你精力充沛,每次有成交后登陆到linux shell
grep “买单者IP” 日志文件.log
也可以

[回复此评论]

引用

Get your own gravatar by visiting gravatar.com oldmonk
#4. 四月 7th, 2008, at 6:14 PM.

其实对于google广告。通常一般进你的主页是这样的情况:
1. Google搜索结果顶部,搜索页右侧广告
.如果是 adwords,指嵌在其他网站的google文字广告

多谢指教!

[回复此评论]

引用

Get your own gravatar by visiting gravatar.com panda
#5. 七月 29th, 2008, at 6:31 PM.

你好, 看了你的文章很受启发
是这样的, 我是做共享软件的,采用的是regnow系统

adwords的跟踪我已经做了, 而且也能观察转换率

下个月我想在一个网站上买一个文字链接
我想跟踪这个文字链接能够给我带来好多购买客户
请问应该怎么做跟踪阿
谢谢
如果有好的方案,请给我发邮件好吗?

imaole@sina.com

[回复此评论]

Leave your comment...

If you want to leave your comment on this article, simply fill out the next form:




  • :em10:
  • :em01:
  • :em13:
  • :em04:
  • :em05:
  • :em06:
  • :em12:
  • :em09:
  • :em07:
  • :em08:
  • :em21:
  • :em17:
  • :em33:
  • :em03:
  • :em02:
  • :em31:
  • :em34:
  • :em28:
  • :em14:
  • :em32:
  • :em36:
  • :em38:
  • :em16:
  • :em11:
  • :em18:
  • :em20:
  • :em22:
  • :em15:
  • :em19:
  • :em23:
  • :em25:
  • :em24:
  • :em29:
  • :em30:
  • :em27:
  • :em35:
  • :em26:
  • :em56:
  • :em57:
  • :em54:
  • :em37:
  • :em45:
  • :em46:
  • :em42:
  • :em39:
  • :em44:
  • :em51:
  • :em60:
  • :em43:
  • :em40:
  • :em49:
  • :em41:
  • :em47:
  • :em48:
  • :em50:
  • :em55:
  • :em58:
  • :em53:
  • :em52:
  • :em66:
  • :em64:
  • :em68:
  • :em65:
  • :em61:
  • :em59:
  • :em67:
  • :em70:
  • :em71:
  • :em62:
  • :em63:
  • :em69:
  • :em72:

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

 
Web www.doyj.com