---
title: "Conector Mixpanel"
description: "Guia completo de integração do Mixpanel para sincronizar eventos de product analytics, perfis de usuário e cohorts com o Brevo através do Tajo."
url: https://tajo.io/pt/docs/connectors/custom/mixpanel/
markdown: https://tajo.io/pt/docs/connectors/custom/mixpanel.md
lang: pt-BR
robots: noindex
---

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

# Conector Mixpanel

Status do conector: Planejado Ainda não construído. O Tajo não executa este conector hoje.

| Campo de origem | Campo de destino | Valor de exemplo |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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

| Propriedade | Valor |
| --- | --- |
| **Plataforma** | Mixpanel |
| **Categoria** | Analytics (Personalizado) |
| **Complexidade de configuração** | Média |
| **Integração oficial** | Não |
| **Dados sincronizados** | Eventos, Perfis, Cohorts, Grupos |
| **Skills disponíveis** | 7 |

## 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).

```bash
# 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:

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

### OAuth (para integrações de parceiros)

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

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

## Configuração

### Configuração básica

```yaml
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:

```yaml
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:

```yaml
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étodo | Endpoint | Descrição |
| --- | --- | --- |
| `POST` | `/import` | Importar eventos (API de ingestão) |
| `POST` | `/track` | Rastrear eventos (lado do cliente) |
| `POST` | `/engage#$set` | Definir propriedades de perfil de usuário |
| `POST` | `/engage#$set_once` | Definir propriedades apenas se ainda não estiverem definidas |
| `POST` | `/engage#$delete` | Excluir um perfil de usuário |
| `POST` | `/engage#$union` | União para propriedades de lista |
| `POST` | `/groups` | Definir propriedades de perfil de grupo |
| `GET` | `/export` | Exportar dados brutos de eventos |
| `POST` | `/cohorts/list` | Listar cohorts salvos |
| `POST` | `/engage/query` | Consultar perfis de usuário |
| `POST` | `/jql` | Executar consultas JQL personalizadas |
| `GET` | `/segmentation` | Consultar relatórios de segmentação |
| `GET` | `/retention` | Consultar relatórios de retenção |
| `GET` | `/funnels` | Consultar relatórios de funil |

## Exemplos de código

### Inicializar o conector Mixpanel

```javascript
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

```javascript
// 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

```javascript
// 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

```javascript
// 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: "jane@example.com",
      $first_name: "Jane",
      $last_name: "Kim",
      plan: "premium",
      total_orders: 12,
      lifetime_value: 1250.00
    }
  }])
});
```

## Limites de taxa

| API | Limite | Detalhes |
| --- | --- | --- |
| **API de ingestão** | 2 GB/min | Por projeto |
| **Track API** | Sem limite rígido | Entrega best-effort |
| **Engage API** | 2.000 atualizações/lote | Máx 2 GB/min por projeto |
| **Query API** | 60 requisições/hora | Por projeto (Service Account) |
| **Export API** | 60 requisições/hora | Máx 100 dias por consulta |
| **JQL API** | 60 requisições/hora | Por projeto |
| **Cohort Export** | 60 requisições/hora | Por 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

| Problema | Causa | Solução |
| --- | --- | --- |
| Eventos não aparecendo | Project token errado | Verifique se o token corresponde ao projeto alvo |
| Propriedades de perfil ausentes | Usando API errada | Use `/engage#$set` para propriedades de perfil, não `/track` |
| Exportação de cohort falha | Permissões insuficientes | Garanta que a Service Account tenha papel de Admin ou Analyst |
| Eventos duplicados | `$insert_id` ausente | Inclua `$insert_id` único em cada evento |
| 402 Payment Required | Limites de dados excedidos | Verifique os limites do plano Mixpanel e faça upgrade se necessário |
| Dados da UE não roteando | Residência de dados errada | Use `api-eu.mixpanel.com` para projetos da UE |
| Problemas de merge de identidade | distinct\_id incorreto | Siga 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

- [Conector Segment](https://tajo.io/pt/docs/connectors/custom/segment)
- [Conector Amplitude](https://tajo.io/pt/docs/connectors/custom/amplitude)
- [Skill de sincronização de clientes](https://tajo.io/pt/docs/skills/data-sync/customer-sync)
- [API de eventos do Brevo](https://tajo.io/pt/docs/events-engagement/create-event)
