Einführung
Lösen Sie personalisierte E-Mail-Kampagnen und Kundenreisen basierend auf Zahlungsevents aus. Senden Sie automatisch Willkommens-E-Mails für neue Kunden, Abonnementaktualisierungen und Benachrichtigungen über Zahlungsfehler über Customer.io.
Diese Integration erfordert Ihre Customer.io-Site-ID und Ihren API-Schlüssel.
Erste Schritte
Open the Webhook Section
In Ihrem Dodo Payments-Dashboard navigieren Sie zu Webhooks → + Endpoint hinzufügen und erweitern Sie das Integrations-Dropdown.
Select Customer.io
Wählen Sie die Integrationskarte Customer.io .
Enter Credentials
Geben Sie Ihre Customer.io-Site-ID und Ihren API-Schlüssel in der Konfiguration an.
Configure Transformation
Passen Sie den Transformationscode an, um Ereignisse für die Track-API von Customer.io zu formatieren.
Test & Create
Testen Sie mit Beispiel-Payloads und klicken Sie auf Erstellen , um die Synchronisierung zu aktivieren.
Done!
🎉 Zahlungsereignisse lösen jetzt Customer.io-E-Mail-Automatisierungen aus.
Zahlungsevents verfolgen
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: p . customer . customer_id
},
action: "payment_completed" ,
name: "Payment Completed" ,
attributes: {
email: p . customer . email ,
name: p . customer . name ,
payment_amount: ( p . total_amount / 100 ). toFixed ( 2 ),
payment_method: p . payment_method || "unknown" ,
payment_id: p . payment_id ,
currency: p . currency || "USD"
}
};
}
return webhook ;
}
See all 23 lines
Lebenszyklus von Abonnements verfolgen
function handler ( webhook ) {
const s = webhook . payload . data ;
switch ( webhook . eventType ) {
case "subscription.active" :
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: s . customer . customer_id
},
action: "subscription_started" ,
name: "Subscription Started" ,
attributes: {
email: s . customer . email ,
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
}
};
break ;
case "subscription.cancelled" :
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: s . customer . customer_id
},
action: "subscription_cancelled" ,
name: "Subscription Cancelled" ,
attributes: {
email: s . customer . email ,
subscription_id: s . subscription_id ,
cancelled_at: s . cancelled_at ,
cancel_at_next_billing: s . cancel_at_next_billing_date
}
};
break ;
}
return webhook ;
}
See all 42 lines
Kundenattribute verfolgen
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: p . customer . customer_id
},
action: "identify" ,
name: "Customer Identified" ,
attributes: {
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 23 lines
Tipps
Verwenden Sie konsistente Ereignisnamen, die mit Ihren Customer.io-Kampagnen übereinstimmen
Fügen Sie relevante Attribute für die Personalisierung hinzu
Setzen Sie geeignete Kundenidentifikatoren für eine genaue Verfolgung
Verwenden Sie aussagekräftige Ereignisnamen für Kampagnenauslöser
Fehlersuche
Events not triggering campaigns
Überprüfen Sie, ob Site-ID und API-Schlüssel korrekt sind
Stellen Sie sicher, dass Ereignisnamen mit Ihren Customer.io-Kampagnen übereinstimmen
Vergewissern Sie sich, dass Kundenkennungen korrekt gesetzt sind
Prüfen Sie die API-Ratenbegrenzungen von Customer.io
Zuletzt geändert am 20. April 2026