Skip to content

Revenue attribution setup

Connect Dodo Payments for revenue attribution

Paste your API key and Thexly registers its own webhook, including fetching its signing secret, and imports your recent payments automatically.

Like Lemon Squeezy, Dodo doesn't currently offer a scoped or read-only key. The key is account-level. Thexly only makes read requests with it, plus managing its own webhook, but that's not something Dodo enforces on the key itself.

What you'll need

Access to your Dodo Payments dashboard.

Steps

  1. 1
    In your Dodo Payments dashboard, go to Developer → API.
  2. 2
    Copy your API key.
  3. 3
    Paste it into Thexly under Settings → Payments → Dodo Payments. That's the only credential needed: Thexly creates its own webhook and retrieves its signing secret using this same key, so there's nothing to separately copy from Developer → Webhooks.

What Thexly does with this connection

Thexly reads your succeeded payments and refunds and matches them against sessions your tracking script captured; see how Thexly assigns revenue to a channel for the full mechanism. The only write action Thexly takes is creating (and later removing, if you disconnect) its own webhook registration.

Dodo Payment Links are auto-decorated by Thexly's tracking script. The visitor's session is appended automatically before they click through, no code change needed. If you create payments yourself (server-side), pass the session in metadata as thexly_session_id. Call window.thexly.getSessionId() from your checkout page to get it.

The webhook Thexly registers listens for two event types: payment.succeeded and refund.succeeded. A refund is matched back to its original payment automatically, so a partial or full refund reduces attributed revenue for that transaction instead of showing up as an unrelated negative entry.

Troubleshooting

  • Test vs. live mode: Dodo's test and live keys have different prefixes (dp_test_… and dp_live_…), and Thexly reads the environment straight from whichever key you paste. There's no separate toggle to set. Just make sure you've copied the key for the mode you want connected.

What's next

← Back to Docs