Mixpanel Connector

Verbinde Mixpanel über Tajo mit Brevo, um Produktanalyse mit Marketingautomatisierung zu verknüpfen. Synchronisiere Nutzer:innen-Profile, Verhaltens-Events und Kohorten, um datengetriebene Kampagnen auf Basis echter Produktnutzung zu erstellen.

Überblick

EigenschaftWert
PlattformMixpanel
KategorieAnalytics (Custom)
EinrichtungsaufwandMittel
Offizielle IntegrationNein
Synchronisierte DatenEvents, Profile, Kohorten, Gruppen
Verfügbare Skills7

Funktionen

  • Event-Aufnahme - Importiere Track-Events über Mixpanels Ingestion-API in Brevo-Workflows
  • Profil-Synchronisierung - Ordne Mixpanel-Profil-Eigenschaften Brevo-Kontaktattributen zu
  • Kohorten-Export - Synchronisiere Mixpanel-Kohorten mit Brevo-Kontaktlisten für zielgerichtete Kampagnen
  • Gruppen-Analyse - Synchronisiere gruppenbezogene Daten für B2B-Account-based Marketing
  • Identitätsmanagement - Nutze Mixpanels Identity-Merge für einheitliche Kundenprofile
  • JQL-Abfragen - Führe benutzerdefinierte JQL-Abfragen aus, um spezifische Datensätze für Brevo zu extrahieren
  • Lookup-Tabellen - Synchronisiere Anreicherungsdaten aus Mixpanel-Lookup-Tabellen

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  1. Ein Mixpanel-Konto mit einem angelegten Projekt
  2. Dein Mixpanel-Projekt-Token für das clientseitige Tracking
  3. Ein Service-Account mit passenden Berechtigungen für serverseitigen API-Zugriff
  4. Ein Brevo-Konto mit API-Zugriff
  5. Ein Tajo-Konto mit API-Zugangsdaten

Authentifizierung

Service-Accounts (Empfohlen)

Mixpanel empfiehlt die Nutzung von Service-Accounts für die API-Authentifizierung. Service-Accounts verwenden HTTP Basic Auth mit Benutzer:innen-Name (Service-Account-Benutzer:innen-Name) und Passwort (Service-Account-Secret).

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

Projekt-Token

Das Projekt-Token wird für clientseitiges Event-Tracking verwendet und kann sicher in den Client-Code aufgenommen werden:

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

OAuth (für Partner-Integrationen)

Für App-Integrationen, die auf mehrere Projekte zugreifen:

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

Konfiguration

Grundeinrichtung

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

Event-Zuordnung

Ordne Mixpanel-Events Brevo-Event-Typen zu:

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"

Zuordnung von Profil-Eigenschaften

Ordne Mixpanel-Nutzer:innen-Eigenschaften Brevo-Kontaktattributen zu:

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

MethodeEndpunktBeschreibung
POST/importEvents importieren (Ingestion API)
POST/trackEvents tracken (clientseitig)
POST/engage#$setProfil-Eigenschaften setzen
POST/engage#$set_onceEigenschaften nur setzen, wenn noch nicht gesetzt
POST/engage#$deleteEin Nutzer:innen-Profil löschen
POST/engage#$unionWerte zu Listen-Eigenschaften vereinigen
POST/groupsGruppen-Profil-Eigenschaften setzen
GET/exportRohe Event-Daten exportieren
POST/cohorts/listGespeicherte Kohorten auflisten
POST/engage/queryNutzer:innen-Profile abfragen
POST/jqlBenutzerdefinierte JQL-Abfragen ausführen
GET/segmentationSegmentierungs-Reports abfragen
GET/retentionRetention-Reports abfragen
GET/funnelsFunnel-Reports abfragen

Code-Beispiele

Mixpanel-Connector initialisieren

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

Events über die Ingestion-API importieren

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

Kohorte mit Brevo synchronisieren

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

Profil-Eigenschaften setzen

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

Ratenbegrenzungen

APILimitDetails
Ingestion API2 GB/Min.Pro Projekt
Track APIKein hartes LimitBest-Effort-Zustellung
Engage API2.000 Updates/BatchMax. 2 GB/Min. pro Projekt
Query API60 Anfragen/StundePro Projekt (Service-Account)
Export API60 Anfragen/StundeMax. 100 Tage pro Abfrage
JQL API60 Anfragen/StundePro Projekt
Kohorten-Export60 Anfragen/StundePro Projekt

Event-Deduplizierung

Mixpanel dedupliziert Events über die Eigenschaft $insert_id. Gib stets eine eindeutige $insert_id an, um doppelte Events bei fehlgeschlagenen Import-Wiederholungen zu verhindern.

Fehlerbehebung

ProblemUrsacheLösung
Events erscheinen nichtFalsches Projekt-TokenPrüfen, dass das Token zum Zielprojekt passt
Profil-Eigenschaften fehlenFalsche API verwendetFür Profil-Eigenschaften /engage#$set verwenden, nicht /track
Kohorten-Export schlägt fehlUnzureichende BerechtigungenSicherstellen, dass der Service-Account Admin- oder Analyst-Rolle hat
Doppelte EventsFehlende $insert_idEindeutige $insert_id für jedes Event angeben
402 Payment RequiredDatenlimit überschrittenMixpanel-Plan-Limits prüfen und ggf. upgraden
EU-Daten werden nicht geroutetFalsche DatenresidenzFür EU-Projekte api-eu.mixpanel.com verwenden
Identity-Merge-ProblemeFalsche distinct_idMixpanels Best Practices für Identity-Management befolgen

Best Practices

  1. Service-Accounts nutzen - Bevorzuge Service-Accounts gegenüber dem Projekt-Secret für serverseitige Authentifizierung
  2. $insert_id angeben - Setze stets eine eindeutige Insert-ID zur Event-Deduplizierung
  3. Profil-Updates bündeln - Sende bis zu 2.000 Profil-Updates pro Anfrage
  4. EU-Endpunkte verwenden - Nutze für EU-Datenresidenz api-eu.mixpanel.com für alle API-Aufrufe
  5. Kohorten nach Zeitplan synchronisieren - Richte tägliches oder wöchentliches Kohorten-Sync statt Dauer-Polling ein
  6. Reservierte Eigenschaften zuordnen - Nutze Mixpanels reservierte Eigenschaften ($email, $first_name) für Profildaten
  7. Aufnahme überwachen - Prüfe auf der Events-Seite von Mixpanel, ob Events korrekt eingehen

Sicherheit

  • Nur HTTPS - Die gesamte API-Kommunikation erfordert TLS-Verschlüsselung
  • Service-Account-Isolation - Scope-basierter Zugriff pro Projekt mit rollenbasierten Berechtigungen
  • Event-Deduplizierung - Eingebaute Deduplizierung über $insert_id verhindert Datenintegritätsprobleme
  • SOC 2 Type II - Mixpanel ist SOC-2-Type-II-zertifiziert
  • DSGVO/CCPA - Unterstützt Datenlöschungen per GDPR-API
  • EU-Datenresidenz - EU-Rechenzentrum für europäische Compliance verfügbar

Verwandte Ressourcen

Subscribe to updates

developer-docs

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

auto-detect
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.