Warehouse Native Modes
ABsmartly supports two ways of running Warehouse Native, depending on how much of your experiment data you want to keep inside your own warehouse:
- Hybrid Warehouse Native — ABsmartly handles assignment and exposures in its managed ClickHouse, while your goals and metrics can be computed against your own warehouse. This is set per goal, so you can mix goals that stay in ABsmartly's ClickHouse with goals sourced from your warehouse.
- Fully Warehouse Native — your warehouse holds everything — exposures, goals, and attributes — and nothing user-level ever leaves your infrastructure.
Both modes are built on the same foundation: data sources. The mode you're in is determined by which data source is your default.
The default data source
Every ABsmartly installation has exactly one default data source. Out of the box, that's ABsmartly's built-in, managed ClickHouse — the same engine that powers the standard cloud experience. You can then connect additional external data sources (BigQuery, Snowflake, Redshift, Databricks, or your own ClickHouse) for your goals and metrics.
The default data source is special: exposure events can only come from the default data source. This single rule is what separates the two modes.
- In Hybrid, the default stays ABsmartly's managed ClickHouse, so exposures live there.
- In Fully, your own warehouse becomes the default, so exposures live in your warehouse alongside everything else.
Hybrid Warehouse Native
In Hybrid mode, you keep ABsmartly's managed ClickHouse as the default data source and attach one or more external warehouses that your goals can draw from.
- Assignment and exposures are handled by ABsmartly and stored in the managed ClickHouse.
- Goals and metrics are assigned a data source per goal. A goal can be sourced from an external warehouse — where your business data already lives, so results line up with what your BI and finance teams report — or from ABsmartly's managed ClickHouse. You can mix both: some goals stay in ClickHouse while others come from your warehouse.
- When a goal is sourced from an external warehouse, ABsmartly makes the exposures that live in the default ClickHouse available to that warehouse so the two can be evaluated together. You enable this by pointing ABsmartly at an object store through the Exposures import section on each external data source.
Hybrid lets you bring metrics into your warehouse at your own pace: you keep ABsmartly's battle-tested assignment and exposure pipeline, and move as many (or as few) of your goals into your warehouse as you like.
Fully Warehouse Native
In Fully mode, your own warehouse is the default data source. Exposures, goals, and attributes all live in your warehouse, and no user-level data is ever sent to ABsmartly's cloud. ABsmartly still handles experiment management, assignment logic, statistics, and metric governance — but the underlying data never leaves your environment.
Because exposures come from the default data source, going Fully unlocks two things Hybrid can't offer:
- Filter exposures yourself. You control the exposures table, so you can strip out bots, scrapers, internal traffic, or any other unwanted exposures before ABsmartly analyzes them — using your own logic in your own warehouse.
- Enrich exposures with your own attributes. You can join in an external attributes table to add segmentation dimensions that ABsmartly never sees in Hybrid mode, then slice experiment results by those attributes.
Exposure-side filtering (robots, scrapers, internal traffic) and attribute enrichment both operate on the exposure stream. Since exposures can only come from the default data source, these capabilities are only available when your warehouse is the default — that is, in Fully Warehouse Native. If you need either, choose Fully.
Choosing a mode
| Hybrid Warehouse Native | Fully Warehouse Native | |
|---|---|---|
| Default data source | ABsmartly's managed ClickHouse | Your own warehouse |
| Where exposures live | ABsmartly's managed ClickHouse | Your warehouse |
| Where goals & metrics are computed | Per goal: ABsmartly's ClickHouse or your warehouse | Your warehouse |
| User-level data in ABsmartly cloud | Exposures, plus any goals kept in ClickHouse | None |
| Filter exposures yourself (bots/scrapers/internal traffic) | ❌ | ✅ |
| Enrich exposures with your own attributes table | ❌ | ✅ |
| Setup effort | Lower — keep ABsmartly's exposure pipeline | Higher — your warehouse owns exposures end to end |
Choose Hybrid when you want some or all of your goals to draw from your warehouse data, but are happy to let ABsmartly manage assignment and exposures.
Choose Fully when data residency requires that no user-level data leaves your infrastructure, or when you need to filter exposures or enrich them with your own attributes.
Next steps
Whichever mode you're targeting, the setup starts the same way — by connecting a data source:
- Get Started with Warehouse Native — connect your warehouse, map your tables, and configure data freshness.
- Connect your warehouse — step-by-step guides for BigQuery, Snowflake, ClickHouse, Redshift, and Databricks.