Einführung
Verfolgen Sie Zahlungsevents in Segment, um Ihre Analysen, Marketingautomatisierung und Kunden-Datenplattform zu unterstützen. Senden Sie Zahlungs-, Abonnement- und Kundenlebenszyklusereignisse automatisch an über 300 nachgelagerte Tools.
Diese Integration erfordert einen Segment Write Key aus Ihrem Segment-Arbeitsbereich.
Erste Schritte
Webhook-Bereich öffnen
Navigieren Sie in Ihrem Dodo Payments-Dashboard zu Webhooks → + Endpoint hinzufügen und erweitern Sie das Dropdown-Menü für Integrationen.
Segment auswählen
Wählen Sie die Integrationskarte Segment aus.
Write Key eingeben
Geben Sie Ihren Segment Write Key in der Konfiguration ein.
Transformation konfigurieren
Bearbeiten Sie den Transformationscode, um Ereignisse für die Track-API von Segment zu formatieren.
Testen & Erstellen
Testen Sie mit Beispielpayloads und klicken Sie auf Erstellen , um die Synchronisierung zu aktivieren.
Fertig!
🎉 Zahlungsevents werden jetzt in Segment verfolgt und an Ihre verbundenen Tools gesendet.
Zahlungsevents verfolgen
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.segment.io/v1/track" ;
webhook . payload = {
userId: p . customer . customer_id ,
event: "Payment Completed" ,
properties: {
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
currency: p . currency || "USD" ,
payment_method: p . payment_method || "unknown" ,
payment_id: p . payment_id ,
customer_email: p . customer . email ,
customer_name: p . customer . name
},
timestamp: webhook . payload . timestamp
};
}
return webhook ;
}
See all 20 lines
Abonnementlebenszyklus verfolgen
function handler ( webhook ) {
const s = webhook . payload . data ;
switch ( webhook . eventType ) {
case "subscription.active" :
webhook . url = "https://api.segment.io/v1/track" ;
webhook . payload = {
userId: s . customer . customer_id ,
event: "Subscription Started" ,
properties: {
subscription_id: s . subscription_id ,
product_id: s . product_id ,
amount: ( s . recurring_pre_tax_amount / 100 ). toFixed ( 2 ),
frequency: s . payment_frequency_interval ,
next_billing: s . next_billing_date ,
customer_email: s . customer . email
},
timestamp: webhook . payload . timestamp
};
break ;
case "subscription.cancelled" :
webhook . url = "https://api.segment.io/v1/track" ;
webhook . payload = {
userId: s . customer . customer_id ,
event: "Subscription Cancelled" ,
properties: {
subscription_id: s . subscription_id ,
product_id: s . product_id ,
cancelled_at: s . cancelled_at ,
cancel_at_next_billing: s . cancel_at_next_billing_date ,
customer_email: s . customer . email
},
timestamp: webhook . payload . timestamp
};
break ;
}
return webhook ;
}
See all 37 lines
Kundenattribute identifizieren
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.segment.io/v1/identify" ;
webhook . payload = {
userId: p . customer . customer_id ,
traits: {
email: p . customer . email ,
name: p . customer . name ,
total_spent: ( p . total_amount / 100 ). toFixed ( 2 ),
payment_method: p . payment_method || "unknown" ,
last_payment_date: webhook . payload . timestamp ,
customer_since: webhook . payload . timestamp
}
};
}
return webhook ;
}
See all 18 lines
Tipps
Verwenden Sie konsistente Ereignisnamen in Ihrer Integration
Fügen Sie relevante Eigenschaften für Analysen und Segmentierung hinzu
Setzen Sie korrekte Zeitstempel für eine genaue Ereignisverfolgung
Verwenden Sie Kunden-IDs als userId für eine ordnungsgemäße Benutzeridentifikation
Fehlersuche
Ereignisse erscheinen nicht in Segment
Überprüfen Sie, ob der Write Key korrekt und aktiv ist
Stellen Sie sicher, dass die Ereignisnamen den Namenskonventionen von Segment folgen
Überprüfen Sie, ob userId korrekt für die Benutzeridentifikation gesetzt ist
Überprüfen Sie die API-Rate-Limits von Segment