Conector Mixpanel
Conectați Mixpanel la Brevo prin Tajo pentru a lega analiza produselor cu automatizarea de marketing. Sincronizați profilurile utilizatorilor, evenimentele comportamentale și cohortele pentru a crea campanii bazate pe date din utilizarea reală a produsului.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Mixpanel |
| Categorie | Analiză (Personalizat) |
| Complexitate configurare | Medie |
| Integrare oficială | Nu |
| Date sincronizate | Evenimente, Profiluri, Cohorte, Grupuri |
| Skilluri disponibile | 7 |
Funcționalități
- Ingestie evenimente - Importați evenimente de urmărire prin API-ul de Ingestie Mixpanel în fluxurile de lucru Brevo
- Sincronizare profil utilizator - Mapați proprietățile profilului de utilizator Mixpanel la atributele de contact Brevo
- Export cohorte - Sincronizați cohortele Mixpanel cu listele de contacte Brevo pentru campanii targetate
- Analitica grupurilor - Sincronizați datele la nivel de grup pentru marketing bazat pe conturi B2B
- Gestionare identitate - Valorificați combinarea identității Mixpanel pentru profiluri unificate ale clienților
- Interogări JQL - Executați interogări JQL personalizate pentru a extrage seturi de date specifice pentru Brevo
- Tabele de căutare - Sincronizați datele de îmbogățire din tabelele de căutare Mixpanel
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un cont Mixpanel cu un proiect creat
- Tokenul de proiect Mixpanel pentru urmărire pe partea clientului
- Un Cont de serviciu cu permisiunile corespunzătoare pentru acces API pe server
- Un cont Brevo cu acces API
- Un cont Tajo cu credențiale API
Autentificare
Conturi de serviciu (Recomandat)
Mixpanel recomandă utilizarea Conturilor de serviciu pentru autentificarea API. Conturile de serviciu utilizează HTTP Basic Auth cu nume de utilizator (numele de utilizator al contului de serviciu) și parolă (secretul contului de serviciu).
# Service Account authenticationcurl https://mixpanel.com/api/app/me \ -u "SERVICE_ACCOUNT_USERNAME:SERVICE_ACCOUNT_SECRET"Token de proiect
Tokenul de proiect este utilizat pentru urmărirea evenimentelor pe partea clientului și este sigur să fie inclus în codul clientului:
// Client-side initializationmixpanel.init("YOUR_PROJECT_TOKEN");OAuth (pentru integrări partenere)
Pentru integrări de aplicații care accesează mai multe proiecte:
curl https://mixpanel.com/api/2.0/engage \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN"Configurare
Configurare de bază
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: 17Mapare evenimente
Mapați evenimentele Mixpanel la tipurile de evenimente 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"Mapare proprietăți profil
Mapați proprietățile utilizatorilor Mixpanel la atributele de contact 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: LTVPuncte finale API
| Metodă | Punct final | Descriere |
|---|---|---|
POST | /import | Importă evenimente (API Ingestie) |
POST | /track | Urmărește evenimente (client-side) |
POST | /engage#$set | Setează proprietățile profilului de utilizator |
POST | /engage#$set_once | Setează proprietăți doar dacă nu sunt deja setate |
POST | /engage#$delete | Șterge un profil de utilizator |
POST | /engage#$union | Uniune cu proprietăți de tip listă |
POST | /groups | Setează proprietățile profilului de grup |
GET | /export | Exportă date brute de evenimente |
POST | /cohorts/list | Listează cohortele salvate |
POST | /engage/query | Interoghează profilurile utilizatorilor |
POST | /jql | Execută interogări JQL personalizate |
GET | /segmentation | Interoghează rapoartele de segmentare |
GET | /retention | Interoghează rapoartele de retenție |
GET | /funnels | Interoghează rapoartele de pâlnie |
Exemple de cod
Inițializare conector Mixpanel
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Mixpanel projectawait 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});Importare evenimente prin API Ingestie
// 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 }Sincronizare cohortă cu Brevo
// Export a Mixpanel cohort and sync to a Brevo listconst 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// }Setare proprietăți profil utilizator
// Set user properties via the Engage APIconst 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: { $first_name: "Jane", $last_name: "Kim", plan: "premium", total_orders: 12, lifetime_value: 1250.00 } }])});Limite de rată
| API | Limită | Detalii |
|---|---|---|
| Ingestion API | 2 GB/min | Per proiect |
| Track API | Fără limită strictă | Livrare best-effort |
| Engage API | 2.000 actualizări/lot | Maxim 2 GB/min per proiect |
| Query API | 60 cereri/oră | Per proiect (Cont de serviciu) |
| Export API | 60 cereri/oră | Maxim 100 zile per interogare |
| JQL API | 60 cereri/oră | Per proiect |
| Export cohorte | 60 cereri/oră | Per proiect |
Deduplicare evenimente
Mixpanel deduplică evenimentele folosind proprietatea $insert_id. Includeți întotdeauna un $insert_id unic pentru a preveni evenimentele duplicate la reîncercarea importurilor eșuate.
Depanare
| Problemă | Cauză | Soluție |
|---|---|---|
| Evenimentele nu apar | Token de proiect greșit | Verificați că tokenul corespunde proiectului țintă |
| Proprietăți profil lipsă | Utilizare API greșit | Utilizați /engage#$set pentru proprietăți profil, nu /track |
| Exportul cohortei eșuează | Permisiuni insuficiente | Asigurați-vă că Contul de serviciu are rolul Admin sau Analyst |
| Evenimente duplicate | $insert_id lipsă | Includeți $insert_id unic pe fiecare eveniment |
| 402 Payment Required | Limite de date depășite | Verificați limitele planului Mixpanel și faceți upgrade dacă este necesar |
| Datele EU nu sunt rutate | Rezidență date greșită | Utilizați api-eu.mixpanel.com pentru proiectele EU |
| Probleme la combinarea identității | distinct_id incorect | Urmați cele mai bune practici de gestionare a identității Mixpanel |
Bune practici
- Utilizați Conturi de serviciu - Preferați Conturile de serviciu față de Secretul de proiect pentru autentificarea pe server
- Includeți
$insert_id- Setați întotdeauna un ID de inserare unic pentru deduplicarea evenimentelor - Grupați actualizările de profil - Trimiteți până la 2.000 actualizări de profil per cerere pentru eficiență
- Utilizați punctele finale EU - Pentru rezidența datelor EU, utilizați
api-eu.mixpanel.compentru toate apelurile API - Sincronizați cohortele conform unui program - Configurați sincronizarea zilnică sau săptămânală a cohortelor în loc de interogare continuă
- Mapați proprietățile rezervate - Utilizați proprietățile rezervate ale Mixpanel (
$email,$first_name) pentru datele profilului - Monitorizați ingestia - Utilizați pagina Events a Mixpanel pentru a verifica că evenimentele sunt primite corect
Securitate
- Numai HTTPS - Toată comunicarea API necesită criptare TLS
- Izolare Cont de serviciu - Acces limitat per proiect cu permisiuni bazate pe roluri
- Deduplicare evenimente - Dedup integrat prin
$insert_idprevine problemele de integritate a datelor - SOC 2 Tip II - Mixpanel este certificat SOC 2 Tip II
- GDPR/CCPA - Suportă ștergerea datelor utilizatorilor prin API-ul GDPR
- Rezidență date EU - Centru de date EU disponibil pentru conformitate europeană