Introdução
Rastreie eventos de pagamento no Segment para potencializar suas análises, automação de marketing e plataforma de dados do cliente. Envie eventos de pagamento, assinatura e ciclo de vida do cliente para mais de 300 ferramentas downstream automaticamente.
Esta integração requer uma Segment Write Key do seu workspace do Segment.
Começando
Open the Webhook Section
No painel do Dodo Payments, navegue até Webhooks → + Add Endpoint e expanda o menu suspenso de integrações.
Select Segment
Escolha o cartão de integração Segment .
Enter Write Key
Insira sua Segment Write Key na configuração.
Configure Transformation
Edite o código de transformação para formatar eventos para a Track API do Segment.
Test & Create
Teste com payloads de exemplo e clique em Create para ativar a sincronização.
Done!
🎉 Os eventos de pagamento agora serão rastreados no Segment e enviados para suas ferramentas conectadas.
Rastrear Eventos de Pagamento
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 Assinatura
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 Propriedades do 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
Dicas
Use nomes de eventos consistentes em toda a sua integração
Inclua propriedades relevantes para análises e segmentação
Defina timestamps adequados para rastreamento preciso de eventos
Use IDs de clientes como userId para identificação correta do usuário
Solução de Problemas
Events not appearing in Segment
Verifique se a Write Key está correta e ativa
Confira se os nomes de eventos seguem as convenções do Segment
Garanta que o userId esteja configurado corretamente para identificação do usuário
Revise os limites de taxa da API do Segment