Connector

Collect Stripe subscriptions in Google BigQuery

Load Stripe subscriptions, invoices and customers into your own BigQuery project with a custom OWOX connector: one table per endpoint, readable columns, a refresh on a schedule. Recurring revenue then joins to orders and ad spend.

StripeConnectedBalance transact…ChargesCustomersDisputes
Data MartPublishedone definition
Google BigQueryIdAccou…Livem…Daily 09:00
Refreshed on a schedule. No exports, no copy-paste.

Get started free

Endpoints

Stripe Endpoints

Documentation

14 Stripe endpoints you can import. Each lands in its own table in your data warehouse.

S00 · Why

Why join Stripe subscriptions with sales and ad data

Stripe knows who subscribes and when they renew. It does not know which ad brought them or what they ordered first. To read recurring revenue against acquisition cost, all of it has to sit in one data warehouse.

  • Compute monthly recurring revenue from subscriptions and invoices
  • Set acquisition spend beside new subscriptions
  • See churn next to the open or uncollectible invoices before it
StripeSubscriptions
OrdersStore sales
Ad platformsSpend
Your data warehouseBigQueryStripeOrdersAd spendJoined by idAd clickedSubscription renewsOne query links acquisition to recurring revenue.

S01 · Step 1

Step 1: Connect Stripe and pick the fields

Create a Data Mart, choose Stripe as the data source and add a restricted API key with read access. Open an endpoint and tick only the fields you need.

  • Subscriptions carries customer, status, period dates and cancellation fields
  • A custom connector: the restricted API key is yours
New Data MartChoose a sourceShopifyStripeGoogle AdsAuthorizeConnectedEndpointSubscriptionsBalance transacti…ChargesCustomers
Subscriptions23 fieldscustomerstatusstart_datecurrent_period_endcancel_at_period_endcurrency

S02 · Step 2

Step 2: Load Stripe into Google BigQuery

Each endpoint becomes its own table, and refresh settings are set in the Data Mart. Run it and the first load lands as a table in a dataset of your own Google BigQuery project. The location is pre-filled from your data storage, and you can change it.

  • Each endpoint gets its own table, not one table for the account
  • Every run is logged in Run History
DestinationBigQueryDatasetstripeTablesubscriptionsRun
Run HistoryPendingRunningSuccessIncremental load
Tablestripe.subscriptions

S03 · Step 3

Step 3: Get a business-friendly Stripe output schema

After the first run you get the output schema: every field with its type and a description. Timestamps arrive as Unix seconds, and the schema says so. Your data quality checks can read it too.

  • status lists trialing, active, past_due, unpaid, canceled and the incomplete states
  • Unix seconds convert with one function in SQL
stripe.subscriptionsOutput schemaFieldDescriptioncustomerCustomer id (cus_). Join to…statustrialing, active, past_due…start_dateWhen the subscription started…current_period_endEnd of the current billing…cancel_at_period_endtrue when set to cancel at the…currencyThree-letter ISO currency code…

S04 · Step 4

Step 4: Keep the Stripe tables linked

Customers, subscriptions and invoices stay separate tables, joined by ids. Together they become one Stripe data model, ready to join to orders and ad spend.

  • Subscriptions carry customer; invoices carry subscription
  • Add orders and ad platforms to the same model
Customersidemaildelinquent
Subscriptionsidcustomerstatus
Invoicessubscriptionstatuscurrency

S05 · Step 5

Step 5: Schedule the Stripe refresh and backfill history

Set it once. A daily scheduled refresh keeps the tables current, and a manual backfill reloads history, which refreshes fields that change after creation, such as status.

  • Daily runs with no pipeline to maintain
  • Backfill the subscription history the first time you connect
ScheduleRun on a scheduleDaily 09:00
BackfillRun backfill
Run HistoryDaily scheduleManual backfillDaily schedule

S06 · Step 6

Step 6: Reuse the same Stripe table everywhere

One table feeds your data model, spreadsheets, dashboards, AI assistants and scheduled insights in Slack or email.

  • Define monthly recurring revenue once
  • Every report reads the same table
StripeData MartPublished
Your data model
Google Sheets
Data Studio dashboards
Claude, ChatGPT
Slack, email

Recent updates

Why OWOX

Why OWOX for Stripe in Google BigQuery

Stripe dashboards, hand-built API scripts or a generic ETL tool each get subscriptions out. OWOX also keeps them yours, readable and ready to join to acquisition.

  • You own the data. It lands in your own data warehouse, in tables you control.
  • A custom connector, built to be extended. The Stripe connector is made in OWOX Data Marts, so an endpoint or field can be added when the account needs it.
  • Ready for a data model. Separate tables per endpoint, joined by ids, built to connect to orders, ad spend and web analytics.
  • One place to fix. When Stripe changes its API, you fix one connector, not a pile of scripts.

Book a callGet started free

Trust

The Data Partner You Can Trust

users

176K Source: Internal OWOX data as of 2026-10-02

Executives and data analysts across 20+ industries

G2 rating

4.9★2

“A trusted data analytics partner” — verified review

npm installs

165K3

In Open Source We Trust

Customers