---
title: "Konektor Mixpanel"
description: "Kompletny przewodnik integracji Mixpanel do synchronizacji zdarzeń analityki produktowej, profili użytkowników i kohort z Brevo przez Tajo."
url: https://tajo.io/pl/docs/connectors/custom/mixpanel/
markdown: https://tajo.io/pl/docs/connectors/custom/mixpanel.md
lang: pl-PL
robots: noindex
---

Poproś o wcześniejszy dostęp

Podaj imię i firmowy adres e-mail. Wyślemy Ci link potwierdzający prośbę o dostęp do Tajo.

# Konektor Mixpanel

Status konektora: Planowany Jeszcze niezbudowany. Tajo nie uruchamia dziś tego konektora.

| Pole źródłowe | Pole docelowe | Przykładowa wartość |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Połącz Mixpanel z Brevo przez Tajo, aby połączyć analitykę produktową z automatyzacją marketingu. Synchronizuj profile użytkowników, zdarzenia behawioralne i kohorty, aby tworzyć kampanie oparte na danych z rzeczywistego użytkowania produktu.

## Przegląd

| Właściwość | Wartość |
| --- | --- |
| **Platforma** | Mixpanel |
| **Kategoria** | Analityka (Niestandardowa) |
| **Poziom konfiguracji** | Średni |
| **Integracja oficjalna** | Nie |
| **Synchronizowane dane** | Zdarzenia, Profile, Kohorty, Grupy |
| **Dostępne Skills** | 7 |

## Funkcje

- **Pozyskiwanie zdarzeń** - Importuj zdarzenia śledzenia przez Mixpanel Ingestion API do przepływów Brevo
- **Synchronizacja profili użytkowników** - Mapuj właściwości profili użytkowników Mixpanel na atrybuty kontaktów Brevo
- **Eksport kohort** - Synchronizuj kohorty Mixpanel z listami kontaktów Brevo dla ukierunkowanych kampanii
- **Analityka grup** - Synchronizuj dane na poziomie grupy dla B2B marketingu opartego na kontach
- **Zarządzanie tożsamością** - Korzystaj ze scalania tożsamości Mixpanel dla ujednoliconych profili klientów
- **Zapytania JQL** - Uruchamiaj niestandardowe zapytania JQL, aby wyodrębniać określone zestawy danych dla Brevo
- **Tabele przeglądowe** - Synchronizuj dane wzbogacające z tabel przeglądowych Mixpanel

## Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

1. Konto Mixpanel z utworzonym projektem
2. Token projektu Mixpanel do śledzenia po stronie klienta
3. Konto serwisowe z odpowiednimi uprawnieniami dla dostępu API po stronie serwera
4. Konto Brevo z dostępem do API
5. Konto Tajo z danymi uwierzytelniającymi API

## Uwierzytelnianie

### Konta serwisowe (zalecane)

Mixpanel zaleca używanie kont serwisowych do uwierzytelniania API. Konta serwisowe używają HTTP Basic Auth z nazwą użytkownika (nazwa konta serwisowego) i hasłem (sekret konta serwisowego).

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

### Token projektu

Token projektu służy do śledzenia zdarzeń po stronie klienta i jest bezpieczny do umieszczenia w kodzie klienta:

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

### OAuth (dla integracji partnerskich)

Dla integracji aplikacji uzyskujących dostęp do wielu projektów:

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

## Konfiguracja

### Podstawowa konfiguracja

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

### Mapowanie zdarzeń

Mapuj zdarzenia Mixpanel na typy zdarzeń 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"
```

### Mapowanie właściwości profilu

Mapuj właściwości użytkowników Mixpanel na atrybuty kontaktów 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
```

## Endpointy API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `POST` | `/import` | Importuj zdarzenia (Ingestion API) |
| `POST` | `/track` | Śledź zdarzenia (po stronie klienta) |
| `POST` | `/engage#$set` | Ustaw właściwości profilu użytkownika |
| `POST` | `/engage#$set_once` | Ustaw właściwości tylko jeśli jeszcze nie ustawione |
| `POST` | `/engage#$delete` | Usuń profil użytkownika |
| `POST` | `/engage#$union` | Połącz z właściwościami listy |
| `POST` | `/groups` | Ustaw właściwości profilu grupy |
| `GET` | `/export` | Eksportuj surowe dane zdarzeń |
| `POST` | `/cohorts/list` | Lista zapisanych kohort |
| `POST` | `/engage/query` | Odpytaj profile użytkowników |
| `POST` | `/jql` | Uruchom niestandardowe zapytania JQL |
| `GET` | `/segmentation` | Odpytaj raporty segmentacji |
| `GET` | `/retention` | Odpytaj raporty retencji |
| `GET` | `/funnels` | Odpytaj raporty lejka |

