Revenue attribution
How attribution works
How Calmstats matches a payment to a visitor and credits the channel, campaign and page.
Revenue attribution answers one question: which traffic brings in paying customers? Calmstats connects the visit to the payment, so every report can show revenue next to visitors.
How a payment is matched
- The script gives each visitor an ID, stored in your site's own
localStorage(no cookies). - At checkout, your site passes that ID to your payment provider as
calmstats_visitor_idmetadata. Stripe Payment Links and Shopify need no code. - When the payment arrives, by webhook or by the daily sync, Calmstats looks up the visitor and every session that led to the payment.
- The payment is credited to the channel, campaign, referrer, landing page and country of the session it came from.
Attribution models
Revenue reports credit each payment to the source of the session it came from (last touch). In Settings → Attribution you can already choose first touch (the source that first brought the visitor) or linear (split across every session in the journey); reports for those models are on the way.
Refunds and currencies
Refunds are subtracted from the payment they belong to, so revenue is always net. Each currency is kept separately and is never converted.
Where to see it
- Overview: revenue, revenue per visitor and conversion rate next to traffic.
- Sources: revenue per channel, referrer and campaign.
- Revenue: every payment, with the visitor who made it. Open the visitor in Visitors or Journeys to see the path that led to it.
- Goals and Funnels: revenue from the visitors who converted.
Connect a provider to start: Stripe, Polar, Whop or Shopify.