Send Event Data From Paddle to Cometly
Login into paddle, on the left side menu go to Developer Tools > Authentication
On the Authentication page click on the + New API key button:
On the New API key popup window fill out the following fields:
Name (this can be named whatever you want, we recommend naming it Cometly Integration for organizational purposes if you have multiple API Keys)
Expires at (choose 'Never Expires')
Configure the following Permissions:
Customers: Read
Notification settings: Read, Write
Notifications: Read, Write
Subscriptions: Read
Transactions: Read
Click Save.
On the "Copy your API key" popup window click on the Copy key button to copy your API Key.
Login into Cometly account and on the left side menu click Integrations. On the Apps & Integrations page, enter "Paddle" into a search box and then click on the Paddle integration:
On the Paddle integration page paste into API Key field the API Key which was copied from Paddle account and click Save button:
Now that your API key is configured in Cometly for the Paddle integration, you can now set up events. Click Events Manager and then click Create Event.
Search for Paddle and choose Paddle as the integration. Then choose the event that you want to track. Then click Create.
Search for the the event that you just created in the Events Manager / Events table and click Configure.
Choose the event trigger for the event, here are your options:
Transaction Completed
Get notified when a transaction is completed in your Paddle account.Customer Created
Get notified when a customer is created in your Paddle account.Subscription Created
Get notified when a subscription is created in your Paddle account.
Click Continue after you have chosen the Trigger.
Mapping Data
Now you can manually trigger the event from inside your Paddle account or you can come back later to map your data once events are sent. Just click Save & Return When Data is Ready to proceed.
Easily map your app’s data fields to Cometly fields. This step ensures that the event data you send, such as email addresses, event times, or other custom data, aligns with Cometly’s reporting system.
Email and Event Time are required fields.
Mapping Fields
Email - Choose the email address field from your selected record.
Choose the corresponding field from your app’s data (e.g.,
email@example.com).
Event Time - Choose the dynamic option for the event time 'The time we receive the event.'
Click + Add Field to map more fields:
First Name
Last Name
Phone Number
Amount
comet_token (if you are using an embedded / iframe paddle checkout which we cover on the next step)
etc.
Configure Filters & Activating Event
Filters allow you to control when an event in Paddle should actually trigger an event in Cometly. This step is optional, but highly recommended if you only want to send the event under certain conditions.
To add filters:
Click “Add Another Filter”
Select the field you want to filter by.
Choose your condition (e.g.
equals,contains,starts with)Enter the value you want to match / filter on.
Tracking Embedded Paddle Checkouts
If you’re using an embedded (iframe) Paddle checkout within your funnel or website, you’ll need to take a few extra steps to ensure accurate tracking with Cometly. The guide below shows you how to install an additional script on your web page that automatically retrieves the comet_token from the Cometly tracking script and passes it into every Paddle checkout.
Once implemented, the comet_token will be included with each checkout event. You can then map the comet_token during the event mapping step to complete your setup.
Step 1: Ensure you have the Cometly Tracking script installed on every page of your Website In the <head>
Step 2: Generate Client-Side Token in Paddle & Install Additional Script Below Cometly Script in the <head> of your website
You need to get a token from your Paddle account for the Paddle.Initialize part of the additional script you are going to install on your website. Navigate to Paddle account Developer Tools > Authentication:
On the Authentication page click Client-side tokens. Then click + New Client-Side Token:
Name the token Cometly Token and then click Save.
After when the token is saved click on the three dots menu and click Copy token:
Insert that token into this script below where it says INSERT_TOKEN_HERE:
Replace the token above with your actual client-side token.
<script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>
<script>
Paddle.Initialize({ token: 'INSERT_TOKEN_HERE' });
</script>
Add this script right below the Cometly script in the <head> of your landing page before the user clicks to the embedded paddle checkout.
Assign a Default Payment Link:
In the Paddle Dashboard, go to Checkout → Checkout Settings.
Scroll to the Default Payment Link section.
Insert your website url into the field.
Click "Save" button on the top right corner of the page
Injecting the Comet Token into Paddle Checkout
To ensure accurate attribution and tracking inside Cometly, you’ll need to pass the comet_token into every Paddle checkout session. There are two ways to do this depending on how Paddle is implemented on your site — using HTML data attributes or JavaScript properties.
1. Using HTML Data Attributes
If your Paddle checkout buttons are created directly in your HTML, you can add the comet_token using the data-custom-data attribute.
Step 1:
Locate your Paddle checkout button in the HTML.
Step 2:
Add the following snippet inside the data-custom-data property:
"comet_token": cometToken()
Example:
<a
href="#"
class="paddle_button"
data-theme="light"
data-custom-data='{
"comet_token": cometToken()
}'
data-customer-address-country-code="US"
data-customer-email="weloveyourproduct@paddle.com"
data-items='[
{
"priceId": "pri_01k8prs4006dyks6c1xe1x3rge",
"quantity": 1
}
]'
>
Buy Now
</a>
This automatically includes the user’s tracking token from Cometly in the Paddle checkout session.
2. Using JavaScript Properties
If your Paddle checkout is initialized with JavaScript (for example, using Paddle.Checkout.open()), you can inject the comet_token using the customData property.
Step 1:
Locate the section of your code that calls the Paddle checkout.
Step 2:
Add the comet_token inside the customData object.
Example:
Paddle.Checkout.open({
settings: {
theme: "light",
},
items: [
{
priceId: "pri_01k8prs4006dyks6c1xe1x3rge",
quantity: 1,
},
],
customData: {
"comet_token": cometToken(),
},
customer: {
email: "weloveyourproduct@paddle.com",
address: {
countryCode: "US",
},
},
});
Verification Step
After implementing, run a test checkout and confirm that the comet_token value appears in your Paddle event payload (for example, under custom_data or equivalent). This ensures the token is being correctly passed into the checkout for attribution tracking.
The comet_token will appear in the payload in the webhook_payload property. Also the user can check if he received the comet_token from the landing page by going to Transactions on the left side menu at the Paddle account and then click on the transaction, please see below:
















