---
title: "Mixpanel konektor"
description: "Kompletan vodič za Mixpanel integraciju za sinhronizaciju događaja analize proizvoda, profila korisnika i kohorti sa Brevo putem Tajo."
url: https://tajo.io/sr/docs/connectors/custom/mixpanel/
markdown: https://tajo.io/sr/docs/connectors/custom/mixpanel.md
lang: sr-Latn-RS
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# Mixpanel konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primer vrednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži Mixpanel sa Brevo putem Tajo kako bi premostio/la analizu proizvoda sa marketing automatizacijom. Sinhronizuj korisničke profile, bihevioralne događaje i kohorte za kreiranje kampanja zasnovanih na podacima temeljenih na stvarnoj upotrebi proizvoda.

## Pregled

| Svojstvo | Vrednost |
| --- | --- |
| **Platforma** | Mixpanel |
| **Kategorija** | Analitika (Prilagođeno) |
| **Složenost podešavanja** | Srednje |
| **Zvanična integracija** | Ne |
| **Sinhronizovani podaci** | Događaji, Profili, Kohorte, Grupe |
| **Dostupne veštine** | 7 |

## Karakteristike

- **Unos događaja** - Uvoz track događaja putem Mixpanel Ingestion API u Brevo tokove
- **Sinhronizacija profila korisnika** - Mapiranje Mixpanel svojstava korisničkog profila na Brevo atribute kontakta
- **Izvoz kohorti** - Sinhronizacija Mixpanel kohorti na Brevo liste kontakata za ciljane kampanje
- **Grupna analitika** - Sinhronizacija podataka na nivou grupe za B2B account-based marketing
- **Upravljanje identitetom** - Korišćenje Mixpanel spajanja identiteta za ujedinjene korisničke profile
- **JQL upiti** - Pokretanje prilagođenih JQL upita za ekstrakciju specifičnih skupova podataka za Brevo
- **Lookup tabele** - Sinhronizacija podataka obogaćivanja iz Mixpanel lookup tabela

## Preduslovi

Pre nego što započneš, proveri da imaš:

1. Mixpanel nalog sa kreiranim projektom
2. Mixpanel Project Token za praćenje na strani klijenta
3. Service Account sa odgovarajućim dozvolama za server-side API pristup
4. Brevo nalog sa API pristupom
5. Tajo nalog sa API kredencijalima

## Autentifikacija

### Service Accounts (preporučeno)

Mixpanel preporučuje korišćenje Service Accounts za API autentifikaciju. Service accounts koriste HTTP Basic Auth sa korisničkim imenom (korisničko ime service account-a) i lozinkom (secret service account-a).

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

### Project Token

Project Token se koristi za praćenje događaja na strani klijenta i bezbedno je uključiti ga u klijentski kod:

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

### OAuth (za partner integracije)

Za integracije aplikacija koje pristupaju više projekata:

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

## Konfiguracija

### Osnovno podešavanje

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

### Mapiranje događaja

Mapiranje Mixpanel događaja na Brevo tipove događaja:

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

### Mapiranje svojstava profila

Mapiranje Mixpanel korisničkih svojstava na Brevo atribute kontakta:

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

## API endpointi

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `POST` | `/import` | Uvoz događaja (Ingestion API) |
| `POST` | `/track` | Praćenje događaja (client-side) |
| `POST` | `/engage#$set` | Postavljanje svojstava korisničkog profila |
| `POST` | `/engage#$set_once` | Postavljanje svojstava samo ako već nisu postavljena |
| `POST` | `/engage#$delete` | Brisanje korisničkog profila |
| `POST` | `/engage#$union` | Union na svojstvima liste |
| `POST` | `/groups` | Postavljanje svojstava grupnog profila |
| `GET` | `/export` | Izvoz sirovih podataka o događajima |
| `POST` | `/cohorts/list` | Listanje sačuvanih kohorti |
| `POST` | `/engage/query` | Upit korisničkih profila |
| `POST` | `/jql` | Pokretanje prilagođenih JQL upita |
| `GET` | `/segmentation` | Upit izveštaja o segmentaciji |
| `GET` | `/retention` | Upit izveštaja o zadržavanju |
| `GET` | `/funnels` | Upit izveštaja o levku |

