Integration · Paddle
Pay partners on the real Paddle sale.
TrackRev is SaaS affiliate software for indie hackers and small SaaS teams, with no limit on tracked revenue. Paddle's merchant-of-record model hides the customer behind a VAT engine, so TrackRev passes your first-party visitor id through `custom_data` and every Paddle Billing transaction comes back joined to the partner click that earned it.
The visitor id rides shotgun through checkout.
Paddle Billing's checkout takes a `custom_data` object. We stash your TrackRev visitor id in there at checkout open. The webhook drops it back to us. Match made, commission earned.
- First-party pixel exposes window.trackrev.visitorId() for checkout config
- Paddle stores custom_data on the transaction + the subscription
- Webhook delivers transaction.completed events to TrackRev within seconds
| Newsletter | 4,212 | $8,420 |
| 3,108 | $5,140 | |
| YouTube | 1,927 | $3,860 |
| Direct | 1,512 | $1,910 |
Tax-exclusive revenue. None of Paddle's VAT inflating commissions.
Paddle handles VAT, sales tax, and reverse charge invoicing for you, but those line items shouldn't count toward a partner's commission. TrackRev reads the `tax_exclusive` total per transaction, so commissions and per-channel numbers reflect what you actually earned, not what the buyer paid.
- Net revenue = Paddle's tax-exclusive subtotal, fees backed out
- Multi-currency: native currency stored, USD at daily ECB rate for totals
- Refunds via adjustment.created reverse credit + commissions
Renewals inherit the original visitor id.
Paddle stamps `custom_data` on the subscription itself, not just the first transaction. Every renewal `transaction.completed` carries the visitor id forward — so a Newsletter signup that turns into a $390 annual subscription keeps crediting Newsletter on year 2, 3, and 4.
- Recurring multiplier configurable per program (one-time, N months, lifetime)
- Subscription cancellations stop future credit; refunds reverse it
- Plan changes update the attributed MRR without losing channel history
| Newsletter | 4,212 | $8,420 |
| 3,108 | $5,140 | |
| YouTube | 1,927 | $3,860 |
| Direct | 1,512 | $1,910 |
Setup
How do I connect Paddle to TrackRev?
One script tag, one line in your Paddle Billing checkout config, one webhook.
Drop the first-party pixel
Sets a first-party cookie, exposeswindow.trackrev.visitorId()for your checkout JS to read.
<script async
src="https://app.trackrev.io/p.js"
data-id="ws_..."
data-cookie-domain=".yoursite.com"></script>Pass the visitor id into Paddle checkout
Paddle Billing takes the visitor id incustomData. Paddle Classic is not supported.
// Paddle Billing — pass the TrackRev visitor id into custom_data.Paddle.Checkout.open({ items: [{ priceId: "pri_xxx", quantity: 1 }], customer: { email: user.email }, customData: { trackrev_visitor_id: window.trackrev?.visitorId() ?? null, },});Point a Paddle webhook at TrackRev
Signed with your Paddle public key, idempotent onevent_id. Replays don't double-attribute.
# Paddle Dashboard → Developers → Notifications → New endpoint: https://api.trackrev.io/webhooks/paddle/ws_xxxx # Events:transaction.completedtransaction.payment_failedsubscription.canceledadjustment.created # refunds + chargebacksWhat TrackRev tracks from Paddle
What does TrackRev sync from Paddle?
Completed transactions
Native currency, tax-exclusive subtotal, customer email, custom_data — joined to a click on every webhook.
Subscription renewals
Recurring transaction.completed events inherit the original subscription's custom_data + visitor id.
Paddle Billing
Billing API key and webhook behind the same TrackRev workspace as your other revenue sources.
Multi-currency
Native currency preserved per transaction; USD totals via daily ECB conversion for cross-currency views.
Refunds + adjustments
adjustment.created events reverse revenue and commission credit on the next sync tick.
Email fallback
When custom_data is missing (ad-blocker race), email-to-visitor binding catches the attribution anyway.
Pay your affiliates from Paddle transactions, same engine.
Paid-tier workspaces pipe Paddle transactions through the same commission ledger as Stripe. A partner's tagged TrackRev link drops the visitor id into checkout; the webhook closes the loop; the commission row writes itself. Refunds via Paddle's adjustment.created reverse pending commissions. No plan caps the revenue you track.
- Partner commissions accrue from real Paddle transactions, not raw clicks
- Recurring commissions follow Paddle subscription renewals
- Adjustments / refunds reverse pending commissions
- CSV payout exports for PayPal and Wise, scheduled payout batches, mark paid with a reference
| Newsletter | 4,212 | $8,420 |
| 3,108 | $5,140 | |
| YouTube | 1,927 | $3,860 |
| Direct | 1,512 | $1,910 |
FAQs
How does TrackRev's Paddle integration work?
Questions5
Connect Paddle. Pay partners on tax-exclusive revenue.
Works with Paddle Billing. Plans from $29/mo, no limit on tracked revenue, 0% fees.