Evento de trilha Mixpanel falhando de forma intermitente

Eu tenho alguns events diferentes de mixpanel sendo enviados da minha página. Alguns deles são enviados em submissões de formulário (duas formas diferentes, cada uma em seu próprio modal). De todos os events, um dos events de submissão de formulários falha intermitentemente e não consigo descobrir por quê. Ambas as submissões de formulário têm jQuery como:

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

Uma forma é confiável, a outra não (falha cerca de 3/4 do tempo). Mudei o não confiável para:

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

e parece funcionar a maior parte do tempo, mas ainda não é sempre. Estou imaginando a diferença, ou poderia alterar mixpanel.track para window.mixpanel.track mudaram alguma coisa. E o que oh eu estou sentindo falta aqui?

Eu acho que isso é causado pelo comportamento asynchronous do Mixpanels. Quando você chama submit, a instrução track () começa a executar de forma não bloqueante, permitindo enviar o formulário mesmo quando a chamada track () para a API do Mixpanel ainda está em andamento. Se isso acontecer, seu formulário será enviado antes que a chamada track () seja concluída.

O mesmo acontece ao clicar nos links e é explicado neste post . É a razão pela qual o Mixpanel oferece os methods track_links () e track_forms () . Estes resolvem o problema da seguinte forma e podem ser úteis no seu caso.

Esta function irá aguardar até 300 ms para que os servidores do mixpanel respondam, se eles não tiverem respondido até esse momento, irão para o link sem garantir que o evento tenha sido rastreado. Para configurar esse tempo limite, consulte os documentos mixpanel.set_config abaixo.