Mixpanel-kobling
Koble Mixpanel til Brevo gjennom Tajo for å bygge bro mellom produktanalyse og markedsføringsautomatisering. Synkroniser brukerprofiler, atferdshendelser og kohorter for å lage datadrevne kampanjer basert på reell produktbruk.
Oversikt
| Egenskap | Verdi |
|---|---|
| Plattform | Mixpanel |
| Kategori | Analyse (Custom) |
| Oppsettskompleksitet | Moderat |
| Offisiell integrasjon | Nei |
| Synkroniserte data | Hendelser, profiler, kohorter, grupper |
| Tilgjengelige ferdigheter | 7 |
Funksjoner
- Hendelsesinntak - Importer track-hendelser via Mixpanels Ingestion API til Brevo-arbeidsflyter
- Synkronisering av brukerprofiler - Mapp Mixpanel-brukerprofilegenskaper til Brevo-kontaktattributter
- Eksport av kohorter - Synkroniser Mixpanel-kohorter til Brevo-kontaktlister for målrettede kampanjer
- Gruppeanalyse - Synkroniser data på gruppenivå for B2B-kontobasert markedsføring
- Identitetshåndtering - Utnytt Mixpanels identitetssammenslåing for enhetlige kundeprofiler
- JQL-spørringer - Kjør tilpassede JQL-spørringer for å trekke ut spesifikke datasett til Brevo
- Oppslagstabeller - Synkroniser berikelsesdata fra Mixpanel-oppslagstabeller
Forutsetninger
Før du begynner, sørg for at du har:
- En Mixpanel-konto med et opprettet prosjekt
- Ditt Mixpanel Project Token for sporing på klientsiden
- En tjenestekonto med passende rettigheter for API-tilgang på tjenersiden
- En Brevo-konto med API-tilgang
- En Tajo-konto med API-påloggingsdetaljer
Autentisering
Tjenestekontoer (anbefalt)
Mixpanel anbefaler å bruke tjenestekontoer for API-autentisering. Tjenestekontoer bruker HTTP Basic Auth med brukernavn (tjenestekontoens brukernavn) og passord (tjenestekontoens hemmelighet).
# Autentisering med tjenestekontocurl https://mixpanel.com/api/app/me \ -u "SERVICE_ACCOUNT_USERNAME:SERVICE_ACCOUNT_SECRET"Project Token
Project Token brukes for sporing av hendelser på klientsiden og er trygt å inkludere i klientkode:
// Initialisering på klientsidenmixpanel.init("YOUR_PROJECT_TOKEN");OAuth (for partnerintegrasjoner)
For app-integrasjoner som får tilgang til flere prosjekter:
curl https://mixpanel.com/api/2.0/engage \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN"Konfigurasjon
Grunnleggende oppsett
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" # eller "EU"
# Synkroniseringsalternativer sync: events: true profiles: true cohorts: true groups: false
# Tildeling av Brevo-lister lists: all_users: 15 engaged_users: 16 at_risk: 17Hendelsesmapping
Mapp Mixpanel-hendelser til Brevo-hendelsestyper:
event_mapping: # Mixpanel-hendelse -> Brevo-hendelse "Purchase": "order_completed" "Sign Up": "customer_created" "Add to Cart": "cart_updated" "Page View": "page_viewed" "$experiment_started": "experiment_started"
# Egendefinerte hendelser "Feature Activated": "feature_used" "Subscription Renewed": "subscription_renewed"Mapping av profilegenskaper
Mapp Mixpanel-brukeregenskaper til Brevo-kontaktattributter:
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: LTVAPI-endepunkter
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
POST | /import | Importer hendelser (Ingestion API) |
POST | /track | Spor hendelser (klientside) |
POST | /engage#$set | Sett brukerprofilegenskaper |
POST | /engage#$set_once | Sett egenskaper kun hvis ikke allerede satt |
POST | /engage#$delete | Slett en brukerprofil |
POST | /engage#$union | Union til listeegenskaper |
POST | /groups | Sett gruppeprofilegenskaper |
GET | /export | Eksporter rå hendelsesdata |
POST | /cohorts/list | List lagrede kohorter |
POST | /engage/query | Spør om brukerprofiler |
POST | /jql | Kjør tilpassede JQL-spørringer |
GET | /segmentation | Spør om segmenteringsrapporter |
GET | /retention | Spør om retensjonsrapporter |
GET | /funnels | Spør om trakt-rapporter |
Kodeeksempler
Initialiser Mixpanel-kobling
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Koble til Mixpanel-prosjektawait 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});Importer hendelser via Ingestion API
// Importer hendelser til Mixpanel (videresendes automatisk til 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" } } ])});
// Forventet respons: { "code": 200, "status": "OK", "num_records_imported": 1 }Synkroniser kohort til Brevo
// Eksporter en Mixpanel-kohort og synkroniser til en Brevo-listeconst 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// }Sett brukerprofilegenskaper
// Sett brukeregenskaper via 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 } }])});Ratebegrensninger
| API | Grense | Detaljer |
|---|---|---|
| Ingestion API | 2 GB/min | Per prosjekt |
| Track API | Ingen hard grense | Best-effort-leveranse |
| Engage API | 2 000 oppdateringer/batch | Maks 2 GB/min per prosjekt |
| Query API | 60 forespørsler/time | Per prosjekt (tjenestekonto) |
| Export API | 60 forespørsler/time | Maks 100 dager per spørring |
| JQL API | 60 forespørsler/time | Per prosjekt |
| Cohort Export | 60 forespørsler/time | Per prosjekt |
Deduplisering av hendelser
Mixpanel dedupliserer hendelser ved hjelp av $insert_id-egenskapen. Inkluder alltid en unik $insert_id for å forhindre duplikathendelser ved nye forsøk etter mislykkede imports.
Feilsøking
| Problem | Årsak | Løsning |
|---|---|---|
| Hendelser vises ikke | Feil Project Token | Verifiser at tokenet samsvarer med målprosjektet |
| Manglende profilegenskaper | Bruker feil API | Bruk /engage#$set for profilegenskaper, ikke /track |
| Kohorteksport mislykkes | Utilstrekkelige rettigheter | Sørg for at tjenestekontoen har rollen Admin eller Analyst |
| Duplikathendelser | Manglende $insert_id | Inkluder unik $insert_id på hver hendelse |
| 402 Payment Required | Over datagrensene | Sjekk Mixpanel-plangrensene og oppgrader ved behov |
| EU-data rutes ikke | Feil databotilhold | Bruk api-eu.mixpanel.com for EU-prosjekter |
| Problemer med identitetssammenslåing | Feil distinct_id | Følg Mixpanels beste praksis for identitetshåndtering |
Beste praksis
- Bruk tjenestekontoer - Foretrekk tjenestekontoer fremfor Project Secret for autentisering på tjenersiden
- Inkluder
$insert_id- Sett alltid en unik insert ID for deduplisering av hendelser - Batch profiloppdateringer - Send opptil 2 000 profiloppdateringer per forespørsel for effektivitet
- Bruk EU-endepunkter - For EU-databotilhold, bruk
api-eu.mixpanel.comfor alle API-kall - Synkroniser kohorter etter plan - Sett opp daglig eller ukentlig kohortsynkronisering i stedet for kontinuerlig polling
- Mapp reserverte egenskaper - Bruk Mixpanels reserverte egenskaper (
$email,$first_name) for profildata - Overvåk hendelsesinntak - Bruk Mixpanels Events-side for å verifisere at hendelser mottas korrekt
Sikkerhet
- Kun HTTPS - All API-kommunikasjon krever TLS-kryptering
- Isolering av tjenestekontoer - Avgrenset tilgang per prosjekt med rollebaserte rettigheter
- Deduplisering av hendelser - Innebygd dedup via
$insert_idforhindrer dataintegritetsproblemer - SOC 2 Type II - Mixpanel er SOC 2 Type II-sertifisert
- GDPR/CCPA - Støtter sletting av brukerdata via GDPR API
- EU-databotilhold - EU-datasenter tilgjengelig for europeisk samsvar