Mixpanel-connector

Verbind Mixpanel met Brevo via Tajo om product-analytics te koppelen aan marketingautomatisering. Synchroniseer gebruikersprofielen, gedragsevents en cohorten om datagedreven campagnes te maken op basis van werkelijk productgebruik.

Overzicht

EigenschapWaarde
PlatformMixpanel
CategorieAnalytics (Custom)
SetupcomplexiteitGemiddeld
Officiële integratieNee
Gesynchroniseerde dataEvents, Profielen, Cohorten, Groepen
Beschikbare skills7

Functies

  • Event-ingestion - Importeer track-events via Mixpanel’s Ingestion API in Brevo-workflows
  • Gebruikersprofielsynchronisatie - Map Mixpanel-gebruikersprofielproperties naar Brevo-contactattributen
  • Cohort-export - Synchroniseer Mixpanel-cohorten naar Brevo-contactlijsten voor gerichte campagnes
  • Group-analytics - Synchroniseer data op groepsniveau voor B2B account-based marketing
  • Identity management - Maak gebruik van Mixpanel’s identity merge voor uniforme klantprofielen
  • JQL-queries - Voer custom JQL-queries uit om specifieke datasets voor Brevo te extraheren
  • Lookup tables - Synchroniseer verrijkingsdata uit Mixpanel-lookup-tables

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Mixpanel-account met een aangemaakt project
  2. Je Mixpanel Project Token voor client-side tracking
  3. Een Service Account met passende rechten voor server-side API-toegang
  4. Een Brevo-account met API-toegang
  5. Een Tajo-account met API-credentials

Authenticatie

Service Accounts (aanbevolen)

Mixpanel raadt aan om Service Accounts te gebruiken voor API-authenticatie. Service accounts gebruiken HTTP Basic Auth met een username (service account-username) en password (service account-secret).

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

Project Token

Het Project Token wordt gebruikt voor client-side eventtracking en mag in client-code worden opgenomen:

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

OAuth (voor Partner-integraties)

Voor app-integraties die toegang hebben tot meerdere projecten:

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

Configuratie

Basisinstelling

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

Eventmapping

Map Mixpanel-events naar Brevo-eventtypes:

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"

Profielproperty-mapping

Map Mixpanel-gebruikersproperties naar Brevo-contactattributen:

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

MethodEndpointBeschrijving
POST/importEvents importeren (Ingestion API)
POST/trackEvents tracken (client-side)
POST/engage#$setGebruikersprofielproperties instellen
POST/engage#$set_onceProperties alleen instellen als nog niet gezet
POST/engage#$deleteEen gebruikersprofiel verwijderen
POST/engage#$unionUnion toevoegen aan list-properties
POST/groupsGroup-profile-properties instellen
GET/exportRuwe eventdata exporteren
POST/cohorts/listOpgeslagen cohorten opvragen
POST/engage/queryGebruikersprofielen queryen
POST/jqlCustom JQL-queries uitvoeren
GET/segmentationSegmentatierapporten queryen
GET/retentionRetentierapporten queryen
GET/funnelsFunnelrapporten queryen

Codevoorbeelden

Mixpanel-connector initialiseren

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

Events importeren 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 }

Cohort synchroniseren naar 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
// }

Gebruikersprofielproperties instellen

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

APILimietDetails
Ingestion API2 GB/minPer project
Track APIGeen harde limietBest-effort delivery
Engage API2.000 updates/batchMax 2 GB/min per project
Query API60 requests/uurPer project (Service Account)
Export API60 requests/uurMax 100 dagen per query
JQL API60 requests/uurPer project
Cohort Export60 requests/uurPer project

Eventdeduplicatie

Mixpanel deduplicieert events op basis van de $insert_id-property. Voeg altijd een unieke $insert_id toe om dubbele events te voorkomen bij het opnieuw proberen van mislukte imports.

Probleemoplossing

ProbleemOorzaakOplossing
Events verschijnen nietVerkeerd project tokenControleer of het token overeenkomt met het doelproject
Profielproperties ontbrekenVerkeerde API gebruiktGebruik /engage#$set voor profielproperties, niet /track
Cohort-export misluktOnvoldoende rechtenZorg dat het Service Account de rol Admin of Analyst heeft
Dubbele eventsOntbrekende $insert_idVoeg een unieke $insert_id toe aan elke event
402 Payment RequiredDatalimiet overschredenControleer Mixpanel-planlimieten en upgrade indien nodig
EU-data niet gerouteerdVerkeerde data residencyGebruik api-eu.mixpanel.com voor EU-projecten
Identity merge-problemenOnjuiste distinct_idVolg Mixpanel’s best practices voor identity management

Best practices

  1. Gebruik Service Accounts - Geef voorkeur aan Service Accounts boven Project Secret voor server-side authenticatie
  2. Voeg $insert_id toe - Stel altijd een unieke insert ID in voor eventdeduplicatie
  3. Batch profielupdates - Stuur tot 2.000 profielupdates per request voor efficiëntie
  4. Gebruik EU-endpoints - Gebruik voor EU-data residency api-eu.mixpanel.com voor alle API-calls
  5. Synchroniseer cohorten op schema - Stel dagelijkse of wekelijkse cohort-sync in in plaats van continu pollen
  6. Map gereserveerde properties - Gebruik Mixpanel’s gereserveerde properties ($email, $first_name) voor profieldata
  7. Monitor ingestion - Gebruik Mixpanel’s Events-pagina om te verifiëren dat events correct worden ontvangen

Beveiliging

  • Alleen HTTPS - Alle API-communicatie vereist TLS-encryptie
  • Service Account-isolatie - Gescoopte toegang per project met rolgebaseerde rechten
  • Eventdeduplicatie - Ingebouwde dedup via $insert_id voorkomt data-integriteitsproblemen
  • SOC 2 Type II - Mixpanel is SOC 2 Type II-gecertificeerd
  • GDPR/CCPA - Ondersteunt verwijdering van gebruikersdata via de GDPR API
  • EU data residency - EU-datacenter beschikbaar voor Europese compliance

Gerelateerde bronnen

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hallo! Stel me vragen over de documentatie.