Browse docs
Data

Connect your warehouse

Snowflake, BigQuery, Databricks, Postgres — and the identity rule.

In warehouse-native mode, MaxLift computes results inside your warehouse and receives only per-variant aggregates. Connect once in Settings → Connect your warehouse.

Supported warehouses

  • •Snowflake — RSA key-pair auth (no passwords)
  • •BigQuery — service-account JSON
  • •Postgres / Neon — host, database, read-only user over SSL
  • •ClickHouse — config-based
  • •Databricks — SQL warehouse token (on request)

What we require

  1. A warehouse with your conversion data already landing in it.
  2. An event pipeline (Segment, RudderStack, or your own) that can carry one exposure event.
  3. One consistent user ID present in BOTH your app (SDK unitId) and your warehouse tables — the join key.
  4. Read-only credentials. MaxLift only ever issues SELECT queries.

The exposure view

The SDK emits an 'Experiment Viewed' event into your pipeline. Create a view mapping it to the shape MaxLift reads (we generate this per dialect for each template):

sql
create view maxlift_exposures as select anonymous_id as unit_id, experiment_key, variant_key, timestamp as exposed_at from segment.experiment_viewed;

No warehouse yet?

No-warehouse mode stores exposure/conversion counters on MaxLift's infrastructure (hashed IDs, binomial metrics). Start there and connect a warehouse later with no migration.