Conector Mixpanel

Conecte o Mixpanel ao Brevo através do Tajo para unir product analytics com automação de marketing. Sincronize perfis de usuário, eventos comportamentais e cohorts para criar campanhas orientadas a dados com base no uso real do produto.

Visão geral

PropriedadeValor
PlataformaMixpanel
CategoriaAnalytics (Personalizado)
Complexidade de configuraçãoMédia
Integração oficialNão
Dados sincronizadosEventos, Perfis, Cohorts, Grupos
Skills disponíveis7

Recursos

  • Ingestão de eventos - Importe eventos de track via API de ingestão do Mixpanel para workflows do Brevo
  • Sincronização de perfil de usuário - Mapeie propriedades de perfil de usuário do Mixpanel para atributos de contato do Brevo
  • Exportação de cohort - Sincronize cohorts do Mixpanel para listas de contatos do Brevo para campanhas segmentadas
  • Analytics de grupo - Sincronize dados em nível de grupo para marketing baseado em conta B2B
  • Gestão de identidade - Aproveite o merge de identidade do Mixpanel para perfis unificados de cliente
  • Consultas JQL - Execute consultas JQL personalizadas para extrair conjuntos específicos de dados para o Brevo
  • Tabelas de lookup - Sincronize dados de enriquecimento de tabelas de lookup do Mixpanel

Pré-requisitos

Antes de começar, certifique-se de que você tem:

  1. Uma conta Mixpanel com um projeto criado
  2. Seu Project Token do Mixpanel para rastreamento do lado do cliente
  3. Uma Service Account com permissões apropriadas para acesso à API do lado do servidor
  4. Uma conta Brevo com acesso à API
  5. Uma conta Tajo com credenciais de API

Autenticação

Service Accounts (Recomendado)

O Mixpanel recomenda o uso de Service Accounts para autenticação de API. Service accounts usam HTTP Basic Auth com nome de usuário (username da service account) e senha (segredo da service account).

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

Project Token

O Project Token é usado para rastreamento de eventos do lado do cliente e é seguro incluir no código do cliente:

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

OAuth (para integrações de parceiros)

Para integrações de app que acessam múltiplos projetos:

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

Configuração

Configuração 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

Mapeamento de eventos

Mapeie eventos do Mixpanel para tipos de evento do 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"

Mapeamento de propriedades de perfil

Mapeie propriedades de usuário do Mixpanel para atributos de contato do 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 da API

MétodoEndpointDescrição
POST/importImportar eventos (API de ingestão)
POST/trackRastrear eventos (lado do cliente)
POST/engage#$setDefinir propriedades de perfil de usuário
POST/engage#$set_onceDefinir propriedades apenas se ainda não estiverem definidas
POST/engage#$deleteExcluir um perfil de usuário
POST/engage#$unionUnião para propriedades de lista
POST/groupsDefinir propriedades de perfil de grupo
GET/exportExportar dados brutos de eventos
POST/cohorts/listListar cohorts salvos
POST/engage/queryConsultar perfis de usuário
POST/jqlExecutar consultas JQL personalizadas
GET/segmentationConsultar relatórios de segmentação
GET/retentionConsultar relatórios de retenção
GET/funnelsConsultar relatórios de funil

Exemplos de código

Inicializar o conector 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 via API de ingestão

// 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 cohort para o 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
// }

Definir propriedades de perfil de usuário

// 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
}
}])
});

Limites de taxa

APILimiteDetalhes
API de ingestão2 GB/minPor projeto
Track APISem limite rígidoEntrega best-effort
Engage API2.000 atualizações/loteMáx 2 GB/min por projeto
Query API60 requisições/horaPor projeto (Service Account)
Export API60 requisições/horaMáx 100 dias por consulta
JQL API60 requisições/horaPor projeto
Cohort Export60 requisições/horaPor projeto

Deduplicação de eventos

O Mixpanel deduplica eventos usando a propriedade $insert_id. Sempre inclua um $insert_id único para evitar eventos duplicados ao tentar novamente importações que falharam.

Solução de problemas

ProblemaCausaSolução
Eventos não aparecendoProject token erradoVerifique se o token corresponde ao projeto alvo
Propriedades de perfil ausentesUsando API erradaUse /engage#$set para propriedades de perfil, não /track
Exportação de cohort falhaPermissões insuficientesGaranta que a Service Account tenha papel de Admin ou Analyst
Eventos duplicados$insert_id ausenteInclua $insert_id único em cada evento
402 Payment RequiredLimites de dados excedidosVerifique os limites do plano Mixpanel e faça upgrade se necessário
Dados da UE não roteandoResidência de dados erradaUse api-eu.mixpanel.com para projetos da UE
Problemas de merge de identidadedistinct_id incorretoSiga as melhores práticas de gestão de identidade do Mixpanel

Melhores práticas

  1. Use Service Accounts - Prefira Service Accounts em vez de Project Secret para autenticação do lado do servidor
  2. Inclua $insert_id - Sempre defina um insert ID único para deduplicação de eventos
  3. Agrupe atualizações de perfil - Envie até 2.000 atualizações de perfil por requisição para eficiência
  4. Use endpoints da UE - Para residência de dados na UE, use api-eu.mixpanel.com para todas as chamadas de API
  5. Sincronize cohorts em agendamento - Configure sincronização de cohort diária ou semanal em vez de polling contínuo
  6. Mapeie propriedades reservadas - Use propriedades reservadas do Mixpanel ($email, $first_name) para dados de perfil
  7. Monitore a ingestão - Use a página de Eventos do Mixpanel para verificar se os eventos estão sendo recebidos corretamente

Segurança

  • Somente HTTPS - Toda comunicação com a API exige criptografia TLS
  • Isolamento de Service Account - Acesso com escopo por projeto com permissões baseadas em função
  • Deduplicação de eventos - Dedup embutido via $insert_id previne problemas de integridade de dados
  • SOC 2 Type II - O Mixpanel é certificado SOC 2 Type II
  • GDPR/CCPA - Suporta exclusão de dados do usuário via API GDPR
  • Residência de dados na UE - Data center na UE disponível para conformidade europeia

Recursos relacionados

Subscribe to updates

developer-docs

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

auto-detect
Assistente AI

Olá! Pergunte-me qualquer coisa sobre a documentação.