Mixpanel Connector

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

EgenskabVærdi
PlatformMixpanel
KategoriAnalytics (brugerdefineret)
OpsætningskompleksitetMedium
Officiel integrationNej
Synkroniserede dataHændelser, profiler, kohorter, grupper
Tilgængelige skills7

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

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

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

OAuth (til partnerintegrationer)

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

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

Konfiguration

Grundlæggende opsætning

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:

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:

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

MetodeEndpointBeskrivelse
POST/importImportér hændelser (Ingestion API)
POST/trackSpor hændelser (client-side)
POST/engage#$setIndstil brugerprofilegenskaber
POST/engage#$set_onceIndstil egenskaber kun, hvis ikke allerede sat
POST/engage#$deleteSlet en brugerprofil
POST/engage#$unionUnion til listeegenskaber
POST/groupsIndstil gruppeprofilegenskaber
GET/exportEksportér rå hændelsesdata
POST/cohorts/listVis gemte kohorter
POST/engage/queryForespørg brugerprofiler
POST/jqlKør brugerdefinerede JQL-forespørgsler
GET/segmentationForespørg segmenteringsrapporter
GET/retentionForespørg fastholdelsesrapporter
GET/funnelsForespørg tragtrapporter

Kodeeksempler

Initialisér Mixpanel-connector

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

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

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

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

Rate limits

APIGrænseDetaljer
Ingestion API2 GB/min.Pr. projekt
Track APIIngen hård grænseBest-effort-levering
Engage API2.000 opdateringer/batchMaks. 2 GB/min. pr. projekt
Query API60 anmodninger/timePr. projekt (Service Account)
Export API60 anmodninger/timeMaks. 100 dage pr. forespørgsel
JQL API60 anmodninger/timePr. projekt
Kohorteksport60 anmodninger/timePr. 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ÅrsagLøsning
Hændelser vises ikkeForkert projekttokenVerificér, at tokenet matcher målprojektet
Profilegenskaber manglerBruger forkert APIBrug /engage#$set til profilegenskaber, ikke /track
Kohorteksport fejlerUtilstrækkelige tilladelserSørg for, at Service Account har Admin- eller Analyst-rolle
Duplikerede hændelserManglende $insert_idInkludér unikt $insert_id på hver hændelse
402 Payment RequiredOver datagrænserTjek Mixpanel-plangrænser, og opgradér om nødvendigt
EU-data dirigeres ikkeForkert dataresidensBrug api-eu.mixpanel.com til EU-projekter
Problemer med identitetsfletningForkert distinct_idFø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

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.