Konektor Amplitude
Hubungkan Amplitude ke Brevo melalui Tajo untuk memanfaatkan data product analytics bagi otomatisasi marketing. Sinkronkan cohort perilaku, properti pengguna, dan event produk untuk menggerakkan kampanye yang tertarget.
Ikhtisar
| Properti | Nilai |
|---|---|
| Platform | Amplitude |
| Kategori | Analytics (Kustom) |
| Kompleksitas penyiapan | Sedang |
| Integrasi resmi | Tidak |
| Data yang disinkronkan | Events, Users, Cohorts, Properties |
| Skill tersedia | 6 |
Fitur
- Penerusan event - Kirim event track Amplitude ke Brevo sebagai pemicu otomatisasi marketing
- Sync cohort - Ekspor cohort perilaku Amplitude sebagai contact list Brevo
- Sync properti pengguna - Petakan properti pengguna Amplitude ke atribut contact Brevo
- Pelacakan pendapatan - Sinkronkan event pendapatan untuk analisis customer lifetime value
- Segmentasi perilaku - Gunakan data engagement Amplitude dalam segmen Brevo
- Integrasi HTTP V2 API - Integrasi langsung dengan HTTP V2 ingestion API milik Amplitude
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Akun Amplitude dengan sebuah project yang sudah dibuat
- API Key dan Secret Key Amplitude Anda
- Akun Brevo dengan akses API
- Akun Tajo dengan kredensial API
Autentikasi
API key Amplitude
Amplitude menggunakan pasangan API Key dan Secret Key untuk autentikasi. API Key mengidentifikasi project Anda, sedangkan Secret Key mengautentikasi request dari sisi server.
# Find your keys in Amplitude:# Settings > Projects > [Your Project] > GeneralAutentikasi HTTP V2 API
HTTP V2 API menggunakan API key di dalam body request:
curl -X POST https://api2.amplitude.com/2/httpapi \ -H "Content-Type: application/json" \ -d '{ "api_key": "YOUR_AMPLITUDE_API_KEY", "events": [...] }'Konfigurasi
Penyiapan dasar
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: 12Pemetaan event
Petakan event Amplitude ke pemicu otomatisasi 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"Pemetaan properti pengguna
Petakan properti pengguna Amplitude ke atribut contact 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: DEVICEEndpoint API
| Method | Endpoint | Deskripsi |
|---|---|---|
POST | /2/httpapi | Unggah event (HTTP V2 API) |
POST | /batch | Unggah event secara massal (Batch API) |
POST | /identify | Menetapkan properti pengguna |
POST | /groupidentify | Menetapkan properti grup |
GET | /2/export | Ekspor data event mentah |
GET | /2/usersearch | Mencari pengguna |
GET | /2/useractivity | Mengambil linimasa aktivitas pengguna |
POST | /api/3/cohort/export | Ekspor anggota cohort |
GET | /api/3/chart/{chart_id}/query | Kueri data chart yang tersimpan |
Contoh kode
Inisialisasi konektor 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'});Mengirim event lewat 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 }Menyinkronkan cohort ke list 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// }Batas rate
| API | Batas | Rincian |
|---|---|---|
| HTTP V2 API | 1.000 event/detik | Per project, burst hingga 2.000/detik |
| Batch API | 1.000 event/batch | Maksimal 20 batch/detik |
| Identify API | 1.000 req/detik | Per project |
| Export API | 360 request/jam | Per project |
| Cohort Export | 1 ekspor bersamaan | Per cohort |
| Dashboard REST API | 360 request/jam | Per project |
Batas ukuran event
Setiap payload event tidak boleh melebihi 1 MB. HTTP V2 API menerima hingga 2.000 event per request dengan ukuran body maksimal 20 MB.
Pemecahan masalah
| Masalah | Penyebab | Solusi |
|---|---|---|
Event mengembalikan status invalid | Field wajib tidak ada | Pastikan user_id atau device_id terisi pada setiap event |
| Properti pengguna tidak tersinkron | Operator properti salah | Gunakan $set untuk menetapkan nilai, $setOnce untuk nilai first-touch |
| Ekspor cohort kosong | Cohort masih dihitung | Tunggu perhitungan cohort selesai sebelum melakukan ekspor |
| 429 Too Many Requests | Rate limit terlampaui | Terapkan exponential backoff dan gunakan batch API |
| Pendapatan tidak terlacak | Field pendapatan tidak ada | Sertakan price, quantity, dan revenue di properti event |
| Data EU tidak dirutekan | Data center salah | Setel data_center: "EU" dan gunakan api.eu.amplitude.com |
Praktik terbaik
- Gunakan HTTP V2 API - Utamakan V2 API dibanding HTTP API lama agar validasi dan respons error lebih baik
- Kelompokkan event - Kirim event dalam batch hingga 1.000 untuk throughput optimal
- Setel properti pengguna pada event - Sertakan
user_propertiespada event track untuk mengurangi panggilan identify - Gunakan cohort untuk segmentasi - Sinkronkan cohort perilaku alih-alih menyalin logika segmentasi yang rumit
- Lacak event pendapatan dengan benar - Gunakan field
revenue,price, danproductIdagar pelacakan pendapatan akurat - Pantau kesehatan ingestion - Periksa Ingestion Debugger Amplitude untuk melihat error validasi event
- Terapkan pelacakan sisi server - Gunakan SDK sisi server agar pengiriman event lebih andal
Keamanan
- HTTPS saja - Semua komunikasi API memerlukan TLS 1.2+
- Rotasi API key - Rotasikan Secret Key secara berkala melalui pengaturan Amplitude
- Allowlist IP - Tersedia pada paket Enterprise
- SOC 2 Type II - Amplitude bersertifikasi SOC 2 Type II
- GDPR/CCPA - Mendukung permintaan penghapusan dan ekspor data pengguna
- Residensi data EU - Tersedia opsi data center EU