Twilio Segment конектор
Свържи Twilio Segment с Brevo през Tajo, за да унифицираш pipeline-а си за клиентски данни, да рутираш събития от всеки източник към Brevo и да използваш identity resolution на Segment за по-богата маркетингова автоматизация.
Преглед
| Свойство | Стойност |
|---|---|
| Платформа | Twilio Segment |
| Категория | Data Platform (персонализирана) |
| Сложност на настройка | Средна |
| Официална интеграция | Не |
| Синхронизирани данни | Събития, клиенти, traits, audiences |
| Налични скилове | 8 |
Функции
- Универсално събиране на данни – Събирай събития от уебсайтове, мобилни приложения и сървъри чрез Segment SDK-тата
- Рутиране на източници – Рутирай данни от 400+ източника към Brevo през Tajo
- Identity resolution – Автоматично обединявай анонимни и известни потребителски профили
- Синхронизация на audience-и – Изпращай изчислените от Segment traits и audiences към списъци в Brevo
- Event streaming – Препращане на събития в реално време чрез Connections рамката на Segment
- Reverse ETL – Синхронизирай данни от warehouse обратно към Brevo чрез Segment Reverse ETL
- Enforcement на схеми – Валидирай схемите на събитията чрез Segment Protocols преди синхронизация
Предварителни условия
Преди да започнеш, увери се, че имаш:
- Twilio Segment workspace с конфигуриран източник
- Segment Write Key за източника
- Акаунт в Brevo с API достъп
- Акаунт в Tajo с API credentials
Автентикация
Segment Write Key
Segment автентикира източниците чрез Write Key – уникален идентификатор, свързан с всеки източник.
// Analytics.js initialization with Write Keyanalytics.load("YOUR_SEGMENT_WRITE_KEY");Tajo API Token
Конфигурирай Tajo конектора с credentials:
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" # or "eu" for EU workspace
# Data sync options sync: identify: true track: true page: true group: false
# Brevo list assignment 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"
# Custom events "Feature Used": "feature_used" "Plan Upgraded": "plan_upgraded"Мапване на traits
Мапвай identify traits от Segment към атрибути на контактите в Brevo:
trait_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS plan: PLAN_TYPE company: COMPANY createdAt: SIGNUP_DATE lifetimeValue: LTVAPI крайни точки
| Метод | Крайна точка | Описание |
|---|---|---|
POST | /v1/identify | Идентифицирай потребител с traits |
POST | /v1/track | Проследи събитие |
POST | /v1/page | Запиши преглед на страница |
POST | /v1/screen | Запиши преглед на screen |
POST | /v1/group | Асоциирай потребител с група |
POST | /v1/alias | Обедини две потребителски идентичности |
POST | /v1/batch | Изпрати множество съобщения в пакет |
POST | /v1/import | Масов импорт на исторически данни |
Примери с код
Инициализация на Segment с Tajo destination
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Segment sourceawait tajo.connectors.connect('segment', { writeKey: process.env.SEGMENT_WRITE_KEY, workspaceSlug: 'your-workspace'});Проследяване на събития чрез Segment
// Identify a user - syncs to Brevo contactsanalytics.identify("user_123", { firstName: "Jane", lastName: "Kim", plan: "premium", lifetimeValue: 450.00});
// Track an event - forwards to Brevoanalytics.track("Order Completed", { orderId: "ORD-1234", revenue: 89.99, currency: "USD", products: [ { id: "SKU-001", name: "Widget", price: 89.99 } ]});
// Page view trackinganalytics.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);
// Batch identify users from your databaseconst 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 } });}
// Flush the queueawait analytics.flush();Ограничения на заявките
| Tier | Лимит | Прозорец |
|---|---|---|
| Free | 1 000 събития/сек | На източник |
| Team | 10 000 събития/сек | На източник |
| Business | Персонализиран | На workspace |
| Batch API | 500 KB макс | На заявка |
| Макс. batch size | 100 събития | На batch извикване |
Лимити на размера на пакета
Всяка batch заявка може да съдържа максимум 100 събития и не трябва да надвишава 500 KB. За големи исторически импорти използвай Segment Bulk Import API.
Отстраняване на проблеми
| Проблем | Причина | Решение |
|---|---|---|
| Събитията не се появяват в Brevo | Destination не е активен | Активирай Tajo destination в Segment |
| Потребителските traits не се синхронизират | Липсва имейл идентификатор | Увери се, че email trait е включен в identify извикванията |
| Дублирани контакти | Множество анонимни ID-та | Внедри правилни alias извиквания за обединяване на идентичност |
| Събитията се забавят | Опашка с голям обем | Провери event delivery dashboard на Segment |
| Нарушения на схемата | Непланирани събития | Прегледай tracking plan в Segment Protocols |
| 429 rate limit грешки | Твърде много заявки | Внедри batching или намали честотата на събитията |
Добри практики
- Използвай identify преди track – Винаги извиквай
identifyпредиtrack, за да се гарантира, че събитията се приписват на правилния потребител - Внедри tracking plan – Използвай Segment Protocols, за да налагаш схеми за събития
- Пакетирай сървърни извиквания – Използвай batch API за сървърни интеграции, за да намалиш HTTP overhead
- Мапвай traits явно – Дефинирай мапвания на trait към атрибут, вместо да разчиташ на defaults
- Използвай Segment Functions – Трансформирай събития в движение, преди да достигнат Brevo
- Мониторирай доставката на събития – Проверявай Event Delivery dashboard на Segment за неуспешни събития
- Настрой Replay – Активирай Segment Replay за повторна обработка на исторически събития
Сигурност
- TLS криптиране – Всички данни се предават през HTTPS/TLS 1.2+
- Изолация на Write Key – Всеки източник има собствен Write Key
- GDPR съвместимост – Segment поддържа заявки за изтриване и suppression на данни
- SOC 2 Type II – Segment е SOC 2 Type II сертифициран
- Регионален хостинг на данни – Опция за EU workspace за съвместимост с data residency