Introducción
Rastrea eventos de pago en Segment para potenciar tu análisis, automatización de marketing y plataforma de datos de clientes. Envía eventos de pago, suscripción y ciclo de vida del cliente a más de 300 herramientas de downstream automáticamente.
Esta integración requiere una Clave de Escritura de Segment de tu espacio de trabajo de Segment.
Comenzando
Open the Webhook Section
En el panel de Dodo Payments, navega a Webhooks → + Agregar endpoint y despliega el menú desplegable de integraciones.
Select Segment
Elige la tarjeta de integración de Segment .
Enter Write Key
Proporciona tu Clave de Escritura de Segment en la configuración.
Configure Transformation
Edita el código de transformación para formatear eventos para la API Track de Segment.
Test & Create
Prueba con cargas útiles de muestra y haz clic en Crear para activar la sincronización.
Done!
🎉 Los eventos de pago ahora se rastrearán en Segment y se enviarán a tus herramientas conectadas.
Rastrear Eventos de Pago
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
Rastrear Ciclo de Vida de Suscripción
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
Identificar Propiedades del Cliente
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
Consejos
Usa nombres de eventos consistentes en tu integración
Incluye propiedades relevantes para análisis y segmentación
Establece marcas de tiempo adecuadas para un rastreo preciso de eventos
Usa IDs de cliente como userId para una identificación adecuada del usuario
Solución de Problemas
Events not appearing in Segment
Verifica que la Clave de Escritura sea correcta y esté activa
Comprueba que los nombres de los eventos sigan las convenciones de nomenclatura de Segment
Asegúrate de que userId esté configurado correctamente para la identificación de usuarios
Revisa los límites de velocidad de la API de Segment