---
title: "Mixpanel Connector"
description: "Komplet guide til Mixpanel-integration til synkronisering af produktanalysehændelser, brugerprofiler og kohorter med Brevo gennem Tajo."
url: https://tajo.io/dk/docs/connectors/custom/mixpanel/
markdown: https://tajo.io/dk/docs/connectors/custom/mixpanel.md
lang: da-DK
robots: noindex
---

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

# Mixpanel Connector

Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.

| Kildefelt | Destinationsfelt | Eksempelværdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Forbind Mixpanel med Brevo gennem Tajo for at bygge bro mellem produktanalyse og marketingautomatisering. Synkronisér brugerprofiler, adfærdshændelser og kohorter for at skabe datadrevne kampagner baseret på reel produktbrug.

## Oversigt

| Egenskab | Værdi |
| --- | --- |
| **Platform** | Mixpanel |
| **Kategori** | Analytics (brugerdefineret) |
| **Opsætningskompleksitet** | Medium |
| **Officiel integration** | Nej |
| **Synkroniserede data** | Hændelser, profiler, kohorter, grupper |
| **Tilgængelige skills** | 7 |

## Funktioner

- **Hændelsesindtagelse** - Importér track-hændelser via Mixpanels Ingestion API til Brevo-workflows
- **Synkronisering af brugerprofiler** - Kortlæg Mixpanel-brugerprofilegenskaber til Brevo-kontaktattributter
- **Kohorteksport** - Synkronisér Mixpanel-kohorter til Brevo-kontaktlister til målrettede kampagner
- **Gruppeanalyse** - Synkronisér data på gruppeniveau til B2B-kontobaseret marketing
- **Identitetsstyring** - Udnyt Mixpanels identitetsfletning til samlede kundeprofiler
- **JQL-forespørgsler** - Kør brugerdefinerede JQL-forespørgsler for at udtrække specifikke datasæt til Brevo
- **Opslagstabeller** - Synkronisér berigelsesdata fra Mixpanels opslagstabeller

## Forudsætninger

Før du begynder, skal du sikre dig, at du har:

1. En Mixpanel-konto med et oprettet projekt
2. Dit Mixpanel Project Token til client-side-sporing
3. En Service Account med passende tilladelser til server-side API-adgang
4. En Brevo-konto med API-adgang
5. En Tajo-konto med API-legitimationsoplysninger

## Autentifikation

### Service Accounts (anbefalet)

Mixpanel anbefaler at bruge Service Accounts til API-autentifikation. Service Accounts bruger HTTP Basic Auth med brugernavn (service account-brugernavn) og adgangskode (service account-hemmelighed).

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

### Project Token

Project Token bruges til client-side-hændelsessporing og kan trygt inkluderes i klientkode:

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

### OAuth (til partnerintegrationer)

Til app-integrationer, der tilgår flere projekter:

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

## Konfiguration

### Grundlæggende opsætning

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

### Hændelsesmapping

Kortlæg Mixpanel-hændelser til Brevo-hændelsestyper:

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

### Mapping af profilegenskaber

Kortlæg Mixpanel-brugeregenskaber til Brevo-kontaktattributter:

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

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `POST` | `/import` | Importér hændelser (Ingestion API) |
| `POST` | `/track` | Spor hændelser (client-side) |
| `POST` | `/engage#$set` | Indstil brugerprofilegenskaber |
| `POST` | `/engage#$set_once` | Indstil egenskaber kun, hvis ikke allerede sat |
| `POST` | `/engage#$delete` | Slet en brugerprofil |
| `POST` | `/engage#$union` | Union til listeegenskaber |
| `POST` | `/groups` | Indstil gruppeprofilegenskaber |
| `GET` | `/export` | Eksportér rå hændelsesdata |
| `POST` | `/cohorts/list` | Vis gemte kohorter |
| `POST` | `/engage/query` | Forespørg brugerprofiler |
| `POST` | `/jql` | Kør brugerdefinerede JQL-forespørgsler |
| `GET` | `/segmentation` | Forespørg segmenteringsrapporter |
| `GET` | `/retention` | Forespørg fastholdelsesrapporter |
| `GET` | `/funnels` | Forespørg tragtrapporter |

