Konektor Twilio Segment
Hubungkan Twilio Segment ke Brevo melalui Tajo untuk menyatukan pipeline data pelanggan Anda, merutekan event dari sumber mana pun ke Brevo, dan memanfaatkan identity resolution milik Segment demi otomatisasi pemasaran yang lebih kaya.
Ikhtisar
| Properti | Nilai |
|---|---|
| Platform | Twilio Segment |
| Kategori | Data Platform (Custom) |
| Kompleksitas penyiapan | Sedang |
| Integrasi resmi | Tidak |
| Data tersinkron | Event, pelanggan, trait, audiens |
| Skill tersedia | 8 |
Fitur
- Pengumpulan data universal - Kumpulkan event dari situs web, aplikasi mobile, dan server melalui SDK Segment
- Perutean sumber - Rutekan data dari 400+ sumber ke Brevo melalui Tajo
- Identity resolution - Gabungkan profil pengguna anonim dan yang sudah dikenal secara otomatis
- Sinkronisasi audiens - Kirim computed trait dan audiens Segment ke list Brevo
- Streaming event - Penerusan event real-time melalui framework Connections milik Segment
- Reverse ETL - Sinkronkan data warehouse kembali ke Brevo memakai Segment Reverse ETL
- Penegakan skema - Validasi skema event dengan Segment Protocols sebelum sinkronisasi
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Workspace Twilio Segment dengan satu source yang sudah dikonfigurasi
- Segment Write Key untuk source tersebut
- Akun Brevo dengan akses API
- Akun Tajo dengan kredensial API
Autentikasi
Segment Write Key
Segment mengautentikasi source memakai Write Key, yaitu pengenal unik yang terikat pada setiap source.
// Analytics.js initialization with Write Keyanalytics.load("YOUR_SEGMENT_WRITE_KEY");Token API Tajo
Konfigurasikan konektor Tajo dengan kredensial Anda:
tajo connectors install segment \ --write-key $SEGMENT_WRITE_KEY \ --workspace-slug your-workspace \ --brevo-api-key $BREVO_API_KEYKonfigurasi
Penyiapan dasar
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: 7Pemetaan event
Petakan event track Segment ke tipe event 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"Pemetaan trait
Petakan trait identify Segment ke atribut kontak Brevo:
trait_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS plan: PLAN_TYPE company: COMPANY createdAt: SIGNUP_DATE lifetimeValue: LTVEndpoint API
| Metode | Endpoint | Deskripsi |
|---|---|---|
POST | /v1/identify | Mengidentifikasi pengguna beserta trait-nya |
POST | /v1/track | Melacak sebuah event |
POST | /v1/page | Mencatat kunjungan halaman |
POST | /v1/screen | Mencatat tampilan layar |
POST | /v1/group | Mengaitkan pengguna dengan sebuah grup |
POST | /v1/alias | Menggabungkan dua identitas pengguna |
POST | /v1/batch | Mengirim beberapa pesan sekaligus dalam satu batch |
POST | /v1/import | Mengimpor data historis secara massal |
Contoh kode
Inisialisasi Segment dengan destinasi Tajo
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'});Lacak event melalui 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"});Penerusan event sisi server (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();Batas rate
| Paket | Batas | Jendela |
|---|---|---|
| Free | 1.000 event/detik | Per source |
| Team | 10.000 event/detik | Per source |
| Business | Kustom | Per workspace |
| Batch API | Maksimum 500 KB | Per permintaan |
| Ukuran batch maksimum | 100 event | Per panggilan batch |
Batas ukuran batch
Setiap permintaan batch dapat memuat maksimum 100 event dan tidak boleh melebihi 500 KB. Untuk impor historis berukuran besar, gunakan Segment Bulk Import API.
Pemecahan masalah
| Masalah | Penyebab | Solusi |
|---|---|---|
| Event tidak muncul di Brevo | Destinasi belum diaktifkan | Aktifkan destinasi Tajo di Segment |
| Trait pengguna tidak tersinkron | Pengenal email tidak ada | Pastikan trait email disertakan dalam panggilan identify |
| Kontak ganda | Beberapa ID anonim | Terapkan panggilan alias yang benar untuk menggabungkan identitas |
| Event tertunda | Antrean bervolume tinggi | Periksa dashboard pengiriman event Segment |
| Pelanggaran skema | Event di luar rencana | Tinjau tracking plan Segment Protocols |
| Galat rate limit 429 | Terlalu banyak permintaan | Terapkan batching atau kurangi frekuensi event |
Praktik terbaik
- Gunakan identify sebelum track - Selalu panggil
identifysebelumtrackagar event dikaitkan dengan pengguna yang tepat - Terapkan tracking plan - Gunakan Segment Protocols untuk menegakkan skema event
- Kelompokkan panggilan sisi server - Pakai batch API untuk integrasi sisi server agar overhead HTTP berkurang
- Petakan trait secara eksplisit - Tetapkan pemetaan trait ke atribut, jangan mengandalkan nilai bawaan
- Gunakan Segment Functions - Transformasikan event saat transit sebelum sampai ke Brevo
- Pantau pengiriman event - Periksa dashboard Event Delivery Segment untuk event yang gagal
- Siapkan Replay - Aktifkan Segment Replay untuk memproses ulang event historis
Keamanan
- Enkripsi TLS - Semua data dikirim melalui HTTPS/TLS 1.2+
- Isolasi Write Key - Setiap source memiliki Write Key sendiri
- Kepatuhan GDPR - Segment mendukung permintaan penghapusan dan penekanan data
- SOC 2 Type II - Segment tersertifikasi SOC 2 Type II
- Hosting data regional - Opsi workspace EU untuk kepatuhan residensi data