混合面板匿名用户转换为已识别的用户跟踪

Mixpanel anonymous user converts to identified user tracking

本文关键字:用户 识别 跟踪 转换 混合      更新时间:2023-09-26

我正在将 Mixpanel 添加到我的 Web 应用程序中,我很好奇当用户从"匿名"(未登录/注册)过渡到"识别"(当他们在网站上注册/创建帐户时)时会发生什么"过程"。

如果用户进入并且是该网站的新手,他们将获得一个匿名 UUID(根据文档)。 文档还说,Mixpanel目前无法在ID之间进行转换。

这是否意味着 Mixpanel 无法处理非注册用户到注册用户的转换,也无法跟踪他们成为注册/已识别用户之前的事件?

如果是这样,是否有人有解决此问题的经验?你是怎么做到的?

自 2012 年 12 月起,您现在可以使用 mixpanel.alias 方法调用来别名两个 id:

https://mixpanel.com/docs/integration-libraries/using-mixpanel-alias

从上面的文档中:

example.com,约翰第一次来到你的网站。他是 由Mixpanel分配一个随机生成的ID(可能是123123)。 他所做的一切都与该ID相关联。

点击几页后,他成功注册。在 注册确认页面,您调用mixpanel.alias("john@hotmail.com")。 这实际上并没有改变他的身份证 - 他仍然被识别 使用我们最初分配给他的随机 ID。

它的作用是将 ID "john@hotmail.com"添加到查找表中 我们的结局。每当我们看到"john@hotmail.com"的数据时,我们知道要重新映射 它给123123,他的原始身份证。

因此,您可以开始在所有上调用mixpanel.identify("john@hotmail.com") 您的主页、活动、渠道和留存率都将继续 完美工作。

有一些方法可以做到这一点。但是您真正需要的是一种称为不同 id 别名的功能,该功能允许您将一个 distinct_id ID 引用到另一个 ID。不幸的是,我们现在不提供。事实证明,这是一个比您预期的要困难得多的问题,因为我们为 mixpanel 编写的数据存储的独特性质。

同时,我可以给你一些策略来绕过这个限制:

  • 当用户第一次访问您的网站时,请为他们设置一个您在内部生成的不同 ID。注册帐户后,请在用户详细信息表中引用该distinct_id,然后继续使用该 ID 注册后续事件。用户随后每次进行身份验证时,都使用存储的值作为非重复 id。希望当他们返回时,饼干仍然存在,并且您将顺利捕获所有事件。

  • 你也可以让 mixpanel 给他们一个自动发布的distinct_id值,然后在注册时使用 mixpanel.get_property() 获取该值,然后将其添加到您的用户表中,并在将来识别它们时使用它。

  • 但是,如果他们从一台机器进行身份验证,然后从另一台机器、不同的浏览器或移动设备上来呢?然后,从他们访问您的网站到他们进行身份验证之间的时间,您的网站将向他们发出新的distinct_id......而且没有办法别名!这里的解决方案有点黑客。获取该数据的唯一方法是记录在身份验证之前发送的那些事件(可能是服务器端),然后在用户身份验证后通过HTTP规范将它们发送到具有正确distinct_id的其余API。只要您保留正确的时间戳,它就会在混音面板中按时间顺序正确显示。如果用户从不进行身份验证,则可以让记录的事件超时并发送它们。

这些都适合你吗?

当用户访问您的网站时,使用唯一 ID 识别他们并将其保存在 cookie 中(如果他们还没有),然后使用 Mixpanel 识别 API 调用来识别他们。注册后,您可以将唯一 ID 保留在用户记录中的数据库中,以便在他们清除 Cookie 时重新设置它。

如果用户在注册之前清除了他们的cookie,那么你就不走运了,但这就是这种野兽的本质,在任何地方都会成为一个问题。