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.


