Stripe revenue analytics

See which traffic source made each Stripe sale

Stripe tells you who paid. DataBull tells you what brought them: the tweet, the search, the newsletter or the Hacker News thread.

All sales are final · License terms · Rather not self-host? Hosted from $9/mo (beta)

yourapp.com
9 online
Conversion
0%
+8.4%
Revenue/visitor
$0
+17.6%
Bounce rate
46%
+2.1%
Session time
3m 8s
+9.0%
Online
9
 
Fig. 1The dashboard for a sample site. Click Visitors or Revenue to toggle them, hover the chart and its notes, and click a referrer to filter everything by it.

Connect Stripe in a minute

  1. In your website's setup, choose Stripe and follow the link to create a restricted key. The permissions are pre-filled: read access to Checkout Sessions, Charges, PaymentIntents, Invoices, Subscriptions, Products, Prices and Customers, plus webhook endpoints.
  2. Paste the key and leave "Instant updates" on. DataBull creates the webhook.
  3. Choose every payment in the account, or only some products.

Past payments import straight away. New ones arrive by webhook within seconds.

How each sale finds its visit

  • Payment Links (buy.stripe.com): the script adds client_reference_id to every link on your site. Nothing to do.
  • Checkout Sessions: pass the visitor and session ids as metadata, two fields. Copy the code.
  • Success page: when the buyer returns with session_id in the address, the script links it as a backup.

Subscriptions, renewals and refunds

The first invoice is credited to the checkout's visitor and every renewal inherits it, so a source keeps earning credit for as long as the customer pays. Refunds come off the source they came from. The Revenue page groups customers by first source and adds up their lifetime value.

What you see

  • Revenue, sales, average order and revenue per visitor, by referrer, campaign, page and country.
  • A Telegram message for every sale with its source, location and the buyer's path.
  • Revenue in USD, excluding tax; other currencies are converted at the day's rate.

Also on Polar, Dodo Payments or Creem? Each website connects its own provider. See Polar analytics, Dodo Payments analytics and Creem analytics.

Ask your AI agent, too

Every DataBull install has a built-in MCP server. One command connects Claude Code, Cursor, Codex, Windsurf or VS Code, and your agent answers "which post made me money?" from your own data. The same numbers are in your terminal and behind read-only API keys.

npx databull@latest mcp

How the MCP server works · Docs

Questions

Do I need to change my Stripe checkout code?

Not for Payment Links: the script tags them. Checkout Sessions created on your server need two metadata fields, the visitor id and session id.

Does it import my past Stripe payments?

Yes. Past payments import when you connect; new ones arrive by webhook.

What Stripe permissions does DataBull need?

A restricted key with read access to Checkout Sessions, Charges, PaymentIntents, Invoices, Subscriptions, Products, Prices and Customers, plus write access to Webhook Endpoints. The link pre-fills them.

Find out which of your posts pay the bills.

One script, one payment connection, and you'll know by tomorrow.

All sales are final · License terms · Rather not self-host? Hosted from $9/mo (beta)