Introduktion
Spåra betalningshändelser i Segment för att driva din analys, marknadsföringsautomation och kunddataplattform. Skicka betalnings-, prenumerations- och kundlivscykelhändelser till 300+ downstream-verktyg automatiskt.
Denna integration kräver en Segment Write Key från din Segment-arbetsyta.
Komma igång
Öppna Webhook-sektionen
I din Dodo Payments-instrumentpanel, navigera till Webhooks → + Lägg till slutpunkt och expandera integrationsrullgardinsmenyn.
Välj Segment
Välj Segment integrationskortet.
Ange Write Key
Ange din Segment Write Key i konfigurationen.
Konfigurera transformation
Redigera transformationskoden för att formatera händelser för Segments Track API.
Testa & Skapa
Testa med exempelpayloads och klicka på Skapa för att aktivera synkroniseringen.
Klart!
🎉 Betalningshändelser kommer nu att spåras i Segment och skickas till dina anslutna verktyg.
Spåra betalningshändelser
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
Spåra prenumerationslivscykel
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
Identifiera kundegenskaper
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
Tips
Använd konsekventa händelsenamn över din integration
Inkludera relevanta egenskaper för analys och segmentering
Ställ in korrekta tidsstämplar för noggrann händelsespårning
Använd kund-ID:n som userId för korrekt användaridentifiering
Felsökning
Händelser visas inte i Segment
Verifiera att Write Key är korrekt och aktiv
Kontrollera att händelsenamn följer Segments namngivningskonventioner
Se till att userId är korrekt inställt för användaridentifiering
Granska Segment API:s hastighetsbegränsningar