Skip to main content
How does FirstPromoter track affiliate sales (SaaS version)?
Virgil avatar
Written by Virgil
Updated over a week ago

After you sign up to First Promoter you'll get to the Getting Started section which will help you set up the affiliate program.

The 3rd step on the Getting Started page helps you connect FirstPromoter with your website through tracking scripts and with your billing system.

We need to connect directly to your billing solution to increase accuracy of the tracking, to reduce fraud and for a much better management of your affiliate program. Because of this tight integration, the fraud is reduced to a very low level, the rewards are attributed only when the sale happens, not by some tracking pixel which can be easily faked.

How do you know which sales come from an affiliate?

*doesn't apply for Chargebee Dropin script integration

There are 2 types of tracking scripts you need to add to your website. First one tracks visits(clicks) from promoters, second one tracks the leads (trial sign ups). The first script also sets the affiliate cookie(if the request came from a referral link).

If there is a valid affiliate cookie already set, the second script will send lead/sign up data to FirstPromoter, including email or "uid" (this is the user/customer ID used in the billing provider) when a sign up occurs.

The sign up event doesn't trigger a reward. However, when the sale happens, we will match the customer data from your billing provider with the lead (trial sign up) previously sent to FirstPromoter. The reward will be now attributed to the affiliate who referred the lead. The integration allows us to listen to the webhooks of your billing provider and retrieve the sale and customer info when the sale happens.

For matching the lead sent to FirstPromoter with the sale, by default, we use email (before the user makes the first payment) and customer ID from the billing system (for the following recurring payments). During the first payment we assign the customer ID to the lead and the next payments will be matched by the id, not email, to increase accuracy.

If you don't store the email address on your billing provider or you allow users to change the billing email before the first payment, you can use our "uid" parameter to pass the customer ID from Stripe, Recurly, Paddle or Braintree to the sign up tracking function so we can use that to match the sales with the sign ups sent to FirstPromoter. You can also pre-generate the Customer ID for Braintree or Recurly, pass that on the sign up event to FirstPromoter and use the value when you create the Customer object (on Braintree or Recurly). Stripe doesn't allow to pass a pre-generated customer id, but you can pass a "fp_uid" attribute on the metadata payload of the Stripe Customer object and we'll use that instead.

Did this answer your question?