Mixpanel Connector
Poveži Mixpanel z Brevo prek Tajo, da premostiš produktno analitiko z marketinško avtomatizacijo. Sinhronizacija profilov uporabnikov, vedenjskih событij in kohort za ustvarjanje kampanj, ki temeljijo na podatkih, na osnovi dejanske uporabe produkta.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | Mixpanel |
| Kategorija | Analitika (po meri) |
| Zahtevnost nastavitve | Srednja |
| Uradna integracija | Ne |
| Sinhronizirani podatki | Dogodki, profili, kohorte, skupine |
| Razpoložljivi Skills | 7 |
Funkcionalnosti
- Vnos событij – uvozi sledilne wydarzenie prek Ingestion API Mixpanel v delovne tokove Brevo
- Sinhronizacija profilov uporabnikov – preslikaj lastnosti profilov Mixpanel v atribute stikov Brevo
- Izvoz kohort – sinhronizacija kohort Mixpanel na sezname stikov Brevo za ciljane kampanje
- Skupinska analitika – sinhronizacija podatkov na ravni skupin za B2B marketing na osnovi računov
- Upravljanje identitet – izkoristi združevanje identitet Mixpanel za enotne profile strank
- Poizvedbe JQL – izvajaj lastne poizvedbe JQL za ekstrakcijo specifičnih naborov podatkov za Brevo
- Iskalne tabele – sinhronizacija podatkov za obogatitev iz iskalnih tabel Mixpanel
Predpogoji
Preden začneš, se prepričaj, da imaš:
- Račun Mixpanel z ustvarjenim projektom
- Projektni žeton Mixpanel za sledenje na strani odjemalca
- Storitveni račun z ustreznimi dovoljenji za dostop do API na strani strežnika
- Brevo račun z dostopom do API
- Tajo račun s poverilnicami API
Avtentikacija
Storitveni računi (priporočeno)
Mixpanel priporoča uporabo storitvenih računov za avtentikacijo API. Storitveni računi uporabljajo HTTP Basic Auth z uporabniškim imenom (uporabniško ime storitvenega računa) in geslom (skrivnost storitvenega računa).
# Service Account authenticationcurl https://mixpanel.com/api/app/me \ -u "SERVICE_ACCOUNT_USERNAME:SERVICE_ACCOUNT_SECRET"Projektni žeton
Projektni žeton se uporablja za sledenje событij na strani odjemalca in je varno vključiti ga v kodo odjemalca:
// Client-side initializationmixpanel.init("YOUR_PROJECT_TOKEN");OAuth (za partnerske integracije)
Za integracije aplikacij, ki dostopajo do več projektov:
curl https://mixpanel.com/api/2.0/engage \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN"Konfiguracija
Osnovna nastavitev
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: 17Preslikava событij
Preslikaj události Mixpanel v vrste событij 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"Preslikava lastnosti profilov
Preslikaj lastnosti uporabnikov Mixpanel v atribute stikov 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: LTVKončne točke API
| Metoda | Končna točka | Opis |
|---|---|---|
POST | /import | Uvozi événements (Ingestion API) |
POST | /track | Sledi événements (na strani odjemalca) |
POST | /engage#$set | Nastavi lastnosti profila uporabnika |
POST | /engage#$set_once | Nastavi lastnosti samo, če še niso nastavljene |
POST | /engage#$delete | Izbriši profil uporabnika |
POST | /engage#$union | Združi z lastnostmi seznama |
POST | /groups | Nastavi lastnosti skupinskega profila |
GET | /export | Izvozi surove podatke o événements |
POST | /cohorts/list | Seznam shranjenih kohort |
POST | /engage/query | Poizvedba profilov uporabnikov |
POST | /jql | Izvajaj lastne poizvedbe JQL |
GET | /segmentation | Poizvedba poročil o segmentaciji |
GET | /retention | Poizvedba poročil o zadržanju |
GET | /funnels | Poizvedba poročil o lijakih |
Primeri kode
Inicializacija konektorja 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});Uvoz événements prek 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 }Sinhronizacija kohorte z 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// }Nastavljanje lastnosti profila
// 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 } }])});Omejitve hitrosti
| API | Omejitev | Podrobnosti |
|---|---|---|
| Ingestion API | 2 GB/min | Na projekt |
| Track API | Brez trde omejitve | Dostava po najboljših močeh |
| Engage API | 2.000 posodobitev/paket | Največ 2 GB/min na projekt |
| Query API | 60 zahtevkov/uro | Na projekt (storitveni račun) |
| Export API | 60 zahtevkov/uro | Največ 100 dni na poizvedbo |
| JQL API | 60 zahtevkov/uro | Na projekt |
| Izvoz kohort | 60 zahtevkov/uro | Na projekt |
Deduplikacija событij
Mixpanel deduplificira événements z lastnostjo $insert_id. Vedno vključi enolični $insert_id, da preprečiš podvojene événements pri ponovnih poskusih neuspelih uvozov.
Odpravljanje težav
| Težava | Vzrok | Rešitev |
|---|---|---|
| Événements se ne prikažejo | Napačen projektni žeton | Potrdi, da žeton ustreza ciljnemu projektu |
| Manjkajo lastnosti profila | Napačen API | Za lastnosti profila uporabi /engage#$set, ne /track |
| Izvoz kohorte ne uspe | Nezadostna dovoljenja | Zagotovi, da ima storitveni račun vlogo Admin ali Analyst |
| Podvojeni événements | Manjkajoč $insert_id | Vključi enolični $insert_id na vsak événement |
| 402 Payment Required | Prekoračene omejitve podatkov | Preveri omejitve paketa Mixpanel in po potrebi nadgradi |
| Podatki EU se ne usmerjajo | Napačna lokacija podatkov | Za projekte EU uporabi api-eu.mixpanel.com |
| Težave z združevanjem identitet | Napačen distinct_id | Sledi najboljšim praksam upravljanja identitet Mixpanel |
Najboljše prakse
- Uporabi storitvene račune – za avtentikacijo na strani strežnika daj prednost storitvenim računom pred projektno skrivnostjo
- Vključi
$insert_id– vedno nastavi enolični ID vnosa za deduplikacijo événements - Paketne posodobitve profilov – za učinkovitost pošlji do 2.000 posodobitev profilov na zahtevek
- Uporabi končne točke EU – za lokacijo podatkov EU za vse klice API uporabi
api-eu.mixpanel.com - Periodična sinhronizacija kohort – nastavi dnevno ali tedensko sinhronizacijo kohort namesto stalnega anketiranja
- Preslikaj rezervirane lastnosti – za podatke profila uporabi rezervirane lastnosti Mixpanel (
$email,$first_name) - Spremljaj vnos – z vmesnikom Mixpanel Events preveri, ali se événements pravilno prejemajo
Varnost
- Samo HTTPS – vsa komunikacija API zahteva šifriranje TLS
- Izolacija storitvenih računov – dostop z omejenim obsegom na projekt z dovoljenji na osnovi vlog
- Deduplikacija событij – vgrajena deduplikacija prek
$insert_idpreprečuje težave z integriteto podatkov - SOC 2 Type II – Mixpanel je certificiran po SOC 2 Type II
- GDPR/CCPA – podpira brisanje podatkov uporabnikov prek GDPR API
- Lokacija podatkov v EU – podatkovni center EU na voljo za evropsko skladnost