Home / Blog / Stripe and GA4
How-to · 2026

Stripe and Google Analytics: Reconcile Purchases to Payments

GA4 counts what the browser reported, Stripe counts what the bank moved. Here is how to line them up by month, and where the channel question stops.

By · Published October 25, 2026 · 8 min read

Google Analytics revenue and Stripe payments will not match, and they are not supposed to. GA4 counts what a browser reported at purchase; Stripe counts money that moved. The way to use both is to reconcile them by month, treat the gap as something to measure, and use GA4 for channel mix and Stripe for totals. What you cannot do with these two sources alone is name the channel that brought a specific paying customer.

Two systems, two questions

GA4 is event data. A purchase event fires if the page loads, tracking is allowed, and the event carries a value. Stripe is the processor: a charge succeeds, or it does not. The two agree only when every payment happens on a tracked page, with consent, with the right value, in one currency.

That is why a plain subtraction rarely gives zero. The point of the reconciliation is to learn how large the gap is, whether it is stable, and which part of the business it comes from.

The reconciliation, month by month

Build a small table with one row per month and these columns: GA4 revenue, GA4 purchases, Stripe gross volume, Stripe successful payments, the gap and the gap as a share of Stripe.

Example (illustrative)
Month   GA4 revenue   Stripe gross   Gap      Gap % of Stripe
Aug      41,200        48,000        -6,800   -14.2%
Sep      43,900        50,100        -6,200   -12.4%
Oct      39,000        52,300       -13,300   -25.4%

In this example the gap is steady for two months and then widens. A widening gap is the signal: something changed in tracking, consent, checkout or billing in October. A stable gap is a calibration factor you can state in the report. Compare against gross volume rather than net, since GA4 revenue is recorded at purchase, before refunds and fees. Our post on why conversions do not match Shopify covers the same family of causes on the store side.

The usual causes of the gap

What you can and cannot say about channels

GA4 tells you revenue and purchases by default channel group, and landing page. Stripe tells you payments, customers and subscriptions. There is no shared key: Stripe rows in Quiriz do not carry a channel, and GA4 rows do not carry a customer. So the honest channel statement is a mix statement: GA4 attributes 38 percent of purchases to organic search (an example), applied with care to the Stripe total.

To attribute a specific Stripe customer to a channel, you need to pass an identifier from the site into Stripe metadata or GA4 at purchase. That is a tracking project. Without it, any claim that a given channel brings paying customers is a statement about GA4 purchases, not about Stripe payments. For cost-side work, see customer acquisition cost.

How to do the reconciliation in Quiriz

Connect both. The Google Analytics connector brings daily sessions, key events, purchases and revenue by channel, with metrics named Google Analytics purchases and Google Analytics revenue. The Stripe connector (in beta) brings the Payments and Balance transactions datasets with Gross volume and Successful payments metrics. Then ask:

Each answer shows which dataset it used. The definitions are held once in Company Context, so gross volume is not re-chosen each time. Connectors are read-only, refresh daily and are included in paid plans. For the GA4 side alone, see Google Analytics report.

Putting it in the monthly report

Once you know the gap, state it. A sentence such as GA4 recorded roughly 85 percent of Stripe gross volume this quarter, consistent with the last three (an example) tells readers how far to trust GA4 totals. Then use GA4 for what it is good at: which channels and landing pages are rising or falling, and how purchases per session are moving.

Use Stripe for what it is good at: how much money actually arrived, how much was refunded, and how recurring revenue moved. If the two disagree on direction, with GA4 up and Stripe down, treat that as the finding. It often means traffic is growing while something past the click, such as pricing, checkout or payment failures, is not keeping up, and the failed-payment line in the Stripe data is the first place to look.

A note for subscription businesses

If most revenue is recurring, GA4 will undercount it structurally, because renewals happen without a visit. In that case compare GA4 with new payments, the first successful charge for each customer, rather than with all gross volume. The Stripe Customers dataset carries a first payment date for that purpose. The reconciliation then answers a cleaner question: of the new customers Stripe saw, how many purchases did GA4 record?

Limits

Reconcile GA4 to Stripe in one question

Connect both sources and ask for GA4 revenue versus Stripe gross volume by month. Free to start.

Try Quiriz free →

Frequently asked questions

Why does GA4 revenue not match Stripe?
GA4 records what the site sent when a purchase fired in a browser. Stripe records money that actually moved. Consent banners, ad blockers, offline or invoiced payments, renewals that never touch the site, and refunds all open a gap between them.
Can I see which channel brought a Stripe customer?
Not from these two sources alone. The Stripe datasets in Quiriz carry no channel or campaign field, and GA4 carries no Stripe customer id. Joining them for attribution needs an identifier passed from the site into Stripe, which is a tracking setup, not a connector feature.
Should GA4 revenue include refunds?
Only if purchase refund events are sent to GA4, which many setups do not do. By default GA4 revenue is closer to gross than to net, so compare it with Stripe gross volume, then treat refunds as a separate Stripe line.
What is a normal gap between GA4 and Stripe?
There is no universal figure and any quoted benchmark would be a guess. Measure your own gap over several months. A stable gap is a calibration; a gap that moves is the thing to investigate.
Does GA4 revenue include subscription renewals?
The GA4 revenue metric covers purchases, subscriptions and ad revenue as sent to the property. Renewals that Stripe bills in the background usually are not sent from the browser, so recurring businesses often see Stripe above GA4.