Glossary · Attribution

What is revenue attribution?

Revenue attribution is the practice of connecting each payment to the visitor who made it and the marketing sources — referrer, campaign, landing page — that brought that visitor, so you can see how much money each channel actually produced.

Most analytics stops at visits or sign-ups. Revenue attribution goes one step further and answers the question founders actually have: which channels bring customers who pay?

Updated

How does revenue attribution work?

  • The analytics script gives each browser an anonymous visitor id and records where each visit came from.
  • At checkout, your code passes that visitor id to the payment provider in a field it already has for your own data (Stripe's client_reference_id, for example).
  • When the payment succeeds, the provider calls a webhook. The analytics tool verifies the signature, reads the visitor id back, and records the payment against that visitor.
  • The payment is credited to the visitor's source under an attribution model — commonly first touch.

Revenue attribution example

Hacker News sends the most traffic after Google; the partner newsletter sends a seventh as much and earns nearly twice the money. Without revenue attribution, the visitor chart points you the wrong way. Compute your own with the revenue per visitor calculator.

SourceVisitorsSign-upsRevenueRevenue per visitor
Google organic8,000240$2,880$0.36
Hacker News6,500130$870$0.13
Partner newsletter90054$1,620$1.80

Why revenue attribution matters

Visits are cheap to grow and easy to misjudge. Tying money to sources lets you compute real CAC and ROAS per channel, prioritize the content and partners that convert, and stop paying for traffic that never buys.

Common revenue attribution pitfalls

  • No visitor id at checkout. If the id isn't passed to the provider, payments arrive but can't be matched.
  • Checkout on another domain. Read the id on your own site before redirecting to a hosted checkout.
  • Ad blockers. Visitors whose blocker stops the script have no id, so their payments go unattributed.
  • Refunds ignored. Without refund events, revenue by channel is overstated.
  • Long cycles in cookieless mode. Without a persistent id, a payment weeks after the first visit can't be linked unless your app stores the first touch.

How VisitTrack does revenue attribution

VisitTrack connects to Stripe, Polar, Lemon Squeezy, Paddle and Razorpay through signed webhooks. Each payment is matched to the visitor id you pass at checkout and credited to their first touch — first referrer, UTM source/medium/campaign and landing page — with days and visits to convert. Refund events subtract automatically, duplicate deliveries are ignored, and every attributed payment also writes a payment_completed event you can use as a funnel step. The Revenue tab breaks revenue down by referrer, campaign and landing page and compares five attribution models. Setup is in the revenue attribution docs, with guides for Stripe, Polar, Lemon Squeezy, Paddle and Razorpay.

Frequently asked questions

How do I track which marketing channel a Stripe payment came from?

Pass your analytics visitor id into the Checkout Session's client_reference_id, connect Stripe's webhook to your analytics tool, and the payment can be matched to the visitor and credited to the source of their visits.

Does revenue attribution need cookies?

It needs some way to recognize the visitor between their first visit and the payment. A first-party identifier does that across days; in cookieless mode, attribution works within a day unless your app stores the first touch and sends it back at sign-up.

What is the difference between revenue attribution and conversion tracking?

Conversion tracking counts that a goal happened, such as a sign-up. Revenue attribution records the actual payment amount and credits it to the visitor's marketing source, so you can compare channels by money.

Related terms

Tools and guides

See which channels actually bring paying customers

VisitTrack is cookie-free analytics with revenue attribution built in. One script tag, no consent banner, live in two minutes. 14 days free, no card required.