What FloKit reads from your warehouse
- Historical subscription cohorts — cohort tables spanning months or years, going back further than subscription platforms retain by default.
- Finance-reconciled revenue — figures that match what your finance team reports, net of refunds, chargebacks, and adjustments.
- Acquisition cost exports — blended or platform-level spend data, including channels not covered by AppsFlyer or Adjust.
- Custom event tables — app-specific events (feature usage, onboarding milestones) that correlate with LTV.
- Revenue tables — transaction-level subscription revenue for precise payback calculations.
Supported warehouses
What warehouse access unlocks
- Historical payback analysis going back months or years — beyond what live event streams provide.
- Finance-approved revenue figures — use numbers your CFO has already signed off on, not estimates.
- Cohort exports with custom dimensions — segment by any dimension in your warehouse, not just those captured in FloKit events.
- Multi-year LTV models — long-horizon projections grounded in your actual renewal history.
Access model
FloKit connects via a read-only service account or role. No write access is requested or required. FloKit queries your warehouse on a scheduled basis — typically every 6 hours — and does not cache data outside your FloKit workspace.BigQuery
1
Create a service account
In Google Cloud IAM, create a new service account for FloKit. Assign two roles:
- BigQuery Data Viewer — read access to datasets and tables.
- BigQuery Job User — permission to run queries.
2
Download the JSON key file
In the service account detail page, go to Keys → Add Key → Create new key → JSON. Download the file and keep it secure — you’ll upload it to FloKit once.
3
Connect in FloKit
Go to FloKit → Settings → Integrations → Warehouse → BigQuery.Upload the JSON key file, then enter:
- Project ID — your GCP project ID (e.g.
acme-analytics-prod). - Dataset name — the dataset containing your subscription or cohort tables.
Snowflake
1
Create a Snowflake role
In Snowflake, create a dedicated role for FloKit and grant it the following:Create a user, assign the role, and note the credentials.
2
Connect in FloKit
Go to FloKit → Settings → Integrations → Warehouse → Snowflake.Enter:
- Account identifier — e.g.
xy12345.us-east-1(from your Snowflake URL). - Username — the Snowflake user you created.
- Authentication — password or key-pair. For key-pair, paste your private key (PEM format).
- Warehouse — the virtual warehouse to use for queries.
- Database and Schema — target location for your subscription tables.
Redshift
1
Create a Redshift user
Connect to your Redshift cluster and create a read-only user:If your tables span multiple schemas, grant SELECT per schema.
2
Connect in FloKit
Go to FloKit → Settings → Integrations → Warehouse → Redshift.Enter:
- Host — your Redshift cluster endpoint.
- Port — default
5439. - Database — target database name.
- Username and Password — credentials for the read-only user.
Schema requirements
FloKit accepts two table shapes: Option A — Pre-built cohort table (recommended) A single table with one row per cohort, pre-aggregated. Minimum required columns:
Option B — Raw event + subscription tables
FloKit can join raw install, subscription, and revenue event tables if you haven’t pre-aggregated. Contact FloKit for the raw table schema template and join logic.
For the full schema template, including optional columns for country, offer, paywall variant, and custom dimensions, contact the FloKit team.
Validating your connection
After connecting, go to FloKit → Data → Sources → [your warehouse] → Preview. FloKit will display the first 20 rows it’s reading. Verify:- Row counts look correct for your expected data range.
cohort_datevalues fall within the expected historical window.- Revenue columns are not null for cohorts old enough to have accumulated revenue.