Skip to content
all posts
Revenue 5 min read

Revenue attribution without a data team

A practical guide to crediting revenue to channels when you are one person with a Stripe account — which model to use, what it costs, and when a spreadsheet beats a tool.

By Sourav · Building sonex
All posts

Attribution has an enterprise reputation it does not deserve. Most of the value is available to one person with a Stripe account and an afternoon, and most of the sophistication beyond that is spent producing more confident-looking versions of an answer that was always a model.

Here is the version that works when you are small.

Start with the question you actually have

Almost everyone asking about attribution wants one of three things, and they need different amounts of machinery:

  1. “Is my marketing working at all?” — aggregate revenue beside aggregate traffic. No attribution needed.
  2. “Which channel should I do more of?” — per-channel revenue, on a consistent model. Moderate effort.
  3. “What was the exact contribution of each touchpoint?” — multi-touch modelling. Expensive, and the answer is still a model.

Most people ask for the third and need the first. Do the first this week and see whether the second is still interesting afterwards.

Level 1: the two-line chart

Plot revenue and visitors on the same time axis. That is it.

You are looking for divergence. When the lines move together, traffic is a reasonable proxy and your existing dashboard is fine. When they separate — traffic up, revenue flat — something changed about who is arriving, and that is the moment worth investigating.

This costs nothing in privacy, because the revenue comes from your payment provider in aggregate and no visitor is identified to produce it. sonex does this on every plan including the free one; you can also do it in a spreadsheet with two CSV exports.

Do not skip this because it seems too simple. The divergence question is the one that catches an expensive campaign bringing the wrong audience, and it catches it without any attribution at all.

Level 2: last-click by channel, honestly labelled

Fire a conversion event when a purchase completes and let your analytics credit the traffic source of that visit.

This is last-click attribution, and it has a known, systematic bias: the channels people use to return — direct traffic, branded search, email — take credit for work done by the channels that introduced them.

You should use it anyway, for two reasons. It is the cheapest correct thing to compute, and its bias is consistent, so movement over time still carries signal even when the level does not.

Label it. A report headed “Revenue by channel (last click)” invites the right amount of scepticism. A report headed “Revenue by channel” gets treated as fact.

Level 3: first-click beside it

Now run the same conversions through first-click and put the two tables side by side.

ChannelFirst-click revenueLast-click revenueRead as
Podcast sponsorshipHighNear zeroDiscovery. Undervalued by default reporting
Comparison articleHighMediumWorks at both ends
Branded searchNear zeroHighHarvesting demand created elsewhere
DirectNear zeroHighNot a channel — people who already knew you
NewsletterMediumHighClosing, and sometimes introducing

That table is most of what expensive attribution software will tell you, and you got it by running the same data through two rules.

The instinct on seeing it is to reconcile the two into one number. Resist that. The disagreement is the information. A single blended figure hides exactly the thing you just learned.

When a spreadsheet is the right tool

If you need this quarterly rather than continuously, do not buy anything:

  1. Export traffic by source for the period from your analytics.
  2. Export charges for the same period from Stripe.
  3. Join on date, look at the two columns, and sort by revenue rather than by visits.

Twenty minutes, two systems of record, no integration to maintain. The output is coarser than a tool’s but it reconciles to your bank account, which is more than most attribution dashboards can say.

Buy a tool when you find yourself doing this monthly, or when the delay between asking and answering is changing your decisions.

The three mistakes

Trusting platform-reported numbers. Every ad platform marks its own homework, with its own attribution window and its own view-through rules. The sum of platform-claimed revenue routinely exceeds what actually arrived. Compute ROAS from your own payment data — the figure will be lower, and it will be the true one.

Optimising a channel to death. A channel showing excellent per-visit revenue at small volume will not hold that rate when you triple its spend. You buy the marginal visitor, not the average one, and the marginal visitor is always worse.

Changing models without saying so. Switching from last-click to position-based reorders every channel, and the reorder is not news. If you change the model, restate the history under the new one or start a new chart.

What this costs in privacy, precisely

Worth being exact, because the vague version leads people to accept more tracking than they need.

  • Aggregate revenue beside traffic: no visitor identity required. Zero cost.
  • Same-visit conversion attribution: no cross-day identity required. Works cookielessly. Covers most impulse and direct-response purchases.
  • Multi-day journey attribution: requires recognising a person across days, which means either a cookie and a consent banner, or accepting that the earlier touches are invisible.

That third row is a genuine trade and it is yours to make. What is not honest is a tool implying you can have long-window per-visitor attribution without the identity that makes it possible.

A reasonable ninety days

Week 1. Connect your payment provider, get revenue on the same chart as traffic, and look at divergence. Change nothing yet.

Week 2–4. Add one conversion event. Read last-click revenue by channel, labelled as last-click.

Month 2. Turn on first-click as well. Compare. Find the discovery channel your default reporting was hiding.

Month 3. Make one budget decision from it, and write down what you expected. Check it the following month.

That last step is the one everyone skips, and it is the only one that tells you whether your attribution is worth anything.


sonex reads revenue from Stripe or Polar on every plan, and the Attribution report supports first-click, last-click and linear over a conversion event you define. Start free.

Frequently asked questions

What attribution model should a small business use?
Run first-click and last-click side by side rather than picking one. The gap between them is the map of your funnel — channels that look strong in first-click and absent in last-click are discovery channels, and channels that only appear in last-click are usually taking credit for demand created elsewhere.
Do I need attribution software?
Usually not at first. If you need the answer quarterly rather than continuously, exporting traffic by source and charges by date and joining them in a spreadsheet takes twenty minutes and uses two systems of record.
Why do my attribution numbers not add up to my revenue?
Because attribution is a model, not a measurement. Ad platforms each claim conversions they can plausibly claim, so platform-reported revenue routinely exceeds what actually arrived. Compute from your own payment data if you want the totals to reconcile.
How do I attribute revenue without cookies?
The aggregate view — revenue over time beside traffic over time — needs no visitor identity at all. Per-channel credit on same-visit conversions works cookielessly too. What genuinely requires cross-day identity is crediting a sale to a touch that happened weeks earlier.

sonex is privacy-first web analytics. No cookies, no consent banner, no personal data. Drop one script and read realtime visitors, funnels and a world map in seconds.

Try sonex free
Questions

Frequently asked.

Cookies, install and pricing, answered. Still stuck? Ask us anything .

01 Can sonex show revenue next to my traffic?

Yes. Connect Stripe or Polar with a read-only key and sonex reads revenue straight from your payment provider, per website. Revenue then appears as a focusable series on the Overview chart and as its own report, beside the traffic that earned it. No tracked event is needed for it to work.

02 Does sonex use cookies?

No. sonex sets no cookies and needs no consent banner. It counts visits without cookies, fingerprinting, or any personal data, so it is GDPR, PECR and CCPA-ready by default.

03 How do I install sonex?

Add one script tag to your site's <head> with your website id. It is a single lightweight tracker — no build step and no SDK required.

04 Is sonex a Google Analytics alternative?

Yes. sonex gives you the reports that matter — visitors, pages, referrers, funnels, revenue and a world map — without surveilling your audience or drowning you in configuration.

05 How is sonex priced?

By monthly tracked events. Free covers 2k events, Pro is $20/mo for 200k events, and Business is $200/mo for 2M events with team seats.

See what your traffic actually earns.

Revenue beside the visitors that produced it. No cookies, no credit card, no consent banner.

Get started