Revenue

Every dollar, attached to the person who paid it.

Connect Stripe with a restricted read-only key and revenue lands on real profiles. MRR and ARR on the dashboard, lifetime value on every person, attribution back to the first click.

$40.2k

revenue attributed this week

revenue · sources
organic
first-touch attribution
$18.2k
twitter / x
utm + click IDs
$12.6k
newsletter
reactivated trials
$9.4k

What you get

MRR and ARR

Recurring revenue computed from your live Stripe data, right on the dashboard.

Revenue per person

Lifetime value on every profile. See that Sarah Chen is worth $11.4k, not just that revenue went up.

Full-journey attribution

Revenue traced back through the identity graph to first touch: the tweet, the search, the newsletter.

Ad click IDs included

gclid, fbclid, ttclid, and eight more captured automatically, so paid revenue maps to campaigns.

Read-only by design

A Stripe restricted key with read access is all OakData needs. We can't touch your billing.

Webhook-proof server events

Purchases from Stripe webhooks land on the same identity as the browser session via the Node SDK.

Analytics that speaks in dollars

Pageviews and conversion rates are proxies. The question underneath is always revenue. Which channel produces paying customers? Which campaign covers its cost? Which cohort of signups actually converts to money? OakData answers in dollars because Stripe revenue is joined to the same identity graph as every click and session.

Setup is one restricted API key with read-only access. OakData matches Stripe customers to visitor profiles, and from then on revenue flows to the right person automatically.

Attribution that's actually right

Last-click attribution credits whatever touched the customer most recently, which is usually your own pricing page. Because OakData keeps the full journey from anonymous first visit onward, revenue attribution reaches back to the real origin: the organic search three weeks before signup, the newsletter that reactivated a dormant trial.

The average customer takes multiple touches to convert. If you only see the last one, you're optimizing the wrong channel and cutting budget from the ones that quietly start your journeys.

Questions

You create a restricted Stripe API key with read-only access and paste it into OakData. We match Stripe customers to visitor profiles and compute MRR, ARR, and per-person revenue from your live billing data. OakData never has write access to Stripe.

No. The integration uses a restricted key with read permissions only. OakData can read customers, subscriptions, and charges, and nothing else.

Every person's journey is tracked from their first anonymous visit, including UTM parameters and ad click IDs like gclid and fbclid. When they pay, the revenue traces back through that journey to the source that started it, not just the last click.

Server-side events cover it. A Stripe webhook or backend purchase captured through the Node SDK lands on the same person as their browser sessions, using the shared distinctId.

Related

Try it

Revenue analytics is five minutes away.

One snippet, every feature, at every tier. Free for the first 14 days.

14-day free trial