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.

Revenue · last 10 daysDemo data
How it works

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
Top channels · 30 daysDemo data
Newsletter4,212$8,420
Facebook3,108$5,140
YouTube1,927$3,860
Direct1,512$1,910
Merchant of record, sorted

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
Revenue · last 10 daysDemo data
Subscription LTV

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
Top channels · 30 daysDemo data
Newsletter4,212$8,420
Facebook3,108$5,140
YouTube1,927$3,860
Direct1,512$1,910

Setup

How do I connect Paddle to TrackRev?

One script tag, one line in your Paddle Billing checkout config, one webhook.

1

Drop the first-party pixel

Sets a first-party cookie, exposeswindow.trackrev.visitorId()for your checkout JS to read.

Your site (once)
<script async
  src="https://app.trackrev.io/p.js"
  data-id="ws_..."
  data-cookie-domain=".yoursite.com"></script>
2

Pass the visitor id into Paddle checkout

Paddle Billing takes the visitor id incustomData. Paddle Classic is not supported.

Paddle Billing (custom_data)
// 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,  },});
3

Point a Paddle webhook at TrackRev

Signed with your Paddle public key, idempotent onevent_id. Replays don't double-attribute.

Paddle → Notifications
# Paddle Dashboard → Developers → Notifications → New endpoint: https://api.trackrev.io/webhooks/paddle/ws_xxxx # Events:transaction.completedtransaction.payment_failedsubscription.canceledadjustment.created    # refunds + chargebacks

What 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.

Paddle + affiliate program

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
Top channels · 30 daysDemo data
Newsletter4,212$8,420
Facebook3,108$5,140
YouTube1,927$3,860
Direct1,512$1,910

FAQs

How does TrackRev's Paddle integration work?

TrackRev supports Paddle Billing only. Paddle Classic is not supported, so use an API key from Paddle Billing. TrackRev reads transactions via the v1 API and listens for the `transaction.completed` webhook. Set a key, set a webhook, done.

Connect Paddle. Pay partners on tax-exclusive revenue.

Works with Paddle Billing. Plans from $29/mo, no limit on tracked revenue, 0% fees.