如何获取GA的会话级CustomVar

前面我写了《Google Analytics之访客类别跟踪》,最近想折腾通过会话级自定义变量的改变来改变访客级

本来是想通过用户互动设置会话级的用户变量,然后根据会话级的用户变量改变,来判断访客级用户变量是否改变,从而形成一套会员数据机制

但实际操作起来却没那么简单,访客级的用户变量设置后我可以简单的获取到值,具体方法可以通过读取cookies的utmz,或者是使用_getVisitorCustomVar函数

可是会话级的用户变量却没法获取到,因为会话级和网页级变量不保存在cookies里,只是传回到Google Analytics里

虽然_getVisitorCustomVar这个函数是用来获取用户变量的,但是我实际测试这个函数也只能取到访客级的变量

我在header里定义一段函数,想根据页面访问数,来访次数、用户行为等来改变用户变量,不过由于没搞定,已经删了一大部分,剩下的就这么点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
< ?php
if (isset($_COOKIE['__utma']))
{
$visitutma = $_COOKIE['__utma'];
$lastlen = strrpos($visitutma,".");
$visitcount = substr($visitutma,$lastlen+1);
}
if (isset($_COOKIE['__utmb'])&&isset($_COOKIE['__utmc']))
{
$visitutmb = $_COOKIE['__utmb'];
$visitutmc = $_COOKIE['__utmc'];
$utmclen = strlen($visitutmc);
$countlen = strpos($visitutmb,".",$utmclen+1) - $utmclen - 1;
$visitpagecount = substr($visitutmb,$utmclen+1,$countlen);
}
if (isset($_COOKIE['__utmv']))
{
$visitutmv = $_COOKIE['__utmv'];
}
if ($visitpagecount <= 1)
{ ?>
<script type="text/javascript"> _gaq.push(['_setCustomVar', 2, 'Visitor-Type', 'Visitor', 2]); </script>
< ?php }
if ( !strpos($visitutmv,"Member") && !strpos($visitutmv,"Tourist"))
{ ?>
<script type="text/javascript"> _gaq.push(['_setCustomVar', 3, 'User-Type', 'Tourist', 1]); </script>
< ?php }
elseif( $visitcount >= 20 && !strpos($visitutmv,"Member"))
{ ?>
<script type="text/javascript"> _gaq.push(['_setCustomVar', 3, 'User-Type', 'Member', 1]); </script>
< ?php }
elseif (strpos($visitutmv,"Member") && $visitcount >= 50 && !strpos($visitutmv,"VIP Member"))
{ ?>
<script type="text/javascript"> _gaq.push(['_setCustomVar', 3, 'User-Type', 'VIP Member', 1]); </script>
< ?php }
?>

我在主题的footer里增加一个函数,获取用户变量,并弹出获取到的值,index为3时是我定义的访客级变量,能正确弹出获取到的值,例如VIP Member

1
2
3
4
5
<script type="text/javascript"> _gaq.push(function() {
var pageTracker = _gat._getTrackerByName();
var temp = pageTracker._getVisitorCustomVar(3);
alert(temp);
});</script>

而index为2时是我定义的会话级变量,但是无法弹出正确的值,只能弹出undefined

网上很少有这方面的文章,还有一大部分忽悠人说用户变量全部存在cookies里,几乎所有文章都是转载同一个地方,教你用一段js来获取utmz里的数据

但是utmz里只有访客级,而且用php的$_COOKIE函数更加简单,都不用自己定义一个js函数

如果有高手看到,恳请指点下小弟如何获取到GA的会话级用户变量

虽然折腾出来没多少实际意义,只是突然来了折腾劲,就是想知道怎么搞出来

声明: 除非注明,小峰网络遨游记文章均为原创,转载请以链接形式标明本文地址

本博客原创文字只代表本人某一时间内的观点或结论,与本人所在公司没有任何关系。

本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

第三方若用于商业用途的转载,须取得本人授权。

本文作者:

本文地址:http://xfeng.me/how-to-get-ga-session-customvar/

你可能还对下面文章感兴趣: