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
Abre la Sección de Webhooks
En tu panel de Dodo Payments, navega a Webhooks → + Agregar Endpoint y expande el menú desplegable de integraciones.
Selecciona Segment
Elige la tarjeta de integración Segment .
Ingresa la Clave de Escritura
Proporciona tu Clave de Escritura de Segment en la configuración.
Configura la Transformación
Edita el código de transformación para dar formato a los eventos para la API Track de Segment.
Prueba y Crea
Prueba con cargas útiles de ejemplo y haz clic en Crear para activar la sincronización.
¡Listo!
🎉 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
Eventos no aparecen en Segment
Verifica que la Clave de Escritura sea correcta y esté activa
Asegúrate de 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 del usuario
Revisa los límites de tasa de la API de Segment
Errores de transformación