GA4 revenue attribution

Revenue by source, without building GA4 ecommerce

GA4 can show which channel made you money, once you send purchase events and keep the visitor attached through checkout. DataBull reads the payments from Stripe, Polar, Dodo or Creem directly and does the matching for you.

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.

Short answer

GA4 only shows revenue it is sent: a purchase event with a transaction ID, value and currency, from the browser or from your server through the Measurement Protocol with the visitor's client_id. Hosted checkouts, renewals and refunds make that real work. DataBull connects to Stripe, Polar, Dodo Payments or Creem with an API key and credits each payment to its traffic source.

What GA4 needs before it shows a dollar

GA4 doesn't know about your payments. Revenue appears in its reports only when you send it, as a purchase event that carries a transaction_id, a value and a currency (plus the items, if you want product reports). There are two ways to send it:

Where the source gets lost

A hosted checkout sends the buyer to another domain. When they come back from checkout.stripe.com or your payment provider, GA4 sees a new referral and can credit the payment page instead of the post that brought them. The fix is the List unwanted referrals setting in your web stream, which tells GA4 to ignore that domain. Google's own example of when to use it is a third-party payment processor.

Then the parts that never touch the browser:

None of this is exotic, and a team with a developer and a tag manager does it every day. For an indie product it's a webhook handler, a place to store client IDs, a Measurement Protocol client and a few edge cases, maintained for as long as the product exists.

The payment-first shortcut

DataBull starts from the other end. You connect Stripe, Polar, Dodo Payments or Creem with an API key, per website, and:

The result is revenue next to visitors for every channel, referrer, campaign, landing page and country, plus lifetime value by first source and the path each buyer took. AI assistants such as ChatGPT and Perplexity are their own channel, as in GA4.

GA4DataBull
Revenue dataPurchase and refund events you sendRead from Stripe, Polar, Dodo or Creem
Past salesFrom the day you start sending eventsImported on connect
Renewals and refundsServer-side events you buildAutomatic, by webhook
Hosted checkout returnUnwanted referrals listHandled; payment hosts never become a source
Ads and Google AdsBuilt for it: conversions, audiences, biddingNot an ads tool
PriceFreeSelf-hosted once, or hosted from $9 a month

When GA4 is still the right tool

Be honest about the trade. GA4 is free, and if you run Google Ads, feed conversions into bidding or build remarketing audiences, it's the tool for that job and DataBull doesn't replace it. Plenty of sites run both: GA4 for ads, DataBull for "which post, search or assistant brought paying customers". If you're a team that already has a working GA4 ecommerce setup, keep it.

If you sell through Stripe, Polar, Dodo or Creem, don't run ads, and want to know what your posts and searches earn without a tagging project, DataBull gets you there with one script tag and one key. See Stripe revenue analytics for the Stripe details, or DataBull vs Google Analytics for the full comparison.

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

Checked in October 2026 against: Google Analytics: measure ecommerce, Google Analytics: Measurement Protocol, sending events, Google Analytics: identify unwanted referrals, Google Analytics: traffic-source dimensions. Spotted something out of date? Tell us.

Questions

Can GA4 import revenue from Stripe automatically?

No. GA4 has no Stripe connection; revenue reaches it only as purchase events you send from the browser or your server.

Why does GA4 credit my sales to checkout.stripe.com?

Buyers return from the payment page with that domain as the referrer. Add your payment provider's domain under Admin → Data streams → Configure tag settings → List unwanted referrals.

Do I need to remove GA4 to use DataBull?

No. They run side by side: DataBull has its own script tag and reads payments directly, so it doesn't touch your GA4 setup.

Does DataBull track subscription renewals by source?

Yes. Renewals arrive by webhook and inherit the source of the customer's first payment, so lifetime value is grouped by the channel that first brought 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)