Introdução
DataFast é uma ferramenta de análise focada em receita que mostra quais canais de marketing trazem clientes pagantes. Quando você envia suas transações do Dodo Payments para o DataFast, ele atribui a receita à fonte de tráfego original de cada cliente, permitindo ver quais canais e segmentos de clientes geram mais receita.Esta integração requer sua chave de API do DataFast, que você cria no seu painel do DataFast.
Como Funciona
O DataFast identifica cada visitante com um ID armazenado no cookiedatafast_visitor_id. Para atribuir a receita aos canais de marketing:
- Capture o ID do visitante do DataFast no cookie
datafast_visitor_idao criar o checkout. - Armazene o ID do visitante no
metadatado pagamento. - Envie o pagamento ao DataFast por meio da Payment API quando o pagamento for concluído.
Começando
1
Install DataFast Script
Instale o script de rastreamento do DataFast no seu site. O script define o cookie
datafast_visitor_id que identifica cada visitante.Para obter instruções de instalação para sua plataforma, consulte a documentação do DataFast.2
Get Your API Key
No seu painel do DataFast, abra as configurações do seu site, acesse API e clique em Create API Key.
3
Capture Visitor ID in Checkout
Ao criar um checkout, leia o ID do visitante do DataFast no cookie e adicione-o ao
metadata do pagamento. Consulte a Etapa 1.4
Send Payment Data via Webhook
Crie um endpoint de webhook que envie cada pagamento bem-sucedido à Payment API do DataFast. Consulte a Etapa 2.
5
Done
A receita aparece no seu painel do DataFast, atribuída ao canal de marketing que trouxe cada cliente.
Guia de implementação
Etapa 1: adicionar o ID do visitante aos metadados do checkout
Ao criar um checkout, leia o ID do visitante do DataFast no cookie e inclua-o nometadata do pagamento.
Os exemplos abaixo usam INLINE_CODE_PLACEHOLDER_387c606e6218259f8_END, que está obsoleto. Ele continua funcionando para integrações existentes, mas novas integrações devem usar Checkout Sessions (
POST /checkouts), que aceitam metadata da mesma forma.Etapa 2: enviar dados de pagamento ao DataFast
Crie um endpoint de webhook que envie pagamentos bem-sucedidos à Payment API do DataFast.1
Open the Webhook Section
No dashboard do Dodo Payments, acesse Developer → Webhooks e clique em Add endpoint.

