Introduction
Suivez les événements de paiement dans Segment pour alimenter vos analyses, votre automatisation marketing et votre plateforme de données clients. Envoyez automatiquement des événements de paiement, d’abonnement et de cycle de vie client vers plus de 300 outils en aval.
Cette intégration nécessite une clé d’écriture Segment de votre espace de travail Segment.
Prise en main
Ouvrir la section Webhook
Dans votre tableau de bord Dodo Payments, accédez à Webhooks → + Ajouter un point de terminaison et développez le menu déroulant des intégrations.
Sélectionner Segment
Choisissez la carte d’intégration Segment .
Entrer la clé d'écriture
Fournissez votre clé d’écriture Segment dans la configuration.
Configurer la transformation
Modifiez le code de transformation pour formater les événements pour l’API Track de Segment.
Tester et créer
Testez avec des charges utiles d’exemple et cliquez sur Créer pour activer la synchronisation.
C'est fait !
🎉 Les événements de paiement seront désormais suivis dans Segment et envoyés à vos outils connectés.
Suivre les événements de paiement
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
Suivre le cycle de vie de l’abonnement
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
Identifier les propriétés du client
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
Conseils
Utilisez des noms d’événements cohérents dans votre intégration
Incluez des propriétés pertinentes pour l’analyse et la segmentation
Définissez des horodatages appropriés pour un suivi précis des événements
Utilisez des identifiants clients comme userId pour une identification correcte des utilisateurs
Dépannage
Événements n'apparaissant pas dans Segment
Vérifiez que la clé d’écriture est correcte et active
Assurez-vous que les noms d’événements respectent les conventions de nommage de Segment
Vérifiez que userId est correctement défini pour l’identification des utilisateurs
Consultez les limites de taux de l’API Segment
Erreurs de transformation