What is Revenue attribution?
Revenue attribution is the practice of assigning earned money back to the marketing channel, campaign or page that produced it. Instead of ranking traffic sources by visits, it ranks them by revenue, which is the only ranking that answers whether a channel is worth its cost. It requires two data sets joined together — traffic and payments — which most analytics tools never see at the same time.
Why it matters
Traffic and revenue rarely rank the same way. A channel can send the most visitors and the least money; a small referral source can send a hundred people a month and half your income. Without revenue attached, every channel decision is made on a proxy metric, and the proxy is wrong often enough to matter.
The gap is structural rather than accidental. Web analytics tools watch browsers. Payment tools watch charges. The two live in different systems, keyed on different identifiers, and joining them is left to the person reading both dashboards with a spreadsheet open.
How it works in practice
There are two honest ways to connect the halves, and they answer different questions.
Aggregate revenue over time. Read total revenue from your payment provider’s API and plot it on the same axis as traffic. This tells you whether a week that got more visits also earned more money, and it needs no per-visitor tracking at all — the payment provider already knows the total.
Credit assignment. Fire a conversion event when a purchase completes, then attribute that event to the visit that preceded it using an attribution model. This gives per-channel credit but depends on the visitor being recognisable across the gap between arrival and payment.
sonex does the first by default on every plan: connect Stripe or Polar with a read-only key and revenue appears as a series beside visitors and views. The second is available through the Attribution report when you send a conversion event yourself.
What it will not tell you
Attribution is a model, not a measurement. Any assignment of one sale to one channel is a decision about how to divide credit among several touches, and every model divides it differently. Treat the output as a consistent ranking to compare over time rather than a factual claim about causation — the same campaign will look better or worse depending purely on which model you picked.