Коннектор 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
Предварительные требования
Прежде чем начать, убедитесь, что у вас есть:
- Аккаунт Amplitude с созданным проектом
- API Key и Secret Key Amplitude
- Аккаунт Brevo с доступом к API
- Аккаунт Tajo с учётными данными API
Аутентификация
API-ключи Amplitude
Amplitude использует пары API Key и Secret Key для аутентификации. API Key идентифицирует ваш проект, а Secret Key аутентифицирует серверные запросы.
# Find your keys in Amplitude:# Settings > Projects > [Your Project] > GeneralАутентификация HTTP V2 API
HTTP V2 API использует API-ключ в теле запроса:
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 projectawait 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 Brevoconst 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 API | 1 000 событий/сек | На проект, burst до 2 000/сек |
| Batch API | 1 000 событий/пакет | Максимум 20 пакетов/сек |
| Identify API | 1 000 запросов/сек | На проект |
| Export API | 360 запросов/час | На проект |
| Экспорт когорт | 1 параллельный экспорт | На когорту |
| Dashboard REST API | 360 запросов/час | На проект |
Ограничения размера событий
Каждый 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 |
Лучшие практики
- Используйте HTTP V2 API, предпочитайте V2 API устаревшему HTTP API для лучшей валидации и ответов об ошибках
- Пакетируйте события, отправляйте события пакетами до 1 000 для оптимальной пропускной способности
- Устанавливайте свойства пользователя в событиях, включайте
user_propertiesв track-события, чтобы уменьшить количество identify-вызовов - Используйте когорты для сегментации, синхронизируйте поведенческие когорты вместо репликации сложной логики сегментации
- Правильно отслеживайте события выручки, используйте поля
revenue,priceиproductIdдля точного отслеживания выручки - Отслеживайте состояние приёма данных, проверяйте Amplitude Ingestion Debugger на ошибки валидации событий
- Внедряйте серверный трекинг, используйте серверные SDK для надёжной доставки событий
Безопасность
- Только HTTPS, все API-коммуникации требуют TLS 1.2+
- Ротация API-ключей, периодически ротируйте Secret Key через настройки Amplitude
- IP allowlisting, доступно на тарифах Enterprise
- SOC 2 Type II, Amplitude сертифицирован по SOC 2 Type II
- GDPR/CCPA, поддержка запросов на удаление и экспорт данных пользователя
- Резидентность данных ЕС, доступна опция дата-центра в ЕС