Mixpanel跟踪事件间歇性失败



我有几个不同的mixpanel事件从我的页面发送。其中几个是在表单提交时发送的(两个不同的表单,每个表单都有自己的模态)。在所有事件中,有一个表单提交事件断断续续地失败,我不知道为什么。两个表单提交都有如下的jQuery:

$(document).on 'submit', '#myForm', (e) ->
  mixpanel.track('my form submitted')

一种形式是可靠的,另一种不是(它失败了大约3/4的时间)。我把不可靠的改成:

$(document).on 'submit', '#myForm', (e) ->
  window.mixpanel.track('my form submitted')

,它似乎大多数时候都有效,但仍不总是有效。是我想象的不同吗,还是把mixpanel.track变成window.mixpanel.track改变了什么。还有什么,哦,我漏了什么?

我认为这是由mixpanel异步行为引起的。当你调用submit时,track()指令开始以非阻塞的方式执行,允许在Mixpanel API的track()调用仍在进行时提交表单。如果发生这种情况,您的表单将在track()调用完成之前提交。

在点击链接时也会发生同样的事情,这篇文章对此进行了解释。这就是Mixpanel提供track_links()和track_forms()方法的原因。这些方法可以解决下列问题,也许对你的情况有帮助。

此函数将等待多达300毫秒的mixpanel服务器响应,如果他们没有响应,它将前往链接,而不确保您的事件已被跟踪。要配置此超时,请参见mixpanel。

相关内容

最新更新