Конектор Mixpanel

Свържете Mixpanel с Brevo чрез Tajo, за да обедините продуктовата аналитика с маркетинговата автоматизация. Синхронизирайте потребителски профили, поведенчески събития и кохорти, за да създавате data-driven кампании, базирани на реално използване на продукта.

Преглед

СвойствоСтойност
ПлатформаMixpanel
КатегорияAnalytics (Персонализирана)
Сложност на настройкаСредна
Официална интеграцияНе
Синхронизирани данниСъбития, профили, кохорти, групи
Налични умения7

Функции

  • Ingestion на събития – Импортирайте track събития чрез Mixpanel Ingestion API в работните потоци на Brevo
  • Синхронизация на потребителски профили – Мапвайте свойства на потребителски профили от Mixpanel към атрибути на контактите в Brevo
  • Експорт на кохорти – Синхронизирайте кохортите от Mixpanel към списъци с контакти в Brevo за насочени кампании
  • Групова аналитика – Синхронизирайте данни на ниво група за B2B account-based маркетинг
  • Управление на идентичности – Използвайте identity merge на Mixpanel за унифицирани клиентски профили
  • JQL заявки – Изпълнявайте персонализирани JQL заявки за извличане на конкретни набори от данни за Brevo
  • Lookup таблици – Синхронизирайте данни за обогатяване от lookup таблиците на Mixpanel

Предварителни условия

Преди да започнете, уверете се, че имате:

  1. Акаунт в Mixpanel със създаден проект
  2. Вашия Mixpanel Project Token за client-side проследяване
  3. Service Account с подходящи разрешения за server-side API достъп
  4. Акаунт в Brevo с API достъп
  5. Акаунт в Tajo с API идентификационни данни

Автентикация

Service Accounts (препоръчително)

Mixpanel препоръчва използването на Service Accounts за API автентикация. Service accounts използват HTTP Basic Auth с потребителско име (username на service account) и парола (secret на service account).

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

Project Token

Project Token се използва за client-side проследяване на събития и е безопасно да се включва в клиентски код:

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

OAuth (за партньорски интеграции)

За интеграции на приложения, които достъпват множество проекти:

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

Конфигурация

Основна настройка

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

Мапване на събития

Мапвайте събития от Mixpanel към типове събития в 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"

Мапване на свойства на профила

Мапвайте потребителските свойства от Mixpanel към атрибутите на контактите в 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: LTV

API крайни точки

MethodEndpointОписание
POST/importИмпортиране на събития (Ingestion API)
POST/trackПроследяване на събития (client-side)
POST/engage#$setЗадаване на свойства на потребителския профил
POST/engage#$set_onceЗадаване на свойства само ако вече не са зададени
POST/engage#$deleteИзтриване на потребителски профил
POST/engage#$unionUnion към list свойства
POST/groupsЗадаване на свойства на груповия профил
GET/exportЕкспорт на сурови данни от събития
POST/cohorts/listСписък на запазените кохорти
POST/engage/queryЗаявка за потребителски профили
POST/jqlИзпълнение на персонализирани JQL заявки
GET/segmentationЗаявка за отчети за сегментация
GET/retentionЗаявка за отчети за задържане
GET/funnelsЗаявка за отчети за фунии

Примери за код

Инициализация на конектора Mixpanel

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

Импортиране на събития чрез 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 }

Синхронизация на кохорта към 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
// }

Задаване на свойства на потребителския профил

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

Лимити на заявки

APIЛимитДетайли
Ingestion API2 GB/минЗа проект
Track APIБез твърд лимитBest-effort доставка
Engage API2000 обновявания/batchМаксимум 2 GB/мин за проект
Query API60 заявки/часЗа проект (Service Account)
Export API60 заявки/часМаксимум 100 дни за заявка
JQL API60 заявки/часЗа проект
Cohort Export60 заявки/часЗа проект

Дедупликация на събития

Mixpanel дедуплицира събития чрез свойството $insert_id. Винаги включвайте уникален $insert_id, за да предотвратите дублирани събития при повторни опити за неуспешни импорти.

Отстраняване на проблеми

ПроблемПричинаРешение
Събитията не се появяватГрешен project tokenПроверете дали токенът съответства на целевия проект
Свойствата на профила липсватИзползване на грешно APIИзползвайте /engage#$set за свойства на профила, не /track
Експортът на кохорта се проваляНедостатъчни разрешенияУверете се, че Service Account има роля Admin или Analyst
Дублирани събитияЛипсващ $insert_idВключвайте уникален $insert_id за всяко събитие
402 Payment RequiredНад лимитите на даннитеПроверете лимитите на Mixpanel плана и надградете при нужда
ЕС данните не се маршрутизиратГрешна резидентност на данниИзползвайте api-eu.mixpanel.com за ЕС проекти
Проблеми с identity mergeНеправилен distinct_idСледвайте най-добрите практики на Mixpanel за управление на идентичности

Най-добри практики

  1. Използвайте Service Accounts – Предпочитайте Service Accounts пред Project Secret за server-side автентикация
  2. Включвайте $insert_id – Винаги задавайте уникален insert ID за дедупликация на събития
  3. Групирайте обновяванията на профили – Изпращайте до 2000 обновявания на профили на заявка за ефективност
  4. Използвайте ЕС крайни точки – За ЕС резидентност на данни използвайте api-eu.mixpanel.com за всички API повиквания
  5. Синхронизирайте кохортите по график – Настройте ежедневна или седмична синхронизация на кохорти, вместо непрекъснато допитване
  6. Мапвайте резервираните свойства – Използвайте резервираните свойства на Mixpanel ($email, $first_name) за данни на профила
  7. Наблюдавайте ingestion – Използвайте страницата Events на Mixpanel, за да проверите, че събитията се получават правилно

Сигурност

  • Само HTTPS – Цялата API комуникация изисква TLS криптиране
  • Изолация на Service Account – Обхватен достъп за всеки проект с разрешения на базата на роли
  • Дедупликация на събития – Вградена дедупликация чрез $insert_id предотвратява проблеми с целостта на данните
  • SOC 2 Type II – Mixpanel е сертифициран по SOC 2 Type II
  • GDPR/CCPA – Поддържа изтриване на потребителски данни чрез GDPR API
  • ЕС резидентност на данни – Наличен ЕС център за данни за европейско съответствие

Свързани ресурси

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здравейте! Попитайте ме за документацията.