Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Mixpanel中处理PHP库和JS库_Javascript_Php_Mixpanel - Fatal编程技术网

Javascript 在Mixpanel中处理PHP库和JS库

Javascript 在Mixpanel中处理PHP库和JS库,javascript,php,mixpanel,Javascript,Php,Mixpanel,我是Mixpanel的新手,现在想知道如何在Mixpanel的JS库和PHP库之间工作 假设我有以下(简单的)JS脚本: // Placed on homepage <script type="text/javascript"> mixpanel.track("viewed homepage"); </script> // Placed on category page <script type="text/javascript"> mixpanel

我是Mixpanel的新手,现在想知道如何在Mixpanel的JS库和PHP库之间工作

假设我有以下(简单的)JS脚本:

// Placed on homepage
<script type="text/javascript">
  mixpanel.track("viewed homepage");
</script>

// Placed on category page
<script type="text/javascript">
  mixpanel.track("viewed category page");
</script>

// Placed on product page
<script type="text/javascript">
  mixpanel.track("viewed product page");
</script>
根据这里找到的Mixpanel文档

“XYZ”应该是Mixpanel distinct id,在本例中,对于我们的johndoe,它被设置为123123

所以问题是,在知道John Doe之前被分配了一个不同的id(通过JS库)的情况下,我如何知道Mixpanel使用PHP库为他设置的不同id

我还注意到,当使用Mixpanel的PHP库时,与使用JS库相比,它不会自动分配随机生成的不同id(有关详细信息,请参见图片):

编辑1

因此,我在文档中找到了以下代码:

// set distinct_id after the mixpanel library has loaded
mixpanel.init("YOUR PROJECT TOKEN", {
    loaded: function() {
        distinct_id = mixpanel.get_distinct_id();
    }
});

它基本上可以检索Mixpanel设置的distinct_id,并想知道是否可以通过PHP检索distinct_id(可能distinct_id存储在cookies中)。

如果您只在用户配置文件上设置姓名、姓氏、电子邮件和其他“简单”信息,您可以使用JavaScript,从PHP导入数据,没有混合使用PHP和JS Mixpanel API。 您还应该为用户设置一个与数据库中相同的ID,以确保您可以识别任何会话/设备中的用户

诸如此类:

        mixpanel.identify("41");
        mixpanel.people.set({
            "$first_name": "Name",
            "$last_name": "Surname",
            "$email": "Mail@gmail.com",
            "$last_login": "2016-02-11 09:00:08",
        });

只需对两个库使用相同的会话id即可:

正如上面所说:

如果您不选择自己管理不同的用户id,则每次用户出现在新浏览器、新机器上或清除其Cookie时,他们都会显示为新的唯一用户

它类似于会话结构,所以我决定重用它,使用Laravel,我为JS库编写了以下内容:

mixpanel.identify("{{ session()->getId() }}");
mixpanel.track('Some event');
这是PHP库的一个例子:

$mp->identify(session()->getId());
$mp->track('Another event');

这对我来说非常有效。

不幸的是,我的漏斗中有一个步骤需要使用PHP库。因此,我需要知道这是否可能。我面临着完全相同的问题,这是唯一有效的解决办法——只运行javascript api并从php传递数据以进行跟踪。@AlexanderM。我想我可能会找到一个解决办法,但不确定这是否是正确的答案。如果你愿意,我可以和你分享。
$mp->identify(session()->getId());
$mp->track('Another event');