Attribute Paddle revenue to signups

Pass the visitor id as customData when you open checkout.

Before you start

Signups must already be tracked - revenue is attributed through the signup it belongs to. See Signup tracking.

Optional. With your payment provider connected and signups tracked, Chartsy already matches revenue to each signup by email - no payment code needed. This step only covers people who pay with a different email than they signed up with. See how revenue attribution works.

1Pass the visitor id as customData

When you open checkout. Chartsy copies it from the transaction onto the customer automatically - the checkout is all you touch.

const visitorId = document.cookie.match(/(?:^|; )chartsy_visitor_id=([^;]*)/)?.[1] || '';

Paddle.Checkout.open({
  items: [{ priceId: 'pri_...', quantity: 1 }],
  customData: { chartsy_visitor_id: decodeURIComponent(visitorId) },
});

Creating transactions from your server?

Put the same custom_data on the transaction.

Related articles

Chartsy Team

Written by

Chartsy Team

Analytics team at Chartsy

The Chartsy Team writes guides, product updates, and resources to help SaaS and eCommerce founders make sense of their metrics, without SQL or spreadsheets.

Chartsy
Ministry of Economy and Innovation
Startup Albania

The Chartsy program is realized with the financial support of the Albanian Government through the Ministry of Economy and Innovation, under the Grant 2026 scheme, and is implemented by the Innovation4Albania Agency.