Google Analytics将Cookie数据分析到数据库中

时间:2013-11-01 17:37:18

标签: java google-analytics tracking crm

我正在尝试从Google Analytics分析Cookie中捕获数据并让它填充隐藏字段,然后将该信息发送到Silverpop中的数据库。我在我的webform上插入了UA代码,通过谷歌分析,我可以看到网站上有人(我)。但是我已经尝试了几种我在这里找到的javascript变种来从谷歌cookie中提取广告系列和来源,并在表单提交时将这些信息发送到我的数据库。任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

好的,只是要把它扔出去,因为GA使用第一方cookie,你可以使用服务器端代码来解析cookie。我不太了解java给你那​​些代码,但是信息存储在__utmz cookie中,值看起来像这样:

21733335.1344455611.17.2.utmcsr=camp_source|utmccn=camp_name|utmcmd=camp_medium|utmctr=camp_term|utmcct=camp_content

前导数字和点是哈希和访客ID以及其他你不需要担心的东西,所以你可以剥掉它。然后你可以在管道上爆炸,并且会有一对name=value对,你可以在等号上进一步拆分。

我只是提到这一点,因为在服务器端执行它会更有效和防篡改。你甚至不用担心在表单中传递它;您可以在第一页查看请求中执行此操作。

但是如果你真的想用客户端代码做这个,或者需要一些关于解析cookie的指导,这里是javascript示例:

              
<script type='text/javascript'>
// function to retrieve the GA campaign values
function getGACampaignCodes() {
  var cv = {};
  var utmz=document.cookie.match(/ __utmz=([^;]*)/);
  if (utmz!=null&&typeof(utmz[1])!='undefined') {
    utmz = utmz[1];
    utmz = utmz.replace(/^[0-9.]+/,'').split('|');
    for (var c=0,l=utmz.length;c<l;c++) {
      var cn = utmz[c].split('=');
      switch (cn[0]) {
        case 'utmcsr' : cv.source=cn[1];
        case 'utmccn' : cv.name=cn[1];
        case 'utmcmd' : cv.medium=cn[1];
        case 'utmctr' : cv.term=cn[1];
        case 'utmcct' : cv.content=cn[1];
      }
    }
  }
  return cv;
}

// function to populate the hidden fields
function addGAToFormFields() {
  var cv = getGACampaignCodes();
  var f = document.forms['someForm'];
  for (c in cv)
    if (cv.hasOwnProperty(c))
      f['ga['+c+']'].value = cv[c];
}

// call this when document is ready
addGAToFormFields();
</script>

</body>
</html>

不确定java版本会是什么样子,但这是php中发布的vars的一个例子:

Array
(
    [ga] => Array
        (
            [source] => camp_source
            [name] => camp_name
            [medium] => camp_medium
            [term] => camp_term
            [content] => camp_content
        )

)