Mixpanel konektor
Prepoj Mixpanel s Brevo cez Tajo a premosti produktovú analytiku s marketingovou automatizáciou. Synchronizuj profily používateľov, behaviorálne udalosti a kohorty na vytváranie kampaní riadených dátami na základe skutočného používania produktu.
Prehľad
| Vlastnosť | Hodnota |
|---|---|
| Platforma | Mixpanel |
| Kategória | Analytika (Vlastná) |
| Zložitosť nastavenia | Stredná |
| Oficiálna integrácia | Nie |
| Synchronizované dáta | Udalosti, Profily, Kohorty, Skupiny |
| Dostupné skilly | 7 |
Funkcie
- Ingestion udalostí - Importuj track udalosti cez Ingestion API Mixpanel do workflowov Brevo
- Synchronizácia profilov používateľov - Namapuj vlastnosti profilov používateľov Mixpanel na atribúty kontaktov v Brevo
- Export kohort - Synchronizuj kohorty Mixpanel do zoznamov kontaktov Brevo pre cielené kampane
- Skupinová analytika - Synchronizuj dáta na úrovni skupín pre B2B account-based marketing
- Správa identity - Využi zlučovanie identity Mixpanel pre zjednotené profily zákazníkov
- JQL dopyty - Spúšťaj vlastné JQL dopyty na extrakciu konkrétnych datasetov pre Brevo
- Vyhľadávacie tabuľky - Synchronizuj obohacujúce dáta z vyhľadávacích tabuliek Mixpanel
Predpoklady
Predtým, než začneš, uisti sa, že máš:
- Mixpanel účet s vytvoreným projektom
- Mixpanel Project Token pre sledovanie na strane klienta
- Service Account s príslušnými oprávneniami pre serverový API prístup
- Brevo účet s API prístupom
- Tajo účet s API prihlasovacími údajmi
Autentifikácia
Service Accounts (odporúčané)
Mixpanel odporúča používanie Service Accounts na autentifikáciu API. Service accounts používajú HTTP Basic Auth s používateľským menom (username service accountu) a heslom (secret service accountu).
# Service Account authenticationcurl https://mixpanel.com/api/app/me \ -u "SERVICE_ACCOUNT_USERNAME:SERVICE_ACCOUNT_SECRET"Project Token
Project Token sa používa pre sledovanie udalostí na strane klienta a je bezpečné ho zahrnúť do klientského kódu:
// Client-side initializationmixpanel.init("YOUR_PROJECT_TOKEN");OAuth (pre partnerské integrácie)
Pre integrácie aplikácií, ktoré pristupujú k viacerým projektom:
curl https://mixpanel.com/api/2.0/engage \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN"Konfigurácia
Základné nastavenie
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: 17Mapovanie udalostí
Namapuj udalosti Mixpanel na typy udalostí 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"Mapovanie vlastností profilov
Namapuj vlastnosti používateľov Mixpanel na atribúty kontaktov v 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: LTVAPI endpointy
| Metóda | Endpoint | Popis |
|---|---|---|
POST | /import | Import udalostí (Ingestion API) |
POST | /track | Sledovanie udalostí (strana klienta) |
POST | /engage#$set | Nastavenie vlastností profilu používateľa |
POST | /engage#$set_once | Nastavenie vlastností iba ak ešte nie sú nastavené |
POST | /engage#$delete | Odstránenie profilu používateľa |
POST | /engage#$union | Union na vlastnosti zoznamu |
POST | /groups | Nastavenie vlastností skupinového profilu |
GET | /export | Export raw dát udalostí |
POST | /cohorts/list | Zoznam uložených kohort |
POST | /engage/query | Dopyt na profily používateľov |
POST | /jql | Spustenie vlastných JQL dopytov |
GET | /segmentation | Dopyt na segmentačné reporty |
GET | /retention | Dopyt na retenčné reporty |
GET | /funnels | Dopyt na funnel reporty |
Ukážky kódu
Inicializácia konektora 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});Import udalostí cez 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 }Synchronizácia kohorty do 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// }Nastavenie vlastností profilu používateľa
// 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 } }])});Obmedzenia rýchlosti
| API | Limit | Podrobnosti |
|---|---|---|
| Ingestion API | 2 GB/min | Na projekt |
| Track API | Bez pevného limitu | Doručenie best-effort |
| Engage API | 2 000 aktualizácií/dávka | Max 2 GB/min na projekt |
| Query API | 60 požiadaviek/hodinu | Na projekt (Service Account) |
| Export API | 60 požiadaviek/hodinu | Max 100 dní na dopyt |
| JQL API | 60 požiadaviek/hodinu | Na projekt |
| Export kohorty | 60 požiadaviek/hodinu | Na projekt |
Deduplikácia udalostí
Mixpanel deduplikuje udalosti pomocou vlastnosti $insert_id. Vždy zahrň unikátny $insert_id na predchádzanie duplicitným udalostiam pri opakovaných importoch po zlyhaní.
Riešenie problémov
| Problém | Príčina | Riešenie |
|---|---|---|
| Udalosti sa neobjavujú | Nesprávny project token | Overte, že token zodpovedá cieľovému projektu |
| Chýbajúce vlastnosti profilov | Použitie nesprávneho API | Použi /engage#$set pre vlastnosti profilov, nie /track |
| Export kohorty zlyháva | Nedostatočné oprávnenia | Uisti sa, že Service Account má rolu Admin alebo Analyst |
| Duplicitné udalosti | Chýbajúci $insert_id | Zahrň unikátny $insert_id do každej udalosti |
| 402 Payment Required | Prekročenie dátových limitov | Skontroluj limity plánu Mixpanel a v prípade potreby upgraduj |
| EU dáta sa nesmrúvajú | Nesprávna rezidencia dát | Použi api-eu.mixpanel.com pre projekty v EÚ |
| Problémy so zlučovaním identity | Nesprávny distinct_id | Dodržiavaj osvedčené postupy správy identity Mixpanel |
Odporúčané postupy
- Použi Service Accounts - Preferuj Service Accounts pred Project Secret pre serverovú autentifikáciu
- Zahrň
$insert_id- Vždy nastav unikátne insert ID pre deduplikáciu udalostí - Dávkuj aktualizácie profilov - Posielajaj až 2 000 aktualizácií profilov na požiadavku pre efektivitu
- Použi EU endpointy - Pre rezidencii dát v EÚ použi
api-eu.mixpanel.compre všetky API volania - Synchronizuj kohorty v pravidelných intervaloch - Nastav dennú alebo týždennú synchronizáciu kohort namiesto nepretržitého pollingu
- Namapuj rezervované vlastnosti - Použi rezervované vlastnosti Mixpanel (
$email,$first_name) pre profilové dáta - Sleduj ingestion - Použi stránku Events v Mixpanel na overenie, že udalosti sú správne prijímané
Bezpečnosť
- Iba HTTPS - Všetka API komunikácia vyžaduje TLS šifrovanie
- Izolácia Service Account - Scoped prístup na projekt s oprávneniami podľa rolí
- Deduplikácia udalostí - Vstavaná deduplikácia cez
$insert_idzabraňuje problémom s integritu dát - SOC 2 Type II - Mixpanel je certifikovaný podľa SOC 2 Type II
- GDPR/CCPA - Podporuje mazanie dát používateľov cez GDPR API
- Rezidencia dát v EÚ - Dátové centrum v EÚ dostupné pre európsky súlad