2
Select DataFast
Em Integration, selecione DataFast.
3
Enter API Key
Em API key, cole sua chave de API do DataFast. O Dodo Payments a envia no cabeçalho 
Authorization de cada entrega.
4
Check the URL and Events
Se Endpoint URL estiver vazio, insira
https://datafa.st/api/v1/payments. Em Subscribed events, selecione payment.succeeded.5
Configure Transformation
Em Transformation code, edite o handler para formatar os dados de pagamento para a Payment API do DataFast. Comece pelos exemplos.
6
Test & Create
Em Test this code, clique em Simulate para executar o handler com um payload de exemplo. Em seguida, clique em Create endpoint.
Exemplos de código de transformação
Cada handler é executado empayment.succeeded. Quando o metadata do pagamento não tem um ID de visitante, ele define webhook.cancel = true, portanto nenhuma solicitação é enviada ao DataFast. Uma entrega cancelada ainda aparece como bem-sucedida nos logs do webhook.
A Payment API do DataFast recebe amount em unidades monetárias principais, por exemplo, 29.99. O Dodo Payments envia total_amount na menor unidade monetária, por exemplo, centavos para USD, portanto os exemplos fazem a conversão.
Atribuição básica de pagamentos
basic_payment.js
Como lidar com moedas sem casas decimais
Moedas sem casas decimais, como JPY, não têm unidade menor, portantototal_amount já está em unidades principais. Moedas com três casas decimais, como KWD, têm 1.000 unidades menores por unidade principal. Este exemplo converte o valor para cada caso, usando as moedas que o Dodo Payments trata como sem casas decimais e com três casas decimais:
zero_decimal.js
Pagamentos de assinatura
Pagamentos de assinatura também acionampayment.succeeded, com subscription_id definido. Este handler envia todos os pagamentos de assinatura ao DataFast e define renewal: true nas renovações, para que o DataFast possa distinguir uma renovação do primeiro pagamento.
Uma renovação é cobrada off-session, portanto seu payload tem subscription_id definido e checkout_session_id definido como null. O primeiro pagamento de uma assinatura criada por meio de uma Checkout Session tem checkout_session_id definido. Os pagamentos de renovação incluem o metadata da assinatura, portanto mantenha datafast_visitor_id nos metadados da assinatura para atribuir as renovações.
subscription_payment.js
Práticas recomendadas
- Inclua o ID de visitante nos metadados: sem o ID de visitante, o DataFast não consegue atribuir a receita aos canais de marketing.
- Lide com moedas sem casas decimais: algumas moedas, como JPY e KRW, não têm casas decimais. Ajuste a conversão do valor para elas e para moedas com três casas decimais, como KWD.
- Teste com pagamentos de exemplo: execute o handler usando Test this code e confirme se a integração funciona antes de entrar em produção.
- Monitore seu dashboard do DataFast: verifique se os pagamentos aparecem com a atribuição esperada.
- Conte com as novas tentativas do webhook: o DataFast ignora um pagamento cujo
transaction_idjá tenha sido registrado, portanto uma entrega repetida não cria uma duplicata.
Solução de problemas
Payments Not Appearing in DataFast
Payments Not Appearing in DataFast
- Verifique se sua chave de API do DataFast está correta e ativa.
- Verifique se o
datafast_visitor_idfoi capturado e armazenado nos metadados do pagamento. - Verifique se a transformação do webhook formata o payload corretamente.
- Verifique se o endpoint está inscrito em
payment.succeeded. - Consulte o dashboard do DataFast em busca de mensagens de erro ou logs da API.
- Abra as tentativas de entrega do endpoint na aba Logs de Developer → Webhooks para ver a resposta do DataFast. Um pagamento sem ID de visitante é cancelado e aparece como bem-sucedido.
Revenue Attribution Not Working
Revenue Attribution Not Working
- Confirme se o script de rastreamento do DataFast está instalado e em execução no seu site.
- Verifique se o cookie
datafast_visitor_idestá definido. - Verifique se o ID de visitante nos metadados do pagamento corresponde ao ID registrado pelo DataFast para a visita.
- Capture o ID de visitante antes de criar o checkout.
- Consulte a documentação da Payment API do DataFast para obter mais orientações.
Transformation Errors
Transformation Errors
- Verifique se o payload corresponde ao formato da Payment API do DataFast.
- Verifique se todos os campos obrigatórios estão presentes:
amount,currencyetransaction_id. Incluadatafast_visitor_idpara atribuição. - Verifique a conversão do valor: divida por 100 para a maioria das moedas, por 1.000 para moedas com três casas decimais e não divida para moedas sem casas decimais.
- Verifique se a URL do endpoint é
https://datafa.st/api/v1/payments. - Teste a transformação com payloads de webhook de exemplo.
Currency Conversion Issues
Currency Conversion Issues
- Para moedas sem casas decimais (BIF, CLP, DJF, GNF, JPY, KMF, KRW, MGA, PYG, RWF, UGX, VND, VUV, XAF, XOF e XPF), envie o valor como está.
- Para moedas com três casas decimais (BHD, IQD, JOD, KWD, LYD, OMR e TND), divida o valor por 1.000.
- Para todas as outras moedas, divida o valor por 100 para converter da menor unidade para a unidade principal.
- Verifique se o código da moeda usa o formato ISO 4217, por exemplo,
USD,EURouJPY.
Recursos adicionais
DataFast Documentation
Saiba mais sobre a Payment API do DataFast e a atribuição de receita.
DataFast Dashboard
Visualize análises de receita e dados de atribuição no seu dashboard do DataFast.
Para obter ajuda com essa integração, entre em contato com o suporte do Dodo Payments pelo endereço support@dodopayments.com.