Conector de Amplitude
Conecta Amplitude con Brevo a través de Tajo para aprovechar los datos de analítica de producto en la automatización de marketing. Sincroniza cohortes de comportamiento, propiedades de usuario y eventos de producto para impulsar campañas segmentadas.
Resumen
| Propiedad | Valor |
|---|---|
| Plataforma | Amplitude |
| Categoría | Analítica (Personalizada) |
| Complejidad de configuración | Media |
| Integración oficial | No |
| Datos sincronizados | Eventos, Usuarios, Cohortes, Propiedades |
| Skills disponibles | 6 |
Funcionalidades
- Reenvío de eventos - Envía los eventos de track de Amplitude a Brevo para activar automatizaciones de marketing
- Sincronización de cohortes - Exporta cohortes de comportamiento de Amplitude como listas de contactos de Brevo
- Sincronización de propiedades de usuario - Asocia las propiedades de usuario de Amplitude con los atributos de contacto de Brevo
- Seguimiento de ingresos - Sincroniza eventos de ingresos para analizar el valor de vida del cliente
- Segmentación por comportamiento - Usa datos de interacción de Amplitude en los segmentos de Brevo
- Integración con la HTTP V2 API - Integración directa con la API de ingesta HTTP V2 de Amplitude
Requisitos previos
Antes de empezar, asegúrate de tener:
- Una cuenta de Amplitude con un proyecto creado
- Tu API Key y Secret Key de Amplitude
- Una cuenta de Brevo con acceso a la API
- Una cuenta de Tajo con credenciales de API
Autenticación
Claves de API de Amplitude
Amplitude usa pares de API Key y Secret Key para la autenticación. La API Key identifica tu proyecto, mientras que la Secret Key autentica las peticiones del lado del servidor.
# Find your keys in Amplitude:# Settings > Projects > [Your Project] > GeneralAutenticación de la HTTP V2 API
La HTTP V2 API usa la API key en el cuerpo de la petición:
curl -X POST https://api2.amplitude.com/2/httpapi \ -H "Content-Type: application/json" \ -d '{ "api_key": "YOUR_AMPLITUDE_API_KEY", "events": [...] }'Configuración
Configuración básica
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: 12Asignación de eventos
Asocia los eventos de Amplitude con los disparadores de automatización de 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"Asignación de propiedades de usuario
Asocia las propiedades de usuario de Amplitude con los atributos de contacto de 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: DEVICEEndpoints de la API
| Método | Endpoint | Descripción |
|---|---|---|
POST | /2/httpapi | Subir eventos (HTTP V2 API) |
POST | /batch | Subida masiva de eventos (Batch API) |
POST | /identify | Definir propiedades de usuario |
POST | /groupidentify | Definir propiedades de grupo |
GET | /2/export | Exportar datos de eventos en crudo |
GET | /2/usersearch | Buscar usuarios |
GET | /2/useractivity | Obtener cronología de actividad del usuario |
POST | /api/3/cohort/export | Exportar miembros de una cohorte |
GET | /api/3/chart/{chart_id}/query | Consultar datos de un gráfico guardado |
Ejemplos de código
Inicializar el conector de 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'});Enviar eventos mediante la 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 }Sincronizar una cohorte con una lista de 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// }Límites de velocidad
| API | Límite | Detalles |
|---|---|---|
| HTTP V2 API | 1.000 eventos/s | Por proyecto, ráfaga de hasta 2.000/s |
| Batch API | 1.000 eventos/lote | Máx. 20 lotes/s |
| Identify API | 1.000 req/s | Por proyecto |
| Export API | 360 peticiones/hora | Por proyecto |
| Cohort Export | 1 exportación simultánea | Por cohorte |
| Dashboard REST API | 360 peticiones/hora | Por proyecto |
Límites de tamaño de eventos
El payload de cada evento no puede superar 1 MB. La HTTP V2 API acepta hasta 2.000 eventos por petición con un tamaño máximo de cuerpo de 20 MB.
Resolución de problemas
| Problema | Causa | Solución |
|---|---|---|
Los eventos devuelven estado invalid | Faltan campos obligatorios | Asegúrate de que user_id o device_id esté definido en cada evento |
| Las propiedades de usuario no se sincronizan | Operador de propiedad incorrecto | Usa $set para establecer o $setOnce para valores de primera vez |
| Exportación de cohorte vacía | La cohorte aún se está calculando | Espera a que termine el cálculo de la cohorte antes de exportar |
| 429 Too Many Requests | Límite de velocidad superado | Aplica backoff exponencial y usa la batch API |
| Los ingresos no se registran | Faltan campos de ingresos | Incluye price, quantity y revenue en las propiedades del evento |
| Los datos de UE no se enrutan | Centro de datos incorrecto | Configura data_center: "EU" y usa api.eu.amplitude.com |
Buenas prácticas
- Usa la HTTP V2 API - Prefiere la API V2 frente a la HTTP API heredada para una mejor validación y respuestas de error
- Agrupa los eventos - Envía los eventos en lotes de hasta 1.000 para obtener el mejor rendimiento
- Define propiedades de usuario en los eventos - Incluye
user_propertiesen los eventos de track para reducir las llamadas de identify - Usa cohortes para segmentar - Sincroniza cohortes de comportamiento en lugar de replicar lógica de segmentación compleja
- Registra eventos de ingresos correctamente - Usa los campos
revenue,priceyproductIdpara un seguimiento preciso de ingresos - Supervisa la salud de la ingesta - Consulta el Ingestion Debugger de Amplitude para detectar errores de validación de eventos
- Implementa tracking del lado del servidor - Usa SDK del lado del servidor para una entrega fiable de eventos
Seguridad
- Solo HTTPS - Toda la comunicación con la API requiere TLS 1.2+
- Rotación de claves de API - Rota las Secret Keys periódicamente desde la configuración de Amplitude
- Allowlist de IP - Disponible en los planes Enterprise
- SOC 2 Tipo II - Amplitude está certificado en SOC 2 Tipo II
- RGPD/CCPA - Soporte de eliminación y exportación de datos de usuario
- Residencia de datos en UE - Opción de centro de datos en UE disponible