Revenue
Connect Stripe or Polar to see real money next to your traffic.
All pages
Traffic without revenue tells you a campaign worked. Traffic with revenue tells you whether it was worth running. Connect a payment provider and sonex reads your revenue directly from it, per website.
Connect a provider
Go to the website’s Settings, find the Revenue card, and pick your provider. (The last step of onboarding offers this too; skipping it there costs nothing.)
Stripe
Paste a restricted API key (Stripe calls these RAKs; they start with rk_live_). Create it in the Stripe dashboard under Developers → API keys → Create restricted key.
sonex reads two endpoints and nothing else, so grant exactly two permissions and leave every other resource on None:
| Stripe resource | Permission | What it is for |
|---|---|---|
| Charges | Read | The revenue itself |
| Balance | Read | Confirming the key works when you connect it |
Do not paste a standard secret key (sk_live_). It carries write access to your whole account, and sonex has no use for any of it.
sonex verifies the key against your account balance before saving, so a key with the wrong permissions is rejected on the spot rather than failing silently a week later.
Revenue is aggregated from succeeded charges, net of refunds. Failed and unpaid charges are ignored.
Polar
Paste your organization ID and an organization access token.
Create the token in Polar under Settings → Developers → New token, and give it only these scopes:
| Polar scope | What it is for |
|---|---|
metrics:read | The revenue itself |
organizations:read | Confirming the token belongs to the organization you named |
Set an expiry you are willing to maintain. When the token expires, revenue stops updating and the Revenue card asks you to reconnect; nothing else about your analytics is affected.
Where revenue appears
Once connected:
- Overview gains revenue as a focusable series in the main chart, alongside views and visitors, plus a revenue tile.
- Reports gains the Revenue runner: pick a currency, press Run, see revenue over time for the selected range.
The Revenue card in Settings then shows the connected provider and its last four characters, with a Disconnect button.
Reading it honestly
- This is your provider’s data, not sonex’s. Revenue is read from Stripe or Polar over their API. It is not derived from tracked events, and no tracked event is needed for it to work.
- It is not per-visitor attribution. You are seeing revenue over time next to traffic over time. When both climb together the story is suggestive, not proven. For credit assignment, use the Attribution report and a conversion event you fire yourself.
- One currency at a time. The Revenue runner takes a currency, so a business charging in several reads them one at a time rather than adding unlike things together.
Next: Websites and teams.