Коннектор Amplitude

Подключите Amplitude к Brevo через Tajo, чтобы использовать данные продуктовой аналитики для маркетинговой автоматизации. Синхронизируйте поведенческие когорты, свойства пользователей и продуктовые события для запуска таргетированных кампаний.

Обзор

СвойствоЗначение
ПлатформаAmplitude
КатегорияАналитика (Custom)
Сложность настройкиСредняя
Официальная интеграцияНет
Синхронизируемые данныеСобытия, пользователи, когорты, свойства
Доступные навыки6

Возможности

  • Пересылка событий, отправляйте track-события Amplitude в Brevo как триггеры маркетинговой автоматизации
  • Синхронизация когорт, экспортируйте поведенческие когорты Amplitude как списки контактов Brevo
  • Синхронизация свойств пользователей, сопоставляйте свойства пользователей Amplitude с атрибутами контакта Brevo
  • Отслеживание выручки, синхронизируйте события выручки для анализа lifetime value клиента
  • Поведенческая сегментация, используйте данные вовлечённости Amplitude в сегментах Brevo
  • Интеграция с HTTP V2 API, прямая интеграция с API приёма данных Amplitude HTTP V2

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

  1. Аккаунт Amplitude с созданным проектом
  2. API Key и Secret Key Amplitude
  3. Аккаунт Brevo с доступом к API
  4. Аккаунт Tajo с учётными данными API

Аутентификация

API-ключи Amplitude

Amplitude использует пары API Key и Secret Key для аутентификации. API Key идентифицирует ваш проект, а Secret Key аутентифицирует серверные запросы.

Terminal window
# Find your keys in Amplitude:
# Settings > Projects > [Your Project] > General

Аутентификация HTTP V2 API

HTTP V2 API использует API-ключ в теле запроса:

Terminal window
curl -X POST https://api2.amplitude.com/2/httpapi \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_AMPLITUDE_API_KEY",
"events": [...]
}'

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

Базовая настройка

connectors:
amplitude:
enabled: true
api_key: "your-amplitude-api-key"
secret_key: "your-amplitude-secret-key"
data_center: "US" # or "EU"
# Data sync options
sync:
events: true
user_properties: true
cohorts: true
revenue: true
# Brevo list assignment
lists:
active_users: 10
power_users: 11
churning_users: 12

Сопоставление событий

Сопоставьте события Amplitude с триггерами автоматизации Brevo:

event_mapping:
# Amplitude event -> Brevo event
"Purchase": "order_completed"
"Sign Up": "customer_created"
"Add to Cart": "cart_updated"
"Page View": "page_viewed"
"Feature Click": "feature_used"
# Revenue events
"Revenue": "revenue_event"
"Subscription Started": "subscription_created"

Сопоставление свойств пользователя

Сопоставьте свойства пользователя Amplitude с атрибутами контакта Brevo:

property_mapping:
# Amplitude property -> Brevo attribute
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
plan_type: PLAN
signup_date: SIGNUP_DATE
total_purchases: ORDER_COUNT
lifetime_revenue: LTV
last_active: LAST_ACTIVE
device_type: DEVICE

Эндпоинты API

МетодЭндпоинтОписание
POST/2/httpapiЗагрузка событий (HTTP V2 API)
POST/batchМассовая загрузка событий (Batch API)
POST/identifyУстановить свойства пользователя
POST/groupidentifyУстановить свойства группы
GET/2/exportЭкспорт сырых данных событий
GET/2/usersearchПоиск пользователей
GET/2/useractivityПолучить таймлайн активности пользователя
POST/api/3/cohort/exportЭкспорт участников когорты
GET/api/3/chart/{chart_id}/queryЗапрос данных сохранённого графика

Примеры кода

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

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Amplitude project
await tajo.connectors.connect('amplitude', {
apiKey: process.env.AMPLITUDE_API_KEY,
secretKey: process.env.AMPLITUDE_SECRET_KEY,
dataCenter: 'US'
});

