Mixpanel-koppling

Anslut Mixpanel till Brevo via Tajo för att överbrygga produktanalys med marknadsautomation. Synka användarprofiler, beteendehändelser och kohorter för att skapa datadrivna kampanjer baserade på faktisk produktanvändning.

Översikt

EgenskapVärde
PlattformMixpanel
KategoriAnalys (Anpassad)
InstallationskomplexitetMedel
Officiell integrationNej
Data som synkasHändelser, profiler, kohorter, grupper
Tillgängliga skills7

Funktioner

  • Händelseinsamling - Importera spårade händelser via Mixpanels Ingestion API till Brevo-arbetsflöden
  • Synkronisering av användarprofiler - Mappa Mixpanels användarprofilegenskaper till Brevo-kontaktattribut
  • Kohortexport - Synka Mixpanel-kohorter till Brevo-kontaktlistor för riktade kampanjer
  • Gruppanalys - Synka data på gruppnivå för B2B-kontobaserad marknadsföring
  • Identitetshantering - Utnyttja Mixpanels identitetssammanslagning för enhetliga kundprofiler
  • JQL-frågor - Kör anpassade JQL-frågor för att extrahera specifika datamängder till Brevo
  • Uppslagstabeller - Synka berikningsdata från Mixpanels uppslagstabeller

Förutsättningar

Innan du börjar, se till att du har:

  1. Ett Mixpanel-konto med ett skapat projekt
  2. Din Mixpanel Project Token för spårning på klientsidan
  3. Ett Service Account med lämpliga behörigheter för API-åtkomst på serversidan
  4. Ett Brevo-konto med API-åtkomst
  5. Ett Tajo-konto med API-uppgifter

Autentisering

Service Accounts (rekommenderas)

Mixpanel rekommenderar att du använder Service Accounts för API-autentisering. Service accounts använder HTTP Basic Auth med användarnamn (service account-användarnamn) och lösenord (service account-hemlighet).

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

Project Token

Project Token används för händelsespårning på klientsidan och är säker att inkludera i klientkod:

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

OAuth (för partnerintegrationer)

För app-integrationer som har åtkomst till flera projekt:

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

Konfiguration

Grundinställning

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ändelsemappning

Mappa Mixpanel-händelser till Brevo-händelsetyper:

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"

Mappning av profilegenskaper

Mappa Mixpanels användaregenskaper till Brevo-kontaktattribut:

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

MetodEndpointBeskrivning
POST/importImportera händelser (Ingestion API)
POST/trackSpåra händelser (klientsida)
POST/engage#$setSätt egenskaper för användarprofil
POST/engage#$set_onceSätt egenskaper endast om de inte redan är satta
POST/engage#$deleteRadera en användarprofil
POST/engage#$unionLägg till värden i listegenskaper
POST/groupsSätt egenskaper för gruppprofil
GET/exportExportera rådata för händelser
POST/cohorts/listLista sparade kohorter
POST/engage/queryFråga efter användarprofiler
POST/jqlKör anpassade JQL-frågor
GET/segmentationFråga segmenteringsrapporter
GET/retentionFråga retentionsrapporter
GET/funnelsFråga trattrapporter

Kodexempel

Initiera Mixpanel-koppling

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

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

Synka kohort till 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
// }

Sätt egenskaper för användarprofil

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

Hastighetsbegränsningar

APIGränsDetaljer
Ingestion API2 GB/minPer projekt
Track APIIngen hård gränsBest-effort-leverans
Engage API2 000 uppdateringar/batchMax 2 GB/min per projekt
Query API60 förfrågningar/timmePer projekt (Service Account)
Export API60 förfrågningar/timmeMax 100 dagar per fråga
JQL API60 förfrågningar/timmePer projekt
Cohort Export60 förfrågningar/timmePer projekt

Händelsededuplicering

Mixpanel deduplicerar händelser med hjälp av egenskapen $insert_id. Inkludera alltid ett unikt $insert_id för att förhindra dubbla händelser vid återförsök av misslyckade importer.

Felsökning

ProblemOrsakLösning
Händelser visas inteFel projekttokenVerifiera att token matchar målprojektet
Profilegenskaper saknasAnvänder fel APIAnvänd /engage#$set för profilegenskaper, inte /track
Kohortexport misslyckasOtillräckliga behörigheterSäkerställ att Service Account har Admin- eller Analyst-roll
Dubbla händelserSaknat $insert_idInkludera unikt $insert_id på varje händelse
402 Payment RequiredÖver datagränserKontrollera Mixpanel-planens gränser och uppgradera vid behov
EU-data dirigeras inteFel dataresidensAnvänd api-eu.mixpanel.com för EU-projekt
Problem med identitetssammanslagningFelaktigt distinct_idFölj Mixpanels bästa praxis för identitetshantering

Bästa praxis

  1. Använd Service Accounts - Föredra Service Accounts framför Project Secret för autentisering på serversidan
  2. Inkludera $insert_id - Sätt alltid ett unikt insert ID för händelsededuplicering
  3. Batcha profiluppdateringar - Skicka upp till 2 000 profiluppdateringar per förfrågan för effektivitet
  4. Använd EU-endpoints - För EU-dataresidens, använd api-eu.mixpanel.com för alla API-anrop
  5. Synka kohorter enligt schema - Sätt upp daglig eller veckovis kohortsynk istället för kontinuerlig polling
  6. Mappa reserverade egenskaper - Använd Mixpanels reserverade egenskaper ($email, $first_name) för profildata
  7. Övervaka insamling - Använd Mixpanels Events-sida för att verifiera att händelser tas emot korrekt

Säkerhet

  • Endast HTTPS - All API-kommunikation kräver TLS-kryptering
  • Service Account-isolering - Scoped åtkomst per projekt med rollbaserade behörigheter
  • Händelsededuplicering - Inbyggd dedup via $insert_id förhindrar problem med dataintegritet
  • SOC 2 Type II - Mixpanel är SOC 2 Type II-certifierad
  • GDPR/CCPA - Stöder radering av användardata via GDPR-API:et
  • EU-dataresidens - EU-datacenter tillgängligt för europeisk efterlevnad

Relaterade resurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Fråga mig om dokumentationen.