First touch
Credits the channel that first brought the customer to your site. Use it to see which channels introduce people who later pay - newsletters, launches and content usually show up here.
Chartsy follows every customer from first visit to signup to paid subscription, and matches it to the payments in Stripe, Paddle, Polar.sh, Freemius, Creem.io or Lemon Squeezy. So you can compare channels on MRR, not clicks.
From $9/month. No card required for the trial.
Revenue attribution is crediting each paying customer, and the revenue they bring, to the marketing channel or campaign that brought them. For a SaaS business, it means connecting a website visit and signup to the subscription payment that came later - so you can see which channels grow MRR, not just which ones send traffic.
Most analytics tools stop at the signup. Revenue attribution needs the last step: the payment.
One script on your website records the source and campaign of every visit - search, newsletters, launches, social, AI assistants or UTM-tagged links.
One tag, under Growth → Set up tracking.
When a visitor signs up, the signup keeps the channel that brought them - both the first one and the last one before signing up.
Works across subdomains, so marketing site and app stay connected.
When they pay, Chartsy matches the payment in your billing account to the signup by visitor id, a success page or email.
No double counting: one purchase is credited once.
Signups, paying customers, MRR and churn by source and campaign - so you can see which channels grow MRR, not just traffic.
First touch and last touch, side by side.
Email matching works everywhere with no setup, as long as the customer pays with the email they signed up with. These methods keep the match when they don’t.
| Provider | No-code option | From your checkout code | Learn more |
|---|---|---|---|
| Stripe | Payment Link success page with ?session_id= | Visitor id in Checkout Session metadata | Stripe analyticsSetup guide |
| Paddle Billing | Email matching | Visitor id as customData in Paddle.js checkout | Paddle analyticsSetup guide |
| Polar.sh | Checkout link success URL with ?checkout_id= | Visitor id in checkout metadata | Polar.sh analyticsSetup guide |
| Creem.io | Product success URL (Creem adds the checkout id) | Visitor id in checkout metadata | Creem.io analyticsSetup guide |
| Lemon Squeezy | Button link with ?order_id= and order_identifier | Visitor id in checkout custom data | Lemon Squeezy analyticsSetup guide |
| Freemius | Email matching | Lock checkout to the signup email; record buyers on purchase | Freemius analyticsSetup guide |
Billing somewhere else? Send your data through the Custom API.
Customers often find you one way and come back another. Each model answers a different question.
Credits the channel that first brought the customer to your site. Use it to see which channels introduce people who later pay - newsletters, launches and content usually show up here.
Credits the channel of the visit before they signed up. Use it to see which channels close - search and direct visits often show up here.
Revenue attribution is included in every plan. Starter is $9/month with 2 data sources and 2 websites; Growth starts at $29/month with 20 of each. 14-day trial, no card required. See pricing.
Revenue attribution is crediting each paying customer, and the revenue they bring, to the marketing channel or campaign that brought them. For a SaaS business that means connecting a website visit and signup to the subscription payment that came later, so you can compare channels on revenue instead of clicks.
Marketing attribution often stops at leads, signups or conversions. Revenue attribution goes one step further and matches those people to what they actually paid, so a channel that brings many signups but few paying customers stops looking like a win.
Stripe, Paddle, Freemius, Polar.sh, Creem.io or Lemon Squeezy. Stripe, Paddle Billing, Polar.sh, Creem.io and Lemon Squeezy payments can be matched by visitor id or a success page; Freemius payments are matched by email.
Pass the Chartsy visitor id at checkout, or send buyers back to a success page on your site. Both match the payment to the visit even when the billing email is different, and both keep working with GDPR mode on.
Both. First touch shows the channel that introduced a customer; last touch shows the one that brought them back to sign up. Switch between them to see which channels start journeys and which close them.
Not for most setups. The website script is one tag, email matching needs no code, and success-page matching for Stripe Payment Links, Polar, Creem and Lemon Squeezy is a URL you paste into your provider. Passing the visitor id from your own checkout code is a one-line change.
Connect your payment provider, add one script to your website, and see paying customers by channel.
Start free - 14 days
Ministry of Economy and Innovation
Startup AlbaniaThe 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.