Konektor Mixpanel

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ść
PlatformaMixpanel
KategoriaAnalityka (Niestandardowa)
Poziom konfiguracjiŚredni
Integracja oficjalnaNie
Synchronizowane daneZdarzenia, Profile, Kohorty, Grupy
Dostępne Skills7

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

Terminal window
# 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:

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

OAuth (dla integracji partnerskich)

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

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

Konfiguracja

Podstawowa konfiguracja

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:

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:

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

MetodaEndpointOpis
POST/importImportuj zdarzenia (Ingestion API)
POST/trackŚledź zdarzenia (po stronie klienta)
POST/engage#$setUstaw właściwości profilu użytkownika
POST/engage#$set_onceUstaw właściwości tylko jeśli jeszcze nie ustawione
POST/engage#$deleteUsuń profil użytkownika
POST/engage#$unionPołącz z właściwościami listy
POST/groupsUstaw właściwości profilu grupy
GET/exportEksportuj surowe dane zdarzeń
POST/cohorts/listLista zapisanych kohort
POST/engage/queryOdpytaj profile użytkowników
POST/jqlUruchom niestandardowe zapytania JQL
GET/segmentationOdpytaj raporty segmentacji
GET/retentionOdpytaj raporty retencji
GET/funnelsOdpytaj raporty lejka

Przykłady kodu

Inicjalizacja konektora Mixpanel

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

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

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

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

Limity API

APILimitSzczegóły
Ingestion API2 GB/minNa projekt
Track APIBez twardego limituDostarczanie best-effort
Engage API2 000 aktualizacji/partiaMaks. 2 GB/min na projekt
Query API60 żądań/godzinęNa projekt (konto serwisowe)
Export API60 żądań/godzinęMaks. 100 dni na zapytanie
JQL API60 żądań/godzinęNa projekt
Eksport kohort60 żą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

ProblemPrzyczynaRozwiązanie
Zdarzenia nie pojawiają sięZły token projektuZweryfikuj, że token pasuje do docelowego projektu
Brakujące właściwości profiluUżywanie złego APIUżywaj /engage#$set dla właściwości profilu, nie /track
Eksport kohorty nie powiódł sięNiewystarczające uprawnieniaUpewnij się, że konto serwisowe ma rolę Admin lub Analyst
Duplikaty zdarzeńBrak $insert_idUwzględnij unikalny $insert_id na każdym zdarzeniu
402 Payment RequiredPrzekroczono limity danychSprawdź limity planu Mixpanel i w razie potrzeby ulepsz
Dane EU nie przekierowująZła rezydencja danychUżywaj api-eu.mixpanel.com dla projektów UE
Problemy ze scalaniem tożsamościNieprawidłowy distinct_idPostę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

Subscribe to updates

developer-docs

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

auto-detect
Asystent AI

Cześć! Zapytaj mnie o dokumentację.