Piwik:从第三方cookie中提取idvisitor?

时间:2012-06-29 19:10:52

标签: cookies matomo

Piwik如何在_pk_uid第三方Cookie中对访问者ID进行编码?

我是一名新的Piwik用户,试图跨域跟踪用户。我发现Piwik常见问题解答的一部分似乎很有希望: http://piwik.org/faq/how-to/#faq_118

它说当我启用第三方cookie时,Piwik将创建一个第三方cookie,其中包含访问者的唯一ID,该ID与某些MySQL表的idvisitor字段相同。

麻烦的是,我似乎无法弄清楚idvisitor在第三方Cookie中的编码方式(名为_pk_uid,我以前认为piwik_visitor) - 并且,事实上,我对它是否真的包含在cookie中持怀疑态度了!

以下是我正在查看的Cookie的价值:

0%3DczoxNjoiMmMwMWY5OGU0MzFkNWQxOSI7%3A_%3Df6f84dfd6626b538220696bb070d22f8ae2af6ee

应该包含的访客ID是:

2c01f98e431d5d19

3 个答案:

答案 0 :(得分:2)

所以这是我在自己网站上的观察结果。

  1. 第一个点之前的数字是user_id(_id)
  2. 接下来,此访问者首次访问时有UNIX时间戳。(_ idts)
  3. 5是此访问者的当前访问次数。(_ idvc)
  4. 我想这是现​​场最后一次操作的UNIX时间戳。
  5. 此访问者上次访问时间的UNIX时间戳。
  6. 以下是我网站上的示例。首先是cookie,而不是piwik脚本发送的参数。

    _pk_id.19.c40d=baa767bdf0dfe66d.1379976944.5.1380357406.1380061476.;
    
    _id:baa767bdf0dfe66d
    _idts:1379976944
    _idvc:5
    _viewts:1380061476
    

答案 1 :(得分:0)

虽然有点过时,但由于我现在正在寻找 - 至于我可以扣除(不是100%肯定),你首先需要将cookie转换为十六进制,然后从基数16转换为基数10。

答案 2 :(得分:0)

这就是我在PHP中获取visitorId的方式:

$cookieArray = explode(":", $_COOKIE['_pk_uid']);
$visitorIdArray = explode(":",base64_decode(substr($cookieArray[0],2,31)));
$visitorId = str_replace('"','',$visitorIdArray[2]);