Metrivo
Docs/Dodo Payments

Dodo Payments Setup

Connect Dodo Payments through guided webhook setup for confidence-based revenue attribution. The Manual Payment API remains the recommended self-serve fallback for private launch.

How the integration works

When a customer completes a payment on Dodo, Dodo sends a webhook event to Metrivo. Our server receives the event, extracts the customer email or external ID, and matches it to the visitor's session. The revenue is then attributed to the traffic source, landing page, and keyword of that session.

This works because the tracking script assigns anonymous visitor and session IDs. Passing those IDs into payment metadata gives the strongest match; otherwise Metrivo falls back to visitor, customer, and source signals.

Setup steps

1

Ask Metrivo to create the integration

For private launch, Metrivo support creates the Dodo payment integration row for your website and gives you a webhook URL like: https://metrivo.co/api/integrations/dodo/webhook/YOUR_INTEGRATION_ID

2

Configure the webhook in Dodo Payments

In your Dodo Payments dashboard, navigate to Settings → Webhooks → Add Webhook. Paste the Metrivo webhook URL. Select the event: payment.succeeded. Save the webhook configuration.

3

Verify the webhook connection

Dodo Payments will send a test ping to verify the endpoint. Metrivo support confirms the event is received and the integration is active.

4

Test with a real transaction

Make a test purchase on your site (you can refund it immediately). Metrivo support confirms the payment appears with an attribution confidence label.

Supported webhook events

payment.succeeded

The primary event. Metrivo receives the payment amount, customer email/ID, and attributes it to the visitor session.

payment.refunded

If a payment is refunded, the revenue is deducted from the attribution record. This keeps your data accurate when customers request refunds.

subscription.created

For subscription products, we record the initial subscription event. Subsequent recurring charges (payment.succeeded) are also tracked.

Need more help?

Check our other integration guides or contact support for a guided setup.