## Kodeeksempler

### Initialisér Mixpanel-connector

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

### Importér hændelser via 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 }
```

### Synkronisér kohorte til 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
// }
```

### Indstil brugerprofilegenskaber

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

## Rate limits

| API | Grænse | Detaljer |
| --- | --- | --- |
| **Ingestion API** | 2 GB/min. | Pr. projekt |
| **Track API** | Ingen hård grænse | Best-effort-levering |
| **Engage API** | 2.000 opdateringer/batch | Maks. 2 GB/min. pr. projekt |
| **Query API** | 60 anmodninger/time | Pr. projekt (Service Account) |
| **Export API** | 60 anmodninger/time | Maks. 100 dage pr. forespørgsel |
| **JQL API** | 60 anmodninger/time | Pr. projekt |
| **Kohorteksport** | 60 anmodninger/time | Pr. projekt |

Hændelsesdeduplikering

Mixpanel deduplikerer hændelser ved hjælp af egenskaben `$insert_id`. Inkludér altid et unikt `$insert_id` for at forhindre duplikerede hændelser ved gentagelse af fejlede imports.

## Fejlfinding

| Problem | Årsag | Løsning |
| --- | --- | --- |
| Hændelser vises ikke | Forkert projekttoken | Verificér, at tokenet matcher målprojektet |
| Profilegenskaber mangler | Bruger forkert API | Brug `/engage#$set` til profilegenskaber, ikke `/track` |
| Kohorteksport fejler | Utilstrækkelige tilladelser | Sørg for, at Service Account har Admin- eller Analyst-rolle |
| Duplikerede hændelser | Manglende `$insert_id` | Inkludér unikt `$insert_id` på hver hændelse |
| 402 Payment Required | Over datagrænser | Tjek Mixpanel-plangrænser, og opgradér om nødvendigt |
| EU-data dirigeres ikke | Forkert dataresidens | Brug `api-eu.mixpanel.com` til EU-projekter |
| Problemer med identitetsfletning | Forkert distinct\_id | Følg Mixpanels bedste praksis for identitetsstyring |

## Bedste praksis

1. **Brug Service Accounts** - Foretræk Service Accounts frem for Project Secret til server-side-autentifikation
2. **Inkludér `$insert_id`** - Angiv altid et unikt insert-ID til hændelsesdeduplikering
3. **Batch profilopdateringer** - Send op til 2.000 profilopdateringer pr. anmodning for effektivitet
4. **Brug EU-endpoints** - Til EU-dataresidens skal du bruge `api-eu.mixpanel.com` til alle API-kald
5. **Synkronisér kohorter efter skema** - Opsæt daglig eller ugentlig kohortesynkronisering frem for løbende polling
6. **Kortlæg reserverede egenskaber** - Brug Mixpanels reserverede egenskaber (`$email`, `$first_name`) til profildata
7. **Overvåg indtagelse** - Brug Mixpanels Events-side til at verificere, at hændelser modtages korrekt

## Sikkerhed

- **Kun HTTPS** - Al API-kommunikation kræver TLS-kryptering
- **Service Account-isolation** - Scoped adgang pr. projekt med rollebaserede tilladelser
- **Hændelsesdeduplikering** - Indbygget dedup via `$insert_id` forhindrer dataintegritetsproblemer
- **SOC 2 Type II** - Mixpanel er SOC 2 Type II-certificeret
- **GDPR/CCPA** - Understøtter sletning af brugerdata via GDPR-API’et
- **EU-dataresidens** - EU-datacenter tilgængeligt for europæisk compliance

## Relaterede ressourcer

- [Segment Connector](https://tajo.io/dk/docs/connectors/custom/segment)
- [Amplitude Connector](https://tajo.io/dk/docs/connectors/custom/amplitude)
- [Customer Sync Skill](https://tajo.io/dk/docs/skills/data-sync/customer-sync)
- [Brevo Events API](https://tajo.io/dk/docs/events-engagement/create-event)
