如何在Google Analytics中报告会话变量?

时间:2013-07-31 19:13:36

标签: javascript google-analytics

我是谷歌分析中自定义变量的新手。我不明白如何从用户那里获取会话/帖子变量。

我正在尝试捕获$_SESSION['usercountry']并将其添加到GA数据中。它只显示用户注册的国家/地区。

来自GA

_gaq.push(['_setCustomVar',
      2,                   // This custom var is set to slot #2.  Required parameter.
      'Country', // The name of the custom variable.  Required parameter.
      '???',               // The value of the custom variable.  Required parameter.
                           //  (you might set this value by default to No)
      2                    // Sets the scope to session-level.  Optional parameter.
]);

我只是将usercountry放入我有问号的地方吗?

1 个答案:

答案 0 :(得分:1)

客户端JavaScript无权访问$_SESSION,因为该集合保留在服务器端。

您需要以某种方式将值公开。一种选择是简单地将它包含在PHP的初始输出中:

<script>
    var userCountry = <? echo json_encode($_SESSION['usercountry']) $>;
</script>

这使用json_encode()并利用JSON与JavaScript的关系和共享语法,因此它将被解析为JavaScript literal。大概是String,因此PHP echo的结果类似于:

<script>
    var userCountry = "Country Name";
</script>

然后,您可以将其用于Google Analytics:

_gaq.push([
    '_setCustomVar',
    2,                 // This custom var is set to slot #2.  Required parameter.
    'Country',         // The name of the custom variable.  Required parameter.
    userCountry ,      // The value of the custom variable.  Required parameter.
                       //  (you might set this value by default to No)
    2                  // Sets the scope to session-level.  Optional parameter.
]);