Attribute Freemius revenue to signups

Lock checkout to the signup email and record every buyer.

Before you start

Signups must already be tracked, and your Freemius product connected to Chartsy - see Signup tracking and the Freemius connection guide.

Freemius Checkout has no custom-data option, so it can't carry the Chartsy visitor id. Freemius payments are matched to visitors by email only. The step below makes that reliable: logged-in buyers pay with the email they signed up with, and every buyer is recorded with the source of their visit - even people who never created an account.

1Lock checkout to the signup email and record every buyer

Where your site opens Freemius Checkout:

const checkout = new Checkout({
  product_id: '<your product id>',
  public_key: 'pk_...',
});
checkout.open({
  // Logged-in users pay with the email they signed up with
  user_email: currentUser?.email,
  readonly_user: Boolean(currentUser),
  // Records every buyer, including ones who never signed up
  purchaseCompleted: (data) => window.chartsy?.identify({ email: data.user.email }),
});

identify() never overwrites an existing signup, so a buyer who did sign up keeps that signup's source. A buyer recorded this way counts as a signup in your Growth numbers.

GDPR mode

Matching is by email, so with GDPR mode on for the Freemius source - where no customer emails are kept - Freemius revenue can't be matched to a source. Leave GDPR mode off for this source if you want revenue by channel.

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.