Revenue Attribution

Growth

See which channel actually pays you - not just which one signs people up.

Most attribution tools stop at visits or signups. Growth goes further: it follows a visitor from the channel that brought them in, through their signup, to the actual Stripe or Paddle revenue they generate - and rolls all of it up by source, automatically.

The question analytics tools can't answer

You can usually find out how many people visited from Product Hunt, or how many signed up from a Google ad. What almost nobody can answer without hours of manual work is how much monthly recurring revenue that channel is actually worth, after accounting for the customers who churned.

That answer requires joining three systems that were never built to talk to each other: your site analytics, your signup flow, and your billing provider. Growth does that join natively - because Chartsy already has your Stripe or Paddle data synced, it can connect revenue back to the channel that originally drove it without you exporting a single CSV.

How Growth tracks the full funnel

A single script tag on your site reads UTM parameters and classifies referrers into channels automatically - organic search, social, referral sources like Hacker News or Product Hunt - using the same channel-grouping logic behind most standard analytics platforms. It also recognizes ad click IDs (gclid, msclkid), social click IDs (twclid, fbclid), and generic referral parameters (ref, via, aff) used by affiliate and referral tools. Each visitor gets a persistent, anonymous ID, and a first-touch and last-touch cookie shared automatically across all your subdomains - so someone who lands on your marketing site and signs up on a separate app subdomain still gets attributed correctly.

Signup tracking ties each new signup back to whichever channel drove that visitor's very first visit - with one line of code, or zero code via a form attribute. From there, once your Stripe or Paddle account is connected, Growth automatically matches signups to real subscriptions and transactions, rolling up current MRR, lifetime revenue, subscription status, and churn by source.

Undercounts on purpose, so the numbers stay trustworthy

When a visit has no identifiable source, Growth doesn't force it into a channel bucket to make the totals look tidier. It gets counted as direct rather than guessed at. That means the revenue-by-channel numbers you see are never inflated by noisy estimates - if Growth says a channel is worth a certain amount of MRR, that number is built from real matched visits and real matched revenue, not an approximation.

How it works

1

Add one script tag to your site

Drop a single lightweight script tag into your site - no build step required. It starts reading UTM parameters, click IDs, and referrers immediately, and sets first-touch and last-touch cookies shared across your subdomains.

2

Fire the signup event

Add one line of code, or a form attribute for zero-code setups, at the moment someone signs up. That signup gets tied back to the channel that drove their very first visit.

3

Connect your Stripe or Paddle account

Link your billing provider via read-only OAuth. Growth automatically matches signups to real subscriptions and transactions using the visitor's persistent ID.

4

See revenue rolled up by channel

View current MRR, lifetime revenue, subscription status, and churn broken down by the channel that originally brought each customer in - updated automatically with every sync.

Key benefits

  • Classifies channels automatically using the same channel-grouping logic behind standard analytics platforms
  • Recognizes ad click IDs, social click IDs, and generic referral parameters used by affiliate tools
  • First-touch and last-touch cookies shared across all your subdomains - no lost attribution at signup
  • Zero-code signup tracking available via a form attribute, or a single line of code
  • Matches signups to real Stripe or Paddle subscriptions - MRR, lifetime revenue, and churn by source
  • Never force-fits an unidentifiable visit into a channel bucket - no inflated or noisy numbers

Who this is for

Growth is for SaaS founders running acquisition across more than one channel - paid ads, organic search, social, referral, or a Product Hunt-style launch - who want to know which one is actually worth continuing, based on revenue and churn, not just visit or signup counts.

Ready to try Growth?

Connect your data source and get your first insights in minutes - no credit card required.