Amplitude Connector
Verbinde Amplitude über Tajo mit Brevo, um Produktanalyse-Daten für die Marketingautomatisierung zu nutzen. Synchronisiere Verhaltenskohorten, Nutzer:innen-Eigenschaften und Produktevents, um zielgerichtete Kampagnen zu betreiben.
Überblick
| Eigenschaft | Wert |
|---|---|
| Plattform | Amplitude |
| Kategorie | Analytics (Custom) |
| Einrichtungsaufwand | Mittel |
| Offizielle Integration | Nein |
| Synchronisierte Daten | Events, Nutzer:innen, Kohorten, Eigenschaften |
| Verfügbare Skills | 6 |
Funktionen
- Event-Weiterleitung - Sende Amplitude-Track-Events an Brevo, um Trigger für die Marketingautomatisierung zu nutzen
- Kohorten-Synchronisierung - Exportiere Amplitude-Verhaltenskohorten als Brevo-Kontaktlisten
- Synchronisierung von Nutzer:innen-Eigenschaften - Ordne Amplitude-Nutzer:innen-Eigenschaften Brevo-Kontaktattributen zu
- Umsatz-Tracking - Synchronisiere Umsatzereignisse für die Analyse des Customer Lifetime Value
- Verhaltensbasierte Segmentierung - Nutze Amplitude-Engagement-Daten in Brevo-Segmenten
- HTTP-V2-API-Integration - Direkte Integration mit der HTTP-V2-Ingestion-API von Amplitude
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Ein Amplitude-Konto mit einem angelegten Projekt
- Deinen Amplitude API Key und Secret Key
- Ein Brevo-Konto mit API-Zugriff
- Ein Tajo-Konto mit API-Zugangsdaten
Authentifizierung
Amplitude-API-Keys
Amplitude verwendet API-Key- und Secret-Key-Paare zur Authentifizierung. Der API-Key identifiziert dein Projekt, während der Secret-Key serverseitige Anfragen authentifiziert.
# Find your keys in Amplitude:# Settings > Projects > [Your Project] > GeneralAuthentifizierung der HTTP V2 API
Die HTTP V2 API verwendet den API-Key im Request-Body:
curl -X POST https://api2.amplitude.com/2/httpapi \ -H "Content-Type: application/json" \ -d '{ "api_key": "YOUR_AMPLITUDE_API_KEY", "events": [...] }'Konfiguration
Grundeinrichtung
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: 12Event-Zuordnung
Ordne Amplitude-Events Brevo-Automatisierungsauslösern zu:
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"Zuordnung von Nutzer:innen-Eigenschaften
Ordne Amplitude-Nutzer:innen-Eigenschaften Brevo-Kontaktattributen zu:
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: DEVICEAPI-Endpunkte
| Methode | Endpunkt | Beschreibung |
|---|---|---|
POST | /2/httpapi | Events hochladen (HTTP V2 API) |
POST | /batch | Events per Batch-API hochladen |
POST | /identify | Nutzer:innen-Eigenschaften setzen |
POST | /groupidentify | Gruppen-Eigenschaften setzen |
GET | /2/export | Rohe Event-Daten exportieren |
GET | /2/usersearch | Nach Nutzer:innen suchen |
GET | /2/useractivity | Aktivitätsverlauf eines Nutzers/einer Nutzerin abrufen |
POST | /api/3/cohort/export | Kohorten-Mitglieder exportieren |
GET | /api/3/chart/{chart_id}/query | Gespeicherte Chart-Daten abfragen |
Code-Beispiele
Amplitude-Connector initialisieren
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'});Events über HTTP V2 API senden
// 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 }Kohorte mit Brevo-Liste synchronisieren
// 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// }Ratenbegrenzungen
| API | Limit | Details |
|---|---|---|
| HTTP V2 API | 1.000 Events/Sek. | Pro Projekt, Burst bis zu 2.000/Sek. |
| Batch API | 1.000 Events/Batch | Max. 20 Batches/Sek. |
| Identify API | 1.000 Anf./Sek. | Pro Projekt |
| Export API | 360 Anfragen/Stunde | Pro Projekt |
| Cohort Export | 1 gleichzeitiger Export | Pro Kohorte |
| Dashboard REST API | 360 Anfragen/Stunde | Pro Projekt |
Event-Größenlimits
Jedes Event-Payload darf 1 MB nicht überschreiten. Die HTTP V2 API akzeptiert bis zu 2.000 Events pro Anfrage mit einer maximalen Body-Größe von 20 MB.
Fehlerbehebung
| Problem | Ursache | Lösung |
|---|---|---|
Events geben invalid-Status zurück | Pflichtfelder fehlen | Sicherstellen, dass user_id oder device_id bei jedem Event gesetzt ist |
| Nutzer:innen-Eigenschaften werden nicht synchronisiert | Falscher Property-Operator | $set zum Setzen, $setOnce für First-Touch-Werte verwenden |
| Kohorten-Export leer | Kohorte wird noch berechnet | Kohortenberechnung vor dem Export abwarten |
| 429 Too Many Requests | Ratenbegrenzung überschritten | Exponentielles Backoff einführen und Batch-API nutzen |
| Umsatz wird nicht erfasst | Umsatzfelder fehlen | price, quantity und revenue in Event-Eigenschaften angeben |
| EU-Daten werden nicht geroutet | Falsches Rechenzentrum | data_center: "EU" setzen und api.eu.amplitude.com verwenden |
Best Practices
- HTTP V2 API nutzen - Bevorzuge die V2 API gegenüber der Legacy-HTTP-API für bessere Validierung und Fehlerantworten
- Events bündeln - Sende Events in Batches bis zu 1.000, um den Durchsatz zu optimieren
- Nutzer:innen-Eigenschaften an Events setzen - Füge
user_propertiesan Track-Events an, um Identify-Aufrufe zu reduzieren - Kohorten zur Segmentierung nutzen - Synchronisiere Verhaltenskohorten, statt komplexe Segmentierungslogik zu replizieren
- Umsatz-Events korrekt tracken - Verwende
revenue,priceundproductIdfür ein exaktes Umsatz-Tracking - Ingestion-Gesundheit überwachen - Prüfe den Ingestion Debugger von Amplitude auf Event-Validierungsfehler
- Serverseitiges Tracking implementieren - Nutze serverseitige SDKs für eine zuverlässige Event-Zustellung
Sicherheit
- Nur HTTPS - Die gesamte API-Kommunikation erfordert TLS 1.2+
- API-Key-Rotation - Rotiere Secret-Keys regelmäßig über die Amplitude-Einstellungen
- IP-Allowlisting - Verfügbar in Enterprise-Plänen
- SOC 2 Type II - Amplitude ist SOC-2-Type-II-zertifiziert
- DSGVO/CCPA - Unterstützung für Nutzer:innen-Datenlöschung und Exportanträge
- EU-Datenresidenz - Option für EU-Rechenzentrum verfügbar