- US device IDs in the graph
- 750M+
- Match rate on events
- 90%+
- Identity window, per customer
- Lifetime
- Most brands are live
- <20 min
How it flows
How a Stripe event reaches your warehouse. Sent from your app, resolved to a person, then forwarded.
01 Capture
Captured from Stripe
For apps that bill through Stripe, send payment and subscription events to Upstack with the Upstack Pixel and JavaScript SDK, resolved to a customer before they reach the tools you spend on.
See the Stripe integration →
StripeWhat it sends subscription_initial_purchaseyou fire it for the first subscription ordersubscription_recurring_purchaseon invoice.paid for an existing subscriptionpayment_succeededmaps to invoice.paid or charge.succeededpayment_refundedmaps to charge.refundedamount / currencyamount in cents, with invoiceId and subscriptionId
02 Understand
Resolved to one person before it leaves
Every Stripe event is matched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer rather than two strangers.
How resolution works →
Resolved before it is sent - IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
customer_typeNew or returning, resolved before send.- DeduplicationStable event IDs, so re-runs and backfills do not double rows.
- Bot and fraud filteringFiltered before load, with the filter decision recorded.
03 Activate
Delivered to your warehouse
A clean, resolved event stream into BigQuery, Snowflake or Redshift: the same data your dashboards run on.
See the warehouse integration → Your warehouseWhat it receives
event_idprimary key you can join onresolved person IDstitch sessions to customersfull property payloadnothing dropped, nothing sampledingest timestamprebuild any point-in-time view
The catch
Refunds and partial captures arrive as separate objects after the original charge.
A warehouse query that reads charges alone reports gross rather than net, and the gap grows with return rate.
Where to check in your warehouseA stream you can audit
Query the events table directly: count distinct resolved person IDs against count distinct sessions, and compare the ratio to what your analytics reports.
What changes
What changes when Stripe feeds your warehouse. Two gains on the warehouse side, two on the Stripe side.
Your warehouse
One resolved event stream
The same identity-resolved events that reach your ad platforms, landed in your warehouse.
Your warehouse
Nothing sampled
Full-fidelity events, not an aggregate or a sample.
Stripe
Subscription purchases as events
Fire subscription_initial_purchase for the first order and subscription_recurring_purchase each time a renewal is paid, so first orders and renewals are reported separately.
Stripe
Payments and refunds
payment_succeeded, payment_failed and payment_refunded each map to a Stripe event (invoice.paid or charge.succeeded, invoice.payment_failed, charge.refunded), so money events reach Upstack when your app fires them.
Setup
Live in under 20 minutes.
Connect Stripe once and every destination, your warehouse included, is forwarded the same resolved events.
Upstack dashboardExample
Your warehouse Destination Healthy
Read the full warehouse setup guide → -
01
Install the Upstack Pixel and SDK
Add the Upstack Pixel to your app, then fire the subscription and payment events with the JavaScript SDK when Stripe reports them, such as subscription_recurring_purchase when invoice.paid fires for an existing subscription.
-
02
Add the warehouse destination
Under Destinations, add your warehouse. Every resolved Stripe event is then forwarded to it.
-
03
Check delivery to your warehouse
Every row traceable to the event that produced it and the time it landed.
FAQ
Questions about Stripe and your warehouse.
How do I check that Stripe events are reaching your warehouse?
Query the events table directly: count distinct resolved person IDs against count distinct sessions, and compare the ratio to what your analytics reports.
Will re-runs or backfills duplicate rows?
No. Stable event IDs, so re-runs and backfills do not double rows.
How long does it take to connect Stripe to your warehouse?
Most brands are live in under 20 minutes. Once Stripe events reach Upstack, every destination receives the same resolved events, your warehouse included.