Коннектор Twilio Segment
Подключите Twilio Segment к Brevo через Tajo, чтобы объединить пайплайн данных о клиентах, маршрутизировать события из любого источника в Brevo и использовать разрешение идентичностей Segment для более богатой маркетинговой автоматизации.
Обзор
| Свойство | Значение |
|---|---|
| Платформа | Twilio Segment |
| Категория | Data Platform (Custom) |
| Сложность настройки | Средняя |
| Официальная интеграция | Нет |
| Синхронизируемые данные | События, клиенты, трейты, аудитории |
| Доступных скиллов | 8 |
Возможности
- Универсальный сбор данных, сбор событий с сайтов, мобильных приложений и серверов через SDK Segment
- Маршрутизация источников, маршрутизация данных из 400+ источников в Brevo через Tajo
- Разрешение идентичностей, автоматическое объединение анонимных и известных профилей пользователей
- Синхронизация аудиторий, отправка вычисленных трейтов и аудиторий Segment в листы Brevo
- Стриминг событий, пересылка событий в реальном времени через Connections-фреймворк Segment
- Reverse ETL, синхронизация данных хранилища обратно в Brevo с помощью Segment Reverse ETL
- Соблюдение схемы, валидация схем событий через Segment Protocols перед синхронизацией
Предварительные требования
Прежде чем начать, убедитесь, что у вас есть:
- Рабочее пространство Twilio Segment с настроенным источником
- Write Key источника Segment
- Аккаунт Brevo с доступом к API
- Аккаунт Tajo с API-учётными данными
Аутентификация
Write Key Segment
Segment аутентифицирует источники с помощью Write Key, уникального идентификатора, привязанного к каждому источнику.
// Инициализация Analytics.js с Write Keyanalytics.load("YOUR_SEGMENT_WRITE_KEY");Tajo API Token
Настройте коннектор Tajo с вашими учётными данными:
tajo connectors install segment \ --write-key $SEGMENT_WRITE_KEY \ --workspace-slug your-workspace \ --brevo-api-key $BREVO_API_KEYКонфигурация
Базовая настройка
connectors: segment: enabled: true write_key: "your-segment-write-key" data_region: "us" # или "eu" для рабочего пространства ЕС
# Параметры синхронизации данных sync: identify: true track: true page: true group: false
# Назначение листов Brevo lists: all_contacts: 5 active_users: 6 high_value: 7Сопоставление событий
Сопоставьте track-события Segment с типами событий Brevo:
event_mapping: # Segment event -> Brevo event "Order Completed": "order_completed" "Product Viewed": "product_viewed" "Cart Updated": "cart_updated" "Signed Up": "customer_created" "Checkout Started": "checkout_started"
# Пользовательские события "Feature Used": "feature_used" "Plan Upgraded": "plan_upgraded"Сопоставление трейтов
Сопоставьте identify-трейты Segment с атрибутами контактов Brevo:
trait_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS plan: PLAN_TYPE company: COMPANY createdAt: SIGNUP_DATE lifetimeValue: LTVЭндпоинты API
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /v1/identify | Идентификация пользователя с трейтами |
POST | /v1/track | Трекинг события |
POST | /v1/page | Запись просмотра страницы |
POST | /v1/screen | Запись просмотра экрана |
POST | /v1/group | Связывание пользователя с группой |
POST | /v1/alias | Объединение двух идентичностей пользователя |
POST | /v1/batch | Отправка нескольких сообщений одним пакетом |
POST | /v1/import | Массовый импорт исторических данных |
Примеры кода
Инициализация Segment с назначением Tajo
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Подключение источника Segmentawait tajo.connectors.connect('segment', { writeKey: process.env.SEGMENT_WRITE_KEY, workspaceSlug: 'your-workspace'});Трекинг событий через Segment
// Идентификация пользователя, синхронизируется с контактами Brevoanalytics.identify("user_123", { firstName: "Jane", lastName: "Kim", plan: "premium", lifetimeValue: 450.00});
// Трекинг события, пересылается в Brevoanalytics.track("Order Completed", { orderId: "ORD-1234", revenue: 89.99, currency: "USD", products: [ { id: "SKU-001", name: "Widget", price: 89.99 } ]});
// Трекинг просмотров страницanalytics.page("Pricing", { title: "Pricing - Tajo", url: "https://tajo.io/pricing"});Серверная пересылка событий (Node.js)
const Analytics = require('analytics-node');const analytics = new Analytics(process.env.SEGMENT_WRITE_KEY);
// Пакетная идентификация пользователей из базы данныхconst users = await db.query('SELECT * FROM users WHERE updated_at > $1', [lastSync]);
for (const user of users) { analytics.identify({ userId: user.id, traits: { email: user.email, firstName: user.first_name, lastName: user.last_name, totalOrders: user.order_count, lifetimeValue: user.ltv } });}
// Сброс очередиawait analytics.flush();Ограничения скорости
| Тариф | Лимит | Окно |
|---|---|---|
| Free | 1 000 событий/сек | На источник |
| Team | 10 000 событий/сек | На источник |
| Business | Индивидуально | На рабочее пространство |
| Batch API | Максимум 500 КБ | На запрос |
| Макс. размер пакета | 100 событий | На batch-вызов |
Ограничения размера пакета
Каждый batch-запрос может содержать максимум 100 событий и не должен превышать 500 КБ. Для больших исторических импортов используйте Segment Bulk Import API.
Устранение неполадок
| Проблема | Причина | Решение |
|---|---|---|
| События не появляются в Brevo | Назначение не включено | Включите назначение Tajo в Segment |
| Трейты пользователя не синхронизируются | Отсутствует email-идентификатор | Убедитесь, что трейт email включён в identify-вызовы |
| Дублирующиеся контакты | Несколько анонимных ID | Реализуйте правильные alias-вызовы для слияния идентичностей |
| Задержка событий | Большая очередь | Проверьте дашборд доставки событий Segment |
| Нарушения схемы | Незапланированные события | Проверьте план отслеживания в Segment Protocols |
| Ошибки лимита 429 | Слишком много запросов | Реализуйте пакетную обработку или снизьте частоту событий |
Лучшие практики
- Вызывайте identify перед track, всегда вызывайте
identifyдоtrack, чтобы события атрибутировались правильному пользователю - Внедрите план отслеживания, используйте Segment Protocols для соблюдения схем событий
- Группируйте серверные вызовы, используйте batch API для серверных интеграций для снижения HTTP-нагрузки
- Явно сопоставляйте трейты, определяйте сопоставления трейт-атрибут, не полагаясь на значения по умолчанию
- Используйте Segment Functions, преобразовывайте события “на лету” перед отправкой в Brevo
- Следите за доставкой событий, проверяйте дашборд Event Delivery в Segment для выявления неудачных событий
- Настройте Replay, включите Segment Replay для повторной обработки исторических событий
Безопасность
- TLS-шифрование, все данные передаются через HTTPS/TLS 1.2+
- Изоляция Write Key, каждый источник имеет собственный Write Key
- Соответствие GDPR, Segment поддерживает запросы на удаление и подавление данных
- SOC 2 Type II, Segment сертифицирован по SOC 2 Type II
- Региональное хранение данных, опция рабочего пространства ЕС для соответствия требованиям резидентности данных