## Przykłady kodu

### Inicjalizacja konektora 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
});
```

### Importuj zdarzenia przez Ingestion API

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

### Synchronizuj kohortę z 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
// }
```

### Ustaw właściwości profilu użytkownika

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

## Limity API

| API | Limit | Szczegóły |
| --- | --- | --- |
| **Ingestion API** | 2 GB/min | Na projekt |
| **Track API** | Bez twardego limitu | Dostarczanie best-effort |
| **Engage API** | 2 000 aktualizacji/partia | Maks. 2 GB/min na projekt |
| **Query API** | 60 żądań/godzinę | Na projekt (konto serwisowe) |
| **Export API** | 60 żądań/godzinę | Maks. 100 dni na zapytanie |
| **JQL API** | 60 żądań/godzinę | Na projekt |
| **Eksport kohort** | 60 żądań/godzinę | Na projekt |

Deduplikacja zdarzeń

Mixpanel deduplikuje zdarzenia używając właściwości `$insert_id`. Zawsze dołączaj unikalny `$insert_id`, aby zapobiec duplikatom zdarzeń przy ponownym próbowaniu nieudanych importów.

## Rozwiązywanie problemów

| Problem | Przyczyna | Rozwiązanie |
| --- | --- | --- |
| Zdarzenia nie pojawiają się | Zły token projektu | Zweryfikuj, że token pasuje do docelowego projektu |
| Brakujące właściwości profilu | Używanie złego API | Używaj `/engage#$set` dla właściwości profilu, nie `/track` |
| Eksport kohorty nie powiódł się | Niewystarczające uprawnienia | Upewnij się, że konto serwisowe ma rolę Admin lub Analyst |
| Duplikaty zdarzeń | Brak `$insert_id` | Uwzględnij unikalny `$insert_id` na każdym zdarzeniu |
| 402 Payment Required | Przekroczono limity danych | Sprawdź limity planu Mixpanel i w razie potrzeby ulepsz |
| Dane EU nie przekierowują | Zła rezydencja danych | Używaj `api-eu.mixpanel.com` dla projektów UE |
| Problemy ze scalaniem tożsamości | Nieprawidłowy distinct\_id | Postępuj zgodnie z najlepszymi praktykami zarządzania tożsamością Mixpanel |

## Najlepsze praktyki

1. **Używaj kont serwisowych** - Preferuj konta serwisowe nad Project Secret dla uwierzytelniania po stronie serwera
2. **Uwzględnij `$insert_id`** - Zawsze ustawiaj unikalny insert ID dla deduplikacji zdarzeń
3. **Wsadowe aktualizacje profilu** - Wysyłaj do 2 000 aktualizacji profilu na żądanie dla efektywności
4. **Używaj endpointów UE** - Dla rezydencji danych UE używaj `api-eu.mixpanel.com` dla wszystkich wywołań API
5. **Synchronizuj kohorty wg harmonogramu** - Konfiguruj codzienną lub tygodniową synchronizację kohort zamiast ciągłego odpytywania
6. **Mapuj zarezerwowane właściwości** - Używaj zarezerwowanych właściwości Mixpanel (`$email`, `$first_name`) dla danych profilu
7. **Monitoruj pozyskiwanie** - Używaj strony Events Mixpanel, aby weryfikować poprawne odbieranie zdarzeń

## Bezpieczeństwo

- **Tylko HTTPS** - Cała komunikacja API wymaga szyfrowania TLS
- **Izolacja kont serwisowych** - Dostęp z zakresem na projekt z uprawnieniami opartymi na rolach
- **Deduplikacja zdarzeń** - Wbudowana dedup przez `$insert_id` zapobiega problemom integralności danych
- **SOC 2 Type II** - Mixpanel posiada certyfikat SOC 2 Type II
- **RODO/CCPA** - Obsługuje usuwanie danych użytkownika przez GDPR API
- **Rezydencja danych UE** - Centrum danych UE dostępne dla zgodności europejskiej

## Powiązane zasoby

- [Konektor Segment](https://tajo.io/pl/docs/connectors/custom/segment)
- [Konektor Amplitude](https://tajo.io/pl/docs/connectors/custom/amplitude)
- [Skill synchronizacji klientów](https://tajo.io/pl/docs/skills/data-sync/customer-sync)
- [Brevo Events API](https://tajo.io/pl/docs/events-engagement/create-event)
