Setup guide · Stripe

Stripe in Dataki, through BigQuery's Stripe connector

Dataki has no Stripe connector of its own. BigQuery does: its Data Transfer Service copies Stripe objects into a dataset on a schedule, free while the connector is in Preview. Connect that dataset, and Dataki answers revenue, subscription and payment questions from it.

  1. Stripe
  2. BigQuery Data Transfer Service
  3. Dataki
Setup
About 15 minutes.
Cost
Free while the connector is in Preview. BigQuery storage and queries are billed beyond the free tier.
Freshness
As often as you schedule it. Runs of one transfer cannot overlap, so leave room between them.
History
From a start date you choose. Left empty, three years back.

01Before you start

  • A Stripe account where you can create API keys.
  • A Google Cloud project with billing, the BigQuery Data Transfer Service enabled, and BigQuery Admin on it for whoever sets up the transfer.
  • An empty dataset to receive the data, e.g. stripe.

02Set it up

4 steps, about 15 minutes

  1. 01

    Prepare Stripe

    In the Stripe Dashboard, open DevelopersAPI keys and create a restricted key with read access to the objects you will transfer. Note your account ID too.

    Google's instructions also ask you to enable Connect for Standard and Express accounts, under DevelopersConnect, before the first transfer.

  2. 02

    Create the transfer

    In the Google Cloud console, open BigQueryData transfers and choose Create transfer. Set Source to Stripe, then fill in:

    • Platform/Connected Account ID: your Stripe account ID.
    • Stripe Secret Key: the restricted key.
    • Start Date: the first day to copy, as YYYY-MM-DD.
    • Stripe objects to transfer: what you will ask about. Charges, Customers, Invoices, Subscriptions, Refunds and Products cover most revenue questions.
    • Dataset: the one you created. Repeat frequency: daily is enough for most dashboards.
  3. 03

    Check the first run

    Open the transfer's run history and wait for the first run to finish, then look at the tables it wrote in the dataset. Top-level Stripe fields are real columns; nested objects arrive as a single flattened string.

  4. 04

    Connect the dataset in Dataki

    Open app.dataki.ai/connect and, under Linked Google Cloud Projects, choose Link New Google Project. Sign in with a Google account that can manage IAM in the project holding the data, and pick that project. Dataki creates a service account named Dataki in it with two roles, BigQuery Data Viewer and BigQuery Job User: it can read tables and run queries.

    The project's datasets then appear among your sources. Pick stripe. Each dataset is one source in Dataki, and the free plan includes one.

03Ask it

Your first questions

Google does not document the exact tables the connector writes, so there is no SQL here we could check. Dataki reads the real table names from your dataset; start with questions like these and read the SQL it shows.

What was our revenue each month this year, net of refunds?

Stripe amounts arrive in minor units, cents for USD. Say so in the question, e.g. "amounts are in cents", and check the SQL divides by 100.

How many subscriptions started and how many were cancelled each month?

Which customers paid us the most in the last 90 days?

04Worth knowing

What you will run into

The connector is a Preview
Google can change a Preview feature before it becomes generally available, including its price and what it writes, and it comes without an SLA. Keep an eye on the first few runs.
What it does not copy
Webhook events, real-time updates and Sigma are not supported. Reports come across only if they were already generated in the Stripe Dashboard.
Queries are billed to your project
Dataki runs each query in the project that holds the data, and Google bills that project for it. The first 1 TiB of queries each month is free. A question that names a period lets the query read only those days, which is what keeps it small.
Your organization may block the key Dataki needs
Linking a project creates a key for the Dataki service account. Google Cloud organizations created on or after 3 May 2024 block key creation by default, through the iam.disableServiceAccountKeyCreation policy. If linking fails there, an organization admin can lift that policy for this one project. Projects outside an organization are not affected.

05Other routes

If this route does not suit you

Stripe Data Pipeline

Stripe's own pipeline also delivers to BigQuery, reloading everything every three hours. It is a paid Stripe subscription, priced by monthly charge volume, with a 30-day trial.

Supabase's Stripe Sync Engine

On Supabase, IntegrationsStripe Sync Engine copies Stripe into your database, history included, and keeps it current through webhooks. It writes to a stripe schema, and Dataki reads public, so create a view in public for each table you want asked about.

Supabase exposes public through its Data API, so create the view as security_invoker and revoke it from the API roles, or your Stripe data becomes readable with your project's public key.

Supabase SQL editor
CREATE VIEW public.stripe_customers WITH (security_invoker = true) AS
  SELECT * FROM stripe.customers;
REVOKE ALL ON public.stripe_customers FROM anon, authenticated;

Free while we are in beta

Connect Stripe. Ask it something.

Once the data is where Dataki can read it, the first answer is a question away, and anything worth keeping becomes a dashboard with a link that stays live.

One data source
Free tier. Connect a second on any paid plan.
Read-only
Every query runs read-only. Dataki cannot change your data.
No card
There is nothing to cancel if you stop.