Connettore Amplitude
Collega Amplitude a Brevo tramite Tajo per sfruttare i dati di product analytics nel marketing automation. Sincronizza coorti comportamentali, proprietà utente ed eventi di prodotto per alimentare campagne mirate.
Panoramica
| Proprietà | Valore |
|---|---|
| Piattaforma | Amplitude |
| Categoria | Analytics (Custom) |
| Complessità di setup | Media |
| Integrazione ufficiale | No |
| Dati sincronizzati | Eventi, Utenti, Coorti, Proprietà |
| Skill disponibili | 6 |
Funzionalità
- Inoltro eventi - Invia gli eventi track di Amplitude a Brevo come trigger di marketing automation
- Sync delle coorti - Esporta le coorti comportamentali di Amplitude come liste contatti Brevo
- Sync delle proprietà utente - Mappa le proprietà utente Amplitude sugli attributi dei contatti Brevo
- Tracciamento ricavi - Sincronizza eventi di revenue per l’analisi del customer lifetime value
- Segmentazione comportamentale - Usa i dati di engagement Amplitude nei segmenti Brevo
- Integrazione HTTP V2 API - Integrazione diretta con l’API di ingestione HTTP V2 di Amplitude
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un account Amplitude con un progetto creato
- La tua Amplitude API Key e Secret Key
- Un account Brevo con accesso API
- Un account Tajo con credenziali API
Autenticazione
Chiavi API Amplitude
Amplitude usa coppie API Key e Secret Key per l’autenticazione. L’API Key identifica il tuo progetto, mentre la Secret Key autentica le richieste server-side.
# Trova le tue chiavi in Amplitude:# Settings > Projects > [Your Project] > GeneralAutenticazione HTTP V2 API
L’HTTP V2 API utilizza l’API key nel corpo della richiesta:
curl -X POST https://api2.amplitude.com/2/httpapi \ -H "Content-Type: application/json" \ -d '{ "api_key": "YOUR_AMPLITUDE_API_KEY", "events": [...] }'Configurazione
Setup di base
connectors: amplitude: enabled: true api_key: "your-amplitude-api-key" secret_key: "your-amplitude-secret-key" data_center: "US" # oppure "EU"
# Opzioni di sync dei dati sync: events: true user_properties: true cohorts: true revenue: true
# Assegnazione liste Brevo lists: active_users: 10 power_users: 11 churning_users: 12Mapping degli eventi
Mappa gli eventi Amplitude sui trigger di automazione Brevo:
event_mapping: # Evento Amplitude -> evento Brevo "Purchase": "order_completed" "Sign Up": "customer_created" "Add to Cart": "cart_updated" "Page View": "page_viewed" "Feature Click": "feature_used"
# Eventi di revenue "Revenue": "revenue_event" "Subscription Started": "subscription_created"Mapping delle proprietà utente
Mappa le proprietà utente Amplitude sugli attributi dei contatti Brevo:
property_mapping: # Proprietà Amplitude -> attributo Brevo 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
| Metodo | Endpoint | Descrizione |
|---|---|---|
POST | /2/httpapi | Upload eventi (HTTP V2 API) |
POST | /batch | Upload bulk di eventi (Batch API) |
POST | /identify | Imposta proprietà utente |
POST | /groupidentify | Imposta proprietà di gruppo |
GET | /2/export | Esporta dati evento raw |
GET | /2/usersearch | Cerca utenti |
GET | /2/useractivity | Ottiene timeline attività utente |
POST | /api/3/cohort/export | Esporta i membri di una coorte |
GET | /api/3/chart/{chart_id}/query | Interroga i dati di un chart salvato |
Esempi di codice
Inizializzare il connettore Amplitude
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Collega un progetto Amplitudeawait tajo.connectors.connect('amplitude', { apiKey: process.env.AMPLITUDE_API_KEY, secretKey: process.env.AMPLITUDE_SECRET_KEY, dataCenter: 'US'});Inviare eventi tramite HTTP V2 API
// Invia eventi ad Amplitude (inoltrati automaticamente a 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() } ] })});
// Risposta attesa: { "code": 200, "events_ingested": 1 }Sincronizzare una coorte su una lista Brevo
// Esporta una coorte Amplitude e sincronizzala su Brevoconst cohort = await tajo.connectors.syncCohort('amplitude', { cohortId: 'abc123', targetList: 11, // ID lista Brevo syncMode: 'mirror' // mirror, append o remove});
console.log(cohort);// {// cohortName: "Power Users",// membersCount: 2450,// syncedToBrevo: 2450,// listId: 11// }Limiti di rate
| API | Limite | Dettagli |
|---|---|---|
| HTTP V2 API | 1.000 eventi/sec | Per progetto, burst fino a 2.000/sec |
| Batch API | 1.000 eventi/batch | Max 20 batch/sec |
| Identify API | 1.000 req/sec | Per progetto |
| Export API | 360 richieste/ora | Per progetto |
| Cohort Export | 1 export concorrente | Per coorte |
| Dashboard REST API | 360 richieste/ora | Per progetto |
Limiti dimensione evento
Ogni payload di evento non può superare 1 MB. L’HTTP V2 API accetta fino a 2.000 eventi per richiesta con una dimensione massima del body di 20 MB.
Risoluzione dei problemi
| Problema | Causa | Soluzione |
|---|---|---|
Gli eventi restituiscono stato invalid | Campi obbligatori mancanti | Assicurati che user_id o device_id sia impostato su ogni evento |
| Le proprietà utente non si sincronizzano | Operatore di proprietà errato | Usa $set per impostare, $setOnce per valori first-touch |
| Export di coorte vuoto | Coorte ancora in calcolo | Attendi il completamento del calcolo della coorte prima dell’export |
| 429 Too Many Requests | Limite di rate superato | Implementa exponential backoff e usa la Batch API |
| I ricavi non vengono tracciati | Campi di revenue mancanti | Includi price, quantity e revenue nelle proprietà dell’evento |
| I dati EU non vengono instradati | Data center errato | Imposta data_center: "EU" e usa api.eu.amplitude.com |
Best practice
- Usa l’HTTP V2 API - Preferisci l’API V2 alla legacy HTTP API per una migliore validazione e risposte di errore
- Raggruppa gli eventi in batch - Invia eventi in batch fino a 1.000 per throughput ottimale
- Imposta le proprietà utente negli eventi - Includi
user_propertiessugli eventi track per ridurre le chiamate identify - Usa le coorti per la segmentazione - Sincronizza coorti comportamentali invece di replicare logica di segmentazione complessa
- Traccia correttamente gli eventi di revenue - Usa i campi
revenue,priceeproductIdper un tracciamento accurato - Monitora lo stato dell’ingestione - Controlla l’Ingestion Debugger di Amplitude per errori di validazione
- Implementa il tracciamento server-side - Usa SDK server-side per una consegna eventi affidabile
Sicurezza
- Solo HTTPS - Tutte le comunicazioni API richiedono TLS 1.2+
- Rotazione delle API key - Ruota periodicamente le Secret Key dalle impostazioni Amplitude
- IP allowlisting - Disponibile sui piani Enterprise
- SOC 2 Type II - Amplitude è certificata SOC 2 Type II
- GDPR/CCPA - Supporto per richieste di cancellazione ed esportazione dati utente
- Residenza dati EU - Opzione del data center EU disponibile