2012-05-23 44 views
26

我加入Mixpanel我的web应用程序,我很好奇的“过程”绕时(在/注册未登录)从“匿名”用户的转换会发生什么“确定“(当他们在网站上注册/创建一个帐户时)。Mixpanel匿名用户转换为识别的用户跟踪

如果用户进来,是新的网站,他们获得一个匿名的UUID(根据documentation)。该文档还指出,Mixpanel目前无法在ID之间进行翻译。

这是否意味着Mixpanel不能处理非注册用户的过渡到注册用户,并跟踪他们的活动,从之前他们已成为注册/识别的用户?

如果是这样,有没有人有解决这个问题的经验?你怎么去了?

回答

29

截至2012年12月,你现在可以使用mixpanel.alias方法调用别名两个ID:

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

从上面的文档:

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

点击几页后,他成功注册。在 注册确认页面上,您可以调用mixpanel.alias(“[email protected]”)。 这实际上并没有改变他的ID--他仍然使用我们最初分配给他的随机ID来识别 。

它的功能是将ID“[email protected]”添加到 我们的结尾的查找表中。无论何时我们看到“[email protected]”的数据,我们都知道要将其 重新映射到123123,即他的原始ID。

那么,你就可以开始在所有 页面调用mixpanel.identify(“[email protected]”),以及您的活动,漏斗,并保留都将继续 完美运行。

+7

感谢此,Mixpanel的API文档措辞极其糟糕。它声明:'你可以调用这个函数来覆盖以前为用户设置的唯一ID。 Mixpanel此时不能在ID之间进行转换,因此更改ID将使它们看起来像是一个新用户。“这使得它听起来像'mixpanel.identify()',每次调用时都会创建一个新的用户实例! – professormeowingtons

+0

我在哪里可以在mixpanel仪表板中找到用户信息?我期待将它作为一种财产。但它不在那里。 –

+0

@RobAnderson用户配置文件维护在“人员”部分的“探索”段落下 –

5

当用户点击您的网站时,请使用唯一ID标识它们,并将它们保存在Cookie中(如果它们尚未包含),请使用Mixpanel Identify API调用来识别它们。您可以在用户的​​记录中将唯一的ID保存到用户记录中的数据库中,以便在清除Cookie的情况下重新设置它。

如果用户清除注册前他们的饼干,那么你就倒霉,但这是这头野兽的性质和将是一个问题的任何地方。

+0

Woody Schneider在@ mixpanel工作,并为平台提供了一些见解。我在那里授予了答案,因为他是混合面板实际工作方式的权威来源。感谢您的回复,但这是我们最终实施的。 –

+1

你有没有机会得到你最终实现的代码的例子? – RichLitt

10

有办法可以使这项工作。但是你真正要求的是一个叫做distinct id aliasing的特性,它允许你将一个distinct_id ID引用到另一个。不幸的是,我们现在不提供这种服务。由于我们为mixpanel编写的数据存储库的独特性,事实证明这是一个比您预期的更难的问题。

在此期间,我可以给你一些策略来解决这个限制:

  • 当用户第一次来到你的网站,为他们设定一个独特的ID,你在内部生成。一旦他们注册了一个帐户,请在您的用户详细信息表中引用distinct_id,然后继续使用该ID注册后续事件。随后每个用户授权一次,使用存储的值作为不同的ID。希望当他们返回cookie时仍然会在周围,并且你会毫不费力地捕获所有事件。

  • 你也可以让mixpanel为它们提供一个自动发布的distinct_id值,然后在注册时通过使用mixpanel.get_property()来获取它,然后将其添加到你的用户表中,并且当你使用它时在未来确定它们。

  • 但是如果他们从一台机器权威性,然后从另一个算了,还是不同的浏览器,或从移动设备是什么?然后,当他们击中你的网站和他们授权之间的时间,他们将被发布一个新的distinct_id由您的网站...并没有办法别名!这里的解决方案有点冒头。获得这些数据的唯一方法是记录在认证之前发送的那些事件(可能是服务器端),然后在用户认证后通过HTTP规范将其发送到具有正确的distinct_id的其余API。只要您保留正确的时间戳,它将全部按照时间顺序显示在混合面板中。如果用户从未授权,则可以让记录的事件超时并发送给他们。

这些工作是否适合您?

+1

我推测没有办法将不同的id混合在一起;我只是希望我错了。我们实现了内部生成的独特id解决方案,它应该适用于大多数情况 - 跟踪第二个不同的标识符只是更多的管理和开销。无论如何,谢谢你的回应。我认为你的回复中的“我们”意味着你工作@ mixpanel,并且你的个人资料中列出了mixpanel.com - 所以我将在这里授予答案 - 因为它是权威性的(: –

+2

现在该功能存在:https:/ /mixpanel.com/docs/integration-libraries/using-mixpanel-alias – raylu

+0

@WoodySchneider - 有没有更好的解决方案,但#3仍然还是最好的日志和事后张贴正确的ID? – dsldsl