Connect Paddle
Send your Paddle sales, renewals and refunds to Clakta over a webhook, and credit each sale to the visitor who made it.
Paddle sends your sales, renewals and refunds to Clakta through a webhook that you create once in Paddle.
Connect
- Go to Project settings → Sales platforms.
- Choose Paddle, name the connection, and click Create connection. Clakta generates a webhook URL. Copy it.
- In Paddle, go to Events → Notifications and click New
destination.

- In notification type select Webhook, and paste the URL you copied from Clakta.

- In events, select the events in the table below, and save.
| Event | What it does in Clakta |
|---|---|
transaction.completed | Records every sale, including subscription renewals. |
adjustment.created | Marks refunds and chargebacks. |
adjustment.updated | Confirms a refund once Paddle approves it. |
customer.created | Puts the buyer's name and email on their sales. |
customer.updated | Keeps that name and email current. |
customer.imported | The same, for customers you migrated into Paddle. |
- Open the destination you just created and copy its secret key. It starts
with
pdl_ntfset_.
- Back in Clakta, paste the secret key and click Finish.

The card reads Added once the secret is saved.
Paddle's sandbox is a different account with its own notification destinations, and one never receives the other's events. Set the connection up in the account whose sales you want in Clakta, and if you test in sandbox first, create a second connection when you go live.
Selecting extra events is harmless: anything Clakta does not handle is acknowledged and ignored.
Paddle has no separate renewal event. Each renewal is another
transaction.completed with its own id, so subscribing to that one event covers
recurring revenue as well as first purchases.
A Paddle transaction carries only a customer id: no name, no email. The three
customer.* events are the only place Paddle sends them, so leaving them out
records every sale as anonymous.
Turn on the Clakta script
To credit each sale to the visit that brought it, install the Clakta script on the pages that open your Paddle checkout. The script adds the visitor's session to the checkout on its own, so there is nothing else to set up. Projects in privacy-friendly mode don't send this session.
If you build the checkout in your own code
If you create transactions from your server, send clakta.getSessionId()
from the page with your checkout request and put it in custom_data:
If you build the checkout options yourself, decorate them first:
Troubleshooting
Related articles
Connect Shopify
Install the Clakta app on your Shopify store. It sets up checkout tracking, imports your recent orders and matches each sale to the ad that produced it.
Connect Lemon Squeezy
Send your Lemon Squeezy orders, renewals and refunds to Clakta over a webhook, and credit each sale to the visitor who made it.
Connect Dodo Payments
Point Dodo Payments at Clakta with a webhook so your payments, refunds and chargebacks arrive automatically, and each sale is matched to the visitor who made it.