Paddle integration
Connect Paddle to measure which acquisition sources and onboarding paths lead to transactions, subscriptions, refunds, and churn.
Before you connect
- Create a Paddle API key with access to transactions and subscriptions.
- Decide how OnRamp should match a Paddle customer to a product journey. Email is the default. Use identity resolution if you need a custom ID.
- Keep test and production projects separate. Connect production credentials only to your production project.
Connect Paddle
- Open your project’s Integrations page, then Revenue.
- Select Paddle and paste the API key.
- Choose the identity strategy and connect.
- Open Paddle’s webhook settings and create an endpoint using the URL shown by OnRamp.
- Subscribe to
transaction.completed,transaction.refunded,subscription.created, andsubscription.canceled. - Copy Paddle’s signing secret back into OnRamp to verify deliveries.
What OnRamp records
- Completed transactions and refunds
- Subscription starts and cancellations
- Amount, currency, product, customer reference, and event time
The initial sync brings in eligible historical records. Webhooks keep the connection current after setup.
Match with email
If you select email matching, call identify({ email: user.email }) after sign-in. The email must agree with the Paddle customer email for OnRamp to connect revenue to a journey.
Troubleshooting
Revenue is visible but not attached to a user. Check the identity strategy and the value you send in identify().
Webhook deliveries fail. Confirm the endpoint URL includes the integration ID generated by OnRamp and that the Paddle signing secret was copied without spaces.
A historical event is missing. Run a manual sync from Integrations. Very recent provider changes may also arrive through the webhook first.