## Primeri koda

### Inicijalizacija Mixpanel konektora

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

### Uvoz događaja putem 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 }
```

### Sinhronizacija kohorte sa 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
// }
```

### Postavljanje svojstava korisničkog profila

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

## Ograničenja brzine

| API | Limit | Detalji |
| --- | --- | --- |
| **Ingestion API** | 2 GB/min | Po projektu |
| **Track API** | Bez tvrdog limita | Isporuka po mogućnosti |
| **Engage API** | 2.000 ažuriranja/batch | Maksimalno 2 GB/min po projektu |
| **Query API** | 60 zahteva/sat | Po projektu (Service Account) |
| **Export API** | 60 zahteva/sat | Maksimalno 100 dana po upitu |
| **JQL API** | 60 zahteva/sat | Po projektu |
| **Cohort Export** | 60 zahteva/sat | Po projektu |

Deduplikacija događaja

Mixpanel deduplira događaje koristeći svojstvo `$insert_id`. Uvek uključi jedinstveni `$insert_id` da sprečiš duplikate događaja pri ponovnom pokušaju neuspelih uvoza.

## Rešavanje problema

| Problem | Uzrok | Rešenje |
| --- | --- | --- |
| Događaji se ne pojavljuju | Pogrešan project token | Proveri da token odgovara ciljnom projektu |
| Nedostaju svojstva profila | Korišćenje pogrešnog API-ja | Koristi `/engage#$set` za svojstva profila, ne `/track` |
| Izvoz kohorte ne uspeva | Nedovoljne dozvole | Proveri da Service Account ima Admin ili Analyst ulogu |
| Duplirani događaji | Nedostaje `$insert_id` | Uključi jedinstveni `$insert_id` na svakom događaju |
| 402 Payment Required | Prekoračeni limiti podataka | Proveri Mixpanel planove i nadogradi ako je potrebno |
| EU podaci se ne rutiraju | Pogrešna rezidencija podataka | Koristi `api-eu.mixpanel.com` za EU projekte |
| Problemi spajanja identiteta | Pogrešan distinct\_id | Sledi Mixpanel-ove najbolje prakse upravljanja identitetom |

## Najbolje prakse

1. **Koristi Service Accounts** - Preferiraj Service Accounts umesto Project Secret za server-side autentifikaciju
2. **Uključi `$insert_id`** - Uvek postavi jedinstveni insert ID za deduplikaciju događaja
3. **Grupišu ažuriranja profila** - Šalji do 2.000 ažuriranja profila po zahtevu za efikasnost
4. **Koristi EU endpointe** - Za EU rezidenciju podataka, koristi `api-eu.mixpanel.com` za sve API pozive
5. **Sinhronizuj kohorte po rasporedu** - Postavi dnevnu ili nedeljnu sinhronizaciju kohorti umesto kontinuiranog ispitivanja
6. **Mapiraj rezervisana svojstva** - Koristi Mixpanel rezervisana svojstva (`$email`, `$first_name`) za podatke profila
7. **Prati unos** - Koristi Mixpanel stranicu Events za verifikaciju da se događaji ispravno primaju

## Bezbednost

- **Samo HTTPS** - Sva API komunikacija zahteva TLS enkripciju
- **Izolacija Service Account-a** - Skopovani pristup po projektu sa dozvolama zasnovanim na ulogama
- **Deduplikacija događaja** - Ugrađena deduplikacija putem `$insert_id` sprečava probleme integriteta podataka
- **SOC 2 Type II** - Mixpanel je SOC 2 Type II sertifikovan
- **GDPR/CCPA** - Podrška za brisanje korisničkih podataka putem GDPR API-ja
- **EU rezidencija podataka** - Dostupan EU data center za evropsku usklađenost

## Povezani resursi

- [Segment konektor](https://tajo.io/sr/docs/connectors/custom/segment)
- [Amplitude konektor](https://tajo.io/sr/docs/connectors/custom/amplitude)
- [Customer Sync veština](https://tajo.io/sr/docs/skills/data-sync/customer-sync)
- [Brevo Events API](https://tajo.io/sr/docs/events-engagement/create-event)