Отправка событий через HTTP V2 API

// Send events to Amplitude (automatically forwarded to Brevo)
const response = await fetch('https://api2.amplitude.com/2/httpapi', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
api_key: process.env.AMPLITUDE_API_KEY,
events: [
{
user_id: "user_123",
event_type: "Purchase",
event_properties: {
revenue: 89.99,
product_id: "SKU-001",
product_name: "Widget Pro"
},
user_properties: {
$set: {
plan_type: "premium"
}
},
time: Date.now()
}
]
})
});
// Expected response: { "code": 200, "events_ingested": 1 }

Синхронизация когорты со списком Brevo

// Export an Amplitude cohort and sync to Brevo
const cohort = await tajo.connectors.syncCohort('amplitude', {
cohortId: 'abc123',
targetList: 11, // Brevo list ID
syncMode: 'mirror' // mirror, append, or remove
});
console.log(cohort);
// {
// cohortName: "Power Users",
// membersCount: 2450,
// syncedToBrevo: 2450,
// listId: 11
// }

Ограничения скорости

APIЛимитДетали
HTTP V2 API1 000 событий/секНа проект, burst до 2 000/сек
Batch API1 000 событий/пакетМаксимум 20 пакетов/сек
Identify API1 000 запросов/секНа проект
Export API360 запросов/часНа проект
Экспорт когорт1 параллельный экспортНа когорту
Dashboard REST API360 запросов/часНа проект

Ограничения размера событий

Каждый payload события не может превышать 1 MB. HTTP V2 API принимает до 2 000 событий на запрос с максимальным размером тела 20 MB.

Устранение неполадок

ПроблемаПричинаРешение
События возвращают статус invalidОтсутствуют обязательные поляУбедитесь, что user_id или device_id установлены для каждого события
Свойства пользователя не синхронизируютсяНеверный оператор свойстваИспользуйте $set для установки, $setOnce для значений first-touch
Экспорт когорты пустойКогорта всё ещё вычисляетсяДождитесь завершения вычисления когорты перед экспортом
429 Too Many RequestsПревышен лимит запросовРеализуйте экспоненциальную задержку и используйте batch API
Выручка не отслеживаетсяОтсутствуют поля выручкиВключите price, quantity и revenue в свойства события
Данные EU не маршрутизируютсяНеверный дата-центрУстановите data_center: "EU" и используйте api.eu.amplitude.com

Лучшие практики

  1. Используйте HTTP V2 API, предпочитайте V2 API устаревшему HTTP API для лучшей валидации и ответов об ошибках
  2. Пакетируйте события, отправляйте события пакетами до 1 000 для оптимальной пропускной способности
  3. Устанавливайте свойства пользователя в событиях, включайте user_properties в track-события, чтобы уменьшить количество identify-вызовов
  4. Используйте когорты для сегментации, синхронизируйте поведенческие когорты вместо репликации сложной логики сегментации
  5. Правильно отслеживайте события выручки, используйте поля revenue, price и productId для точного отслеживания выручки
  6. Отслеживайте состояние приёма данных, проверяйте Amplitude Ingestion Debugger на ошибки валидации событий
  7. Внедряйте серверный трекинг, используйте серверные SDK для надёжной доставки событий

Безопасность

  • Только HTTPS, все API-коммуникации требуют TLS 1.2+
  • Ротация API-ключей, периодически ротируйте Secret Key через настройки Amplitude
  • IP allowlisting, доступно на тарифах Enterprise
  • SOC 2 Type II, Amplitude сертифицирован по SOC 2 Type II
  • GDPR/CCPA, поддержка запросов на удаление и экспорт данных пользователя
  • Резидентность данных ЕС, доступна опция дата-центра в ЕС

Связанные ресурсы

Subscribe to updates

developer-docs

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

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

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