Mixpanel es una plataforma para análisis de uso de aplicaciones web y móvil. Permite capturar las interacciones de los usuarios en las aplicaciones y ofrece herramientas para el análisis de datos y de comunicación con los propios usuarios a través de notificaciones y emails.

Hemos implementado Mixpanel en varias de nuestras aplicaciones y una cosa que hemos echado de menos es la posibilidad de borrar más de un usuario a la vez desde el panel de control de Mixpanel.

Para conseguir realizar esto, hay que usar una serie de scripts que realizan peticiones automáticamente al servidor de Mixpanel.

Preparación

Como requisito al usar los scripts que lanzan peticiones al servidor de Mixpanel, hay que instalar los siguientes elementos:

Una vez hecho esto, se puede instalar los scripts utilizando Nodejs.

Script de consulta: mixpanel-engage-query

Este script lanza peticiones al servidor de Mixpanel de consulta. De esta forma puede pedir un filtrado de usuarios de Mixpanel y guardar el resultado en un fichero. (link)

Script de borrado: mixpanel-engage-post

El borrado de usuarios se realiza con este script. Se le pasa por parámetro una lista de usuarios y borra dichos usuarios. (link)

NOTA: El comando npm es generado al instalar Nodejs. Es posible que dependiendo del entorno desde donde se este haciendo este proceso, como por ejemplo Windows, haya que configurar Nodejs y npm para que estén en la variable de entorno PATH del sistema operativo y de esta manera poder ejecutar npm.

Configurar la variables de entorno para los scripts mixpanel- engage

Para que los scripts puedan funcionar y conectarse correctamente al servidor de Mixpanel, hay que obtener los siguientes datos:

Token, API Key y API Secret. Esta información se obtiene desde el panel de administración de Mixpanel, en el botón Account (parte de arriba a la derecha) y en el popup que aparece, seleccionar la pestaña de Projects.

Una vez obtenidos los datos, hay que añadirlos al archivo .env que se encuentra en la carpeta de los ficheros o si se está trabajando desde Linux o OSX, al archivo .engagerc en la carpeta home del usuario o si se esta trabajando en Windows en la carpeta de usuario (que normalmente esta en C:\Users\nombre_de_usuario). Al final, .env o .engagerc deberían quedar así:

NOTA: Estos datos son de prueba, hay que rellenar estas variables con los datos obtenidos desde el panel de control.

Ejecución

Consulta de usuarios

Lo primero de todo es filtrar los usuarios que se quieren borrar del servidor de Mixpanel. Como ya hemos visto para hacer esto hay que utilizar el script de mixpanel- engage-query.
Como en nuestro caso particular, queremos borrar usuarios duplicados creados por una carga fallida de un CSV, vamos a filtrar los usuarios por aquellos que no tienen la propiedad Last Seen creada.

Luego, con el resultado obtenido al llamar al script, se utiliza la librería de jq para crear una estructura JSON de los datos.

Y finalmente se vuelca los datos en un fichero que llamaremos, users_to_delete.json

Linux ó OSX

Windows

Una vez terminado el script, se habrá generado el fichero JSON con los usuarios a borrar.

Borrado de usuarios

Una vez generado el fichero JSON. Lo único que hay que hacer es ejecutar este comando:

Consideraciones addicionales

Es importante asegurarse que los datos que se vayan a borrar sean los correctos. Una forma puede ser la de mirar manualmente el fichero users_to_delete.json y ver que efectivamente son datos que se desean borrar. También se puede llamar a este commando:

Linux ó OSX

Windows

Que devuelve el número de usuarios que no tienen la propiedad Last Seen. Si se hace el mismo filtrado desde el panel de administrador, debería dar el mismo número.