Conector de Mixpanel

Conecta Mixpanel con Brevo a través de Tajo para unir la analítica de producto con la automatización de marketing. Sincroniza perfiles de usuario, eventos de comportamiento y cohortes para crear campañas basadas en datos reales de uso del producto.

Resumen

PropiedadValor
PlataformaMixpanel
CategoríaAnalítica (Personalizada)
Complejidad de configuraciónMedia
Integración oficialNo
Datos sincronizadosEventos, Perfiles, Cohortes, Grupos
Skills disponibles7

Funcionalidades

  • Ingesta de eventos - Importa eventos de track a través de la Ingestion API de Mixpanel hacia los workflows de Brevo
  • Sincronización de perfiles de usuario - Asocia las propiedades de perfil de Mixpanel con los atributos de contacto de Brevo
  • Exportación de cohortes - Sincroniza cohortes de Mixpanel con listas de contactos de Brevo para campañas segmentadas
  • Analítica de grupos - Sincroniza datos a nivel de grupo para marketing basado en cuentas B2B
  • Gestión de identidad - Aprovecha la fusión de identidades de Mixpanel para perfiles de cliente unificados
  • Consultas JQL - Ejecuta consultas JQL personalizadas para extraer conjuntos de datos específicos para Brevo
  • Tablas lookup - Sincroniza datos de enriquecimiento desde las tablas lookup de Mixpanel

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de Mixpanel con un proyecto creado
  2. Tu Project Token de Mixpanel para el tracking del lado del cliente
  3. Una Service Account con los permisos adecuados para el acceso a la API del lado del servidor
  4. Una cuenta de Brevo con acceso a la API
  5. Una cuenta de Tajo con credenciales de API

Autenticación

Service Accounts (recomendado)

Mixpanel recomienda usar Service Accounts para la autenticación con la API. Las Service Accounts usan HTTP Basic Auth con el nombre de usuario (service account username) y la contraseña (service account secret).

Terminal window
# Service Account authentication
curl https://mixpanel.com/api/app/me \
-u "SERVICE_ACCOUNT_USERNAME:SERVICE_ACCOUNT_SECRET"

Project Token

El Project Token se usa para el tracking de eventos del lado del cliente y es seguro incluirlo en el código del cliente:

// Client-side initialization
mixpanel.init("YOUR_PROJECT_TOKEN");

OAuth (para integraciones de partners)

Para integraciones de apps que acceden a varios proyectos:

Terminal window
curl https://mixpanel.com/api/2.0/engage \
-H "Authorization: Bearer YOUR_OAUTH_TOKEN"

Configuración

Configuración básica

connectors:
mixpanel:
enabled: true
project_token: "your-project-token"
service_account:
username: "your-service-account-username"
secret: "your-service-account-secret"
project_id: "12345"
data_residency: "US" # or "EU"
# Data sync options
sync:
events: true
profiles: true
cohorts: true
groups: false
# Brevo list assignment
lists:
all_users: 15
engaged_users: 16
at_risk: 17

Asignación de eventos

Asocia los eventos de Mixpanel con los tipos de evento de Brevo:

event_mapping:
# Mixpanel event -> Brevo event
"Purchase": "order_completed"
"Sign Up": "customer_created"
"Add to Cart": "cart_updated"
"Page View": "page_viewed"
"$experiment_started": "experiment_started"
# Custom events
"Feature Activated": "feature_used"
"Subscription Renewed": "subscription_renewed"

Asignación de propiedades de perfil

Asocia las propiedades de usuario de Mixpanel con los atributos de contacto de Brevo:

property_mapping:
$email: email
$first_name: FIRSTNAME
$last_name: LASTNAME
$phone: SMS
$city: CITY
$region: REGION
$country_code: COUNTRY
plan: PLAN_TYPE
company: COMPANY
signup_date: SIGNUP_DATE
total_revenue: LTV

Endpoints de la API

MétodoEndpointDescripción
POST/importImportar eventos (Ingestion API)
POST/trackEnviar eventos (lado del cliente)
POST/engage#$setEstablecer propiedades de perfil de usuario
POST/engage#$set_onceEstablecer propiedades solo si no están definidas
POST/engage#$deleteEliminar un perfil de usuario
POST/engage#$unionUnir propiedades de tipo lista
POST/groupsEstablecer propiedades de perfil de grupo
GET/exportExportar datos de eventos en crudo
POST/cohorts/listListar cohortes guardadas
POST/engage/queryConsultar perfiles de usuario
POST/jqlEjecutar consultas JQL personalizadas
GET/segmentationConsultar reportes de segmentación
GET/retentionConsultar reportes de retención
GET/funnelsConsultar reportes de embudo

Ejemplos de código

Inicializar el conector de Mixpanel

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Mixpanel project
await tajo.connectors.connect('mixpanel', {
projectToken: process.env.MIXPANEL_TOKEN,
serviceAccountUser: process.env.MIXPANEL_SA_USER,
serviceAccountSecret: process.env.MIXPANEL_SA_SECRET,
projectId: process.env.MIXPANEL_PROJECT_ID
});

Importar eventos vía Ingestion API

// Import events to Mixpanel (automatically forwarded to Brevo)
const response = await fetch('https://api.mixpanel.com/import', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa(
`${process.env.MIXPANEL_SA_USER}:${process.env.MIXPANEL_SA_SECRET}`
)
},
body: JSON.stringify([
{
event: "Purchase",
properties: {
distinct_id: "user_123",
$insert_id: "evt_abc123",
time: Math.floor(Date.now() / 1000),
revenue: 89.99,
product_id: "SKU-001",
product_name: "Widget Pro"
}
}
])
});
// Expected response: { "code": 200, "status": "OK", "num_records_imported": 1 }

Sincronizar una cohorte con Brevo

// Export a Mixpanel cohort and sync to a Brevo list
const cohort = await tajo.connectors.syncCohort('mixpanel', {
cohortId: 12345,
targetList: 16,
syncMode: 'mirror'
});
console.log(cohort);
// {
// cohortName: "Engaged Users (Last 7 Days)",
// membersCount: 3200,
// syncedToBrevo: 3200,
// listId: 16
// }

Establecer propiedades de perfil de usuario

// Set user properties via the Engage API
const response = await fetch('https://api.mixpanel.com/engage#$set', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify([{
$token: process.env.MIXPANEL_TOKEN,
$distinct_id: "user_123",
$set: {
$email: "[email protected]",
$first_name: "Jane",
$last_name: "Kim",
plan: "premium",
total_orders: 12,
lifetime_value: 1250.00
}
}])
});

Límites de velocidad

APILímiteDetalles
Ingestion API2 GB/minPor proyecto
Track APISin límite estrictoEntrega best-effort
Engage API2.000 actualizaciones/loteMáx. 2 GB/min por proyecto
Query API60 peticiones/horaPor proyecto (Service Account)
Export API60 peticiones/horaMáx. 100 días por consulta
JQL API60 peticiones/horaPor proyecto
Cohort Export60 peticiones/horaPor proyecto

Deduplicación de eventos

Mixpanel deduplica los eventos mediante la propiedad $insert_id. Incluye siempre un $insert_id único para evitar duplicar eventos al reintentar importaciones fallidas.

Resolución de problemas

ProblemaCausaSolución
Los eventos no aparecenProject token incorrectoVerifica que el token corresponda al proyecto objetivo
Faltan propiedades del perfilAPI incorrectaUsa /engage#$set para propiedades de perfil, no /track
Falla la exportación de cohortePermisos insuficientesAsegúrate de que la Service Account tenga rol Admin o Analyst
Eventos duplicadosFalta $insert_idIncluye un $insert_id único en cada evento
402 Payment RequiredSe superaron los límites de datosRevisa los límites del plan de Mixpanel y actualiza si es necesario
Los datos de UE no se enrutanResidencia de datos incorrectaUsa api-eu.mixpanel.com para proyectos en UE
Problemas de fusión de identidaddistinct_id incorrectoSigue las buenas prácticas de gestión de identidad de Mixpanel

Buenas prácticas

  1. Usa Service Accounts - Prefiere las Service Accounts frente al Project Secret para la autenticación del lado del servidor
  2. Incluye $insert_id - Establece siempre un insert ID único para la deduplicación de eventos
  3. Agrupa las actualizaciones de perfil - Envía hasta 2.000 actualizaciones de perfil por petición para mayor eficiencia
  4. Usa endpoints de UE - Para residencia de datos en UE, usa api-eu.mixpanel.com en todas las llamadas a la API
  5. Sincroniza cohortes de forma programada - Configura sincronizaciones diarias o semanales en lugar de polling continuo
  6. Asigna las propiedades reservadas - Usa las propiedades reservadas de Mixpanel ($email, $first_name) para los datos de perfil
  7. Supervisa la ingesta - Usa la página de Events de Mixpanel para verificar que los eventos se reciben correctamente

Seguridad

  • Solo HTTPS - Toda la comunicación con la API requiere cifrado TLS
  • Aislamiento de Service Accounts - Acceso limitado por proyecto con permisos basados en roles
  • Deduplicación de eventos - La deduplicación integrada vía $insert_id evita problemas de integridad de datos
  • SOC 2 Tipo II - Mixpanel está certificado en SOC 2 Tipo II
  • RGPD/CCPA - Admite la eliminación de datos de usuario mediante la API del RGPD
  • Residencia de datos en UE - Centro de datos en UE disponible para cumplimiento normativo europeo

Recursos relacionados

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.