SaaS Media

6 Data Warehouses for Marketing Teams Running Agents

BigQuery, Snowflake and Redshift Serverless can stop an agent’s queries at a budget. Supabase can’t run up a bill at all.

Author:
Vlad Shvets
Contributors
Vlad Shvets
Date:
November 2, 2026

A reporting agent should not hold the keys to your ad platforms and your CRM. In the setup we build, a pipeline loads their data into a warehouse on a schedule and the agent reads the warehouse, so it has no live API key to misuse and everyone argues from one set of numbers.

Empact Partners is a go-to-market consultancy, and building reporting agents like this for B2B software companies is part of our RevOps work. Our own Empact Panel runs on the same split: a weekly pipeline loads each partner’s store, and partners and their agents read it with keys that cannot write.

On 2 November 2026 we read six warehouses’ pricing and documentation: three a team can start on from nothing, three for companies that already run them. One partner’s Panel store grows by about 56 MB a week, so at this size all six are fast enough, and all six can keep an agent read-only. What stops a runaway bill differs far more.

WarehouseBest forWhat stops a runaway bill
BigQueryMarketing that lives in Google Ads and GA4A daily query quota per user
SupabaseTeams building their own agents on PostgresA flat monthly price
MotherDuckThe smallest data and budgetNothing documented
SnowflakeCompanies already on SnowflakeA monitor that suspends the warehouse
Redshift ServerlessProducts already running on AWSA usage limit that turns queries off
DatabricksCompanies already on DatabricksEmail alerts and auto stop

1. BigQuery

Best for: a marketing team whose spend and traffic already sit in Google Ads and GA4.

The BigQuery product page on Google Cloud in a browser frame
cloud.google.com/bigquery, captured 2 November 2026. Screenshot by Empact Partners

BigQuery is Google Cloud’s serverless warehouse. There is nothing to size or switch on, and on demand you pay for the data each query reads. Marketing teams usually meet it through the GA4 export or the Google Ads transfer, which makes it the shortest road from Google Ads and GA4 to a table an agent can read.

At marketing’s size the free tier is real. The first 1 TiB of queries and 10 GiB of storage cost nothing each month, and the sandbox runs without a card. A TiB is about a thousand queries that each read a full gigabyte, and a question about last month’s spend by campaign reads a few columns, not a gigabyte.

Loaders: Google Ads, GA4, YouTube and Campaign Manager transfers at no charge; Salesforce and Facebook Ads billed in slot-hours; HubSpot and Stripe in preview, not charged until they go GA.
Read-only for the agent: the BigQuery Data Viewer and Job User roles; Google’s remote MCP server has one tool that writes, and a deny policy can block it.
Cost cap: a custom quota on data processed per day, per project or per user; queries stop when it is reached.

The billing unit is the catch. You pay for the columns a query reads, LIMIT or no LIMIT, with a 10 MB minimum per query, so an agent that answers by scanning the whole events table twice a day spends where an analyst would not. Nothing caps that until someone sets a quota on the agent’s own login.

Pricing

At small scale: $0 for the first 1 TiB of queries and 10 GiB of storage a month; the sandbox needs no card.
On-demand queries: $6.25 per TiB after the free TiB, billed on the columns read, 10 MB minimum per query.
Storage: $0.000031507 per GiB-hour of active logical storage after the free 10 GiB.
Capacity: slot reservations billed by the hour instead of by data read, for teams that outgrow on demand.

Pros and cons

Pros
Google Ads and GA4 load at no charge, on Google’s schedule.
A free TiB of queries a month covers a small team’s reporting.
A per-user daily quota stops an agent’s queries outright.
Cons
Billing by data read punishes an agent that scans wide tables.
HubSpot and Stripe connectors are still in preview.
Salesforce and Facebook Ads transfers bill on top of the queries.

What Reddit says

“In GA4 itself, detailed user and event data is retained for a maximum of 14 months and is then gradually deleted.” — u/Sea_Yak3192, r/bigquery, Jul 2026
“It’s extremely useful to have that granular of data, so we can create session/user/funnel flow tables, and link back specific users to google ads/tiktok/meta/pinterest campaigns.” — u/RealisticBullfrog, r/bigquery, Jul 2026
“We got a few eye watering high bills due to runaway queries (due to lack of partitioning, accidental full table scans in e.g. dbt tests, frequently rerunning a query in dashboards, etc.).” — u/Araldor, r/dataengineering, Nov 2025

Standout feature: BigQuery Data Transfer Service

The Data Transfer Service is the reason to start here. It moves Google Ads, GA4, YouTube and Campaign Manager data into tables on a schedule at no charge, with no pipeline of yours in between, and the same screen sets up Facebook Ads and Salesforce for a fee. Fewer moving parts means fewer places for a number to drift.

The BigQuery Create transfer screen with Facebook Ads selected as the data source
Choosing a source in Create transfer. Image from Google Cloud’s documentation

Verdict: the first warehouse we would set up for a team whose spend and traffic live in Google, provided someone sets a daily quota on the agent’s login the day it connects. Look elsewhere if your data already lives on AWS or in Snowflake: moving it across clouds to get GA4 loading for free is the wrong trade.

2. Supabase

Best for: a team that builds its own agents and wants one Postgres database it already knows how to reason about.

The Supabase homepage in a browser frame
supabase.com, captured 2 November 2026. Screenshot by Empact Partners

Supabase is hosted Postgres with an API, sign-in and storage around it. It is not sold as a warehouse, and at a marketing team’s size it does not need to be one: the common loaders all write to Postgres, and every engineer and every model already speaks its SQL. Our own Empact Panel runs on it, one Supabase project per partner, loaded weekly by our pipeline.

The price is flat, and for an agent that is the point. Pro is $25 a month with $10 of compute credit inside it, enough for the smallest instance, and nothing bills per query. An agent that asks too much slows the database instead of running up a bill.

Loaders: none built in for ad platforms or CRMs; dlt, Airbyte and Fivetran all write to Postgres.
Read-only for the agent: a Postgres role with SELECT on a view, and row level security on the tables; the Supabase MCP server’s read_only=true runs every query as a read-only Postgres user.
Cost cap: the instance size; nothing is metered per query.

Two things bite. Supabase’s Data API returns at most 1,000 rows by default and still answers with a success, so an agent reading through the REST layer can total a truncated table without knowing it. Connect the agent to Postgres directly. And the Free plan pauses a project after a week idle, so it is for trying the setup, not running it.

Pricing

At small scale: $25 a month on Pro, with $10 of compute credit covering one Micro instance (1 GB of RAM).
Free: $0, a 500 MB database, paused after a week of inactivity, two active projects.
Pro: $25 a month, 8 GB of disk then $0.125 per GB; Small compute $15 a month, Medium $60.
Team: from $599 a month, adding SOC 2 and project-scoped, read-only access for members.

Pros and cons

Pros
A flat monthly price an agent cannot run up.
Row level security and Postgres roles hold read-only in the database itself.
One database for the product, the agents and the reports.
Cons
No built-in loaders for ad platforms or CRMs.
The Data API stops at 1,000 rows by default without an error.
Postgres stores rows, not columns, so wide scans slow down sooner than in a columnar warehouse.

What Reddit says

“Got into it mostly for the postgres part, I wanted real relational tables and row level security instead of doing the authorization in application code by hand.” — u/soft_axiom, r/Supabase, Sep 2026
“I came to supabase because you could cap spending.” — u/DarthOobie, r/Supabase, Sep 2026
“One query slipped through an agent, one that we never thought would have to paginate, and one large customer broke that assumption. Caused a pretty bad bug.” — u/sleeping-in-crypto, r/Supabase, Sep 2026

Standout feature: Row Level Security

Row Level Security is what our panels rely on. The rule that decides who reads a row lives in the database, so it holds for the panel’s page, a partner’s script and an agent alike. Every table in a panel’s store has a read policy for members and no write policy for signed-in users, and the table editor shows a table as a given role sees it.

The Supabase table editor showing one active RLS policy and the database role settings, with the authenticated role selected
Viewing a table as a role that respects its RLS policies. Image from Supabase’s blog

Verdict: what we would pick for a team that already builds agents in code and wants its reporting in the same Postgres. Pass if nobody on the team will run a loader, because nothing here pulls your ad platforms in for you.

3. MotherDuck

Best for: the smallest data and the smallest budget: a free start on DuckDB for a team with gigabytes, not terabytes.

The MotherDuck homepage in a browser frame
motherduck.com, captured 2 November 2026. Screenshot by Empact Partners

MotherDuck is DuckDB in the cloud: the fast analytics engine data people run on their laptops, given storage, sharing and an MCP server. It sells itself as a warehouse built for agents, and gives every user and every agent its own compute, so one heavy question does not slow everyone else’s.

Lite starts at $0 with 10 GB of storage and 10 hours of compute a month, then $0.60 per compute-unit hour, metered per query. Loading runs through dlt, Airbyte, Fivetran or Estuary, and MotherDuck’s own scheduled jobs, Flights, run dlt’s HubSpot and Stripe sources for you.

Loaders: dlt (a built-in destination), Airbyte, Fivetran and Estuary; Flights run dlt’s HubSpot, Stripe and Shopify sources on a schedule.
Read-only for the agent: on Lite, block the MCP server’s query_rw tool in your AI client; a read scaling token, which rejects writes on the server, needs Business.
Cost cap: none documented; compute past the free hours bills per query.

Read-only is the weak spot. The MCP server exposes a read tool and a read-write tool, and on the free plan the only way to hold an agent to the first is a setting in the AI client, which Claude, for one, cannot enforce across an organization. The server-side fix, a read-only token, is a $250-a-month Business feature.

Pricing

At small scale: $0 on Lite: 10 GB of storage and 10 hours of Pulse compute a month, three users and two service accounts.
Pulse compute: $0.60 per compute-unit hour, metered per query.
Storage: $0.04 per GB a month.
Business: $250 per organization a month plus usage, with read-scaling replicas and ten users; a 7-day trial.

Pros and cons

Pros
A $0 start with room for most marketing data.
Guides keep metric definitions where every agent reads them.
Each user and agent gets its own compute.
Cons
Read-only on the server needs the $250 Business plan.
No documented way to stop spend.
Fewer BI tools connect out of the box than to the larger warehouses, by its users’ account.

What Reddit says

“It’s a great offering, I’m a very happy customer so far.” — u/Jeannetton, r/dataengineering, Jan 2026
“There might be other tools (BI tools, proxies, etc) that have built in support for more popular platforms that won’t work with MotherDuck out the box.” — u/Existing_Wealth6142, r/dataengineering, Jan 2026
“Okay it seems that there is a lite plan, but as soon as you exhaust the free quota it goes to pay-as-you-go pricing” — u/CrowdGoesWildWoooo, r/dataengineering, Feb 2026

Standout feature: Guides

Guides are markdown documents in MotherDuck that hold a team’s metric definitions, join rules and caveats, and agents read them before they write SQL. They answer what our own build hit: an agent that read only what it was allowed to and still answered wrong, because nobody had told it that the ad platform and the CRM spell one campaign’s name differently.

A MotherDuck Guide defining net revenue retention, owned by Finance and RevOps, with its purpose and canonical definition
A Guide that defines net revenue retention for every agent. Image from MotherDuck’s blog

Verdict: the cheapest honest start we found for a team with gigabytes and one person who writes SQL. Not yet if the agent will be shared across a team on the free plan, because its read-only rule then lives in each person’s AI client.

4. Snowflake

Best for: a marketing team whose company already runs Snowflake and wants its own role and its own small warehouse inside it.

The Snowflake homepage in a browser frame
snowflake.com, captured 2 November 2026. Screenshot by Empact Partners

Snowflake is a cloud warehouse that bills compute by the second while a virtual warehouse runs. If your company’s data team already runs it, marketing’s first warehouse is not a purchase: it is a role, a schema and an X-Small warehouse inside the account the company pays for, which keeps marketing’s numbers next to finance’s instead of in a second copy.

An X-Small warehouse uses one credit an hour, $2 on Standard, with a 60-second minimum each time it wakes. That minimum is the agent’s cost line. An agent asking something every few minutes through a working day keeps the warehouse awake, about 8 credits, or $16 a day at list, and a resource monitor that suspends it at a credit quota is the cap to set first.

Loaders: Openflow connectors for Google Ads, LinkedIn Ads, Meta Ads, HubSpot and Salesforce; Fivetran, Airbyte and dlt load it too.
Read-only for the agent: a role with SELECT on marketing’s schema, with future grants for new tables; the managed MCP server grants each tool separately.
Cost cap: a resource monitor with a credit quota that suspends the warehouses assigned to it.

For a team starting from nothing, price is the problem. There is no free tier after the 30-day trial, and the meter runs whenever the warehouse is awake, so a team with no Snowflake account buys a data platform to answer marketing questions. Only an account admin can create a resource monitor or hand out the right to, so even the cap needs the data team.

Pricing

At small scale: an X-Small warehouse at 1 credit an hour, $2 on Standard, billed per second with a 60-second minimum per wake.
Credits: $2.00 on Standard, $3.00 on Enterprise, $4.00 on Business Critical (list, AWS US East).
Storage: $23 per TB a month on demand.
Trial: 30 days or until the free balance runs out, with no card needed to sign up.

Pros and cons

Pros
Easy to run, by its users’ account, even for a data team of two.
Resource monitors stop the bill at a quota.
Openflow loads the ad platforms and HubSpot natively.
Cons
No free tier after the trial.
Every wake bills at least a minute, which an agent multiplies.
The cap needs an account admin.

What Reddit says

“Majority of my experience has been in GCP/BQ, but getting up and running on Snowflake was super easy. Some might say it’s expensive, but having a platform that just works is nice.” — u/Virtual-Meet1470, r/dataengineering, Aug 2026
“at my previous company we used snowflake. At my current one we use BQ. I miss snowflake all the time.” — u/manueslapera, r/dataengineering, Nov 2025
“Our organization has/had both, Snowflake is a lot simpler since it’s a more mature product, but we’re moving to Databricks on Azure because we’re getting a better deal” — u/Emergency-Hurry947, r/dataengineering, Aug 2026

Standout feature: Resource monitors

A resource monitor is a credit budget with teeth. It can notify at one threshold and suspend the warehouses assigned to it at another. Give marketing’s agent its own X-Small warehouse and its own monitor, and the worst week it can have is a number someone chose in advance.

A diagram of three Snowflake resource monitors with credit quotas, one set for the account and two assigned to specific warehouses
Resource monitors set for the account and for individual warehouses. Image from Snowflake’s documentation

Verdict: where we would put marketing’s agent when your company already runs Snowflake: a role, a schema and an X-Small warehouse under its own monitor. Wrong as a first purchase: for a team starting from nothing, BigQuery or MotherDuck answers the same questions without paying for a warehouse to stay awake between them.

5. Amazon Redshift Serverless

Best for: a B2B software company whose product already runs on AWS, with its signups sitting in Aurora or RDS.

The Amazon Redshift Serverless page on aws.amazon.com in a browser frame
aws.amazon.com/redshift/redshift-serverless, captured 2 November 2026. Screenshot by Empact Partners

Redshift Serverless is AWS’s warehouse with no clusters to size: capacity starts and stops with the queries and bills in RPU-hours. For a marketing team its case is the product database. Zero-ETL copies data from Aurora, RDS and DynamoDB into Redshift with no pipeline to build, so signups sit beside the CRM and the ad spend.

The floor is the smallest base, 4 RPUs, at $0.36 per RPU-hour in Ohio: $1.44 an hour while it runs, billed per second with a 60-second minimum, or about $11.52 for an eight-hour day kept awake. A usage limit in RPU-hours per day, week or month can turn off user queries when it is hit.

Loaders: zero-ETL from Aurora, RDS and DynamoDB, and from Salesforce, Meta ads, Instagram ads and Zendesk; Fivetran, Airbyte and dlt load it too.
Read-only for the agent: a database user with SELECT on marketing’s schema; AWS’s own Redshift MCP server runs read-only by default.
Cost cap: a usage limit in RPU-hours per day, week or month that can turn off user queries.

Cold starts and the floor cost the most. A workgroup that has gone idle takes time to come back, 15 to 30 seconds by one AWS user’s account, which an agent waiting on an answer will feel, and every wake bills at least a minute of four RPUs. For a team that is not on AWS, none of the zero-ETL case applies.

Pricing

At small scale: $1.44 an hour at the 4-RPU base in US East (Ohio), billed per second while it runs and nothing while idle.
Compute: $0.36 per RPU-hour in Ohio; AWS’s page quotes “as low as $1.50 per hour”.
Storage: $0.024 per GB a month in managed storage.
Trial: a $300 credit for 90 days for first-time Serverless users.

Pros and cons

Pros
Zero-ETL puts product data next to marketing data without a pipeline.
Usage limits can switch queries off at a budget.
AWS’s MCP server stays read-only unless someone opts in.
Cons
Cold starts after the workgroup goes idle.
A four-RPU floor on every wake.
The case rests on already being on AWS.

What Reddit says

“If you are looking to save on costs, you should look into Redshift Serverless; not running Clickhouse OSS (or any other OSS tech) on VMs - the costs saved will simply move to administration overhead.” — u/exact-approximate, r/dataengineering, Feb 2026
“Serverless may also be an option if you don’t mind 15-30 second startup times after idle.” — u/Bluberrymuffins, r/aws, Sep 2026

Standout feature: Zero-ETL integrations

Zero-ETL is the reason to pick Redshift when the product runs on AWS. Rows written to the product’s database are replicated into Redshift with no job of yours in between, so “which of this month’s signups used the product before they talked to sales” stops being a question for an engineer and becomes one for the agent.

A diagram of application data flowing from Amazon RDS source databases through zero-ETL integrations into Redshift data warehouses, then to analytics queries and data analysts
Zero-ETL integrations from Amazon RDS into Redshift. Image from AWS’s documentation

Verdict: the first warehouse we would choose for a company whose product runs on AWS and whose marketing questions start with product usage. Skip it if your product does not run on AWS, because then you pay the four-RPU floor and get none of the zero-ETL.

6. Databricks

Best for: a company whose data team already runs Databricks, where marketing wants answers inside it rather than a second warehouse.

The Databricks homepage in a browser frame
databricks.com, captured 2 November 2026. Screenshot by Empact Partners

Databricks is a data and AI platform whose SQL warehouses sit on the company’s lakehouse, and its offer to marketing is Genie, a chat interface over curated tables. If your data team already runs Databricks, a marketing warehouse there is a schema and a Genie Agent, governed by the same Unity Catalog grants as everything else.

Serverless SQL bills $0.70 per DBU, cloud instance included, and the pricing page gives no hourly rate per warehouse size. For an agent the rule that matters is idle time: a serverless warehouse stops 10 minutes after its last query by default, 5 at the least from the console, and bills until it stops.

Loaders: Lakeflow Connect managed connectors for Salesforce, HubSpot, Google Ads, Meta Ads and TikTok Ads, plus databases by change data capture.
Read-only for the agent: Unity Catalog grants on the curated tables; a Genie Agent works from the datasets an analyst registered to it, under permissions on the agent and its data, and outside agents reach it through Databricks’ managed MCP servers.
Cost cap: budgets that email when spend passes a threshold; auto stop and statement timeouts limit a single warehouse.

None of this is a first purchase. Free Edition is for personal use only and forbids commercial use, so a team without Databricks starts on a 14-day trial and then a platform contract. And the budgets report spend by email rather than stopping it.

Pricing

At small scale: $0.70 per DBU on serverless SQL, cloud instance included, billed while the warehouse runs.
SQL Pro and Classic: $0.55 and $0.22 per DBU, on self-managed warehouses.
Free Edition: $0, personal and non-commercial use only, one 2X-Small warehouse.
Trial: 14 days, then pay as you go or a committed-use contract.

Pros and cons

Pros
Genie Agents put curated, governed answers in front of people who do not write SQL.
Managed connectors for the ad platforms, HubSpot and Salesforce.
One set of Unity Catalog grants for people and agents.
Cons
No free tier for commercial use.
An idle serverless warehouse bills until auto stop.
Budgets alert; they do not stop spend.

What Reddit says

“the semantic layer is everything with these tools. i learned same lesson in my place, we spent more time writing descriptions and examples than actual setup and it was worth it” — u/Comfortable_Bug_1740, r/analytics, Oct 2026
“I have really enjoyed using the genie, but we just got the number of times we can use it reduced thanks to licensing.” — u/theycallmethevault, r/analytics, Jul 2026
“Bills were climbing fast and we managed to limit the issues with proper fencing of the rights.” — u/MadT3acher, r/dataengineering, Aug 2026

Standout feature: Genie Agents

Genie Agents, called Genie spaces until recently, are where an analyst teaches the agent the business before anyone asks it anything: the tables it may use, example queries, measures and instructions. Databricks’ documentation claims more accurate answers than SQL written straight against raw tables, the lesson our own build learned by hand.

The Examples tab of a Databricks Genie Agent listing curated example queries and measures such as quota attainment per rep
Curated examples and measures in a Genie Agent. Image from Databricks’ documentation

Verdict: where we would build marketing’s agent when the company already runs Databricks and an analyst will curate the Genie Agent. Not as a first warehouse: the free edition is not for business use, and its budgets warn rather than stop.

Pick the Warehouse for the Data You Already Have

Spend and traffic in Google: BigQuery, with a daily quota on the agent’s login.
Agents built in code: Supabase, with the agent on a direct Postgres connection.
Gigabytes and no budget: MotherDuck, on Lite until the agent is shared.
Company on Snowflake: a role, a schema and an X-Small warehouse under its own monitor.
Product on AWS: Redshift Serverless, for zero-ETL from the product database.
Company on Databricks: a Genie Agent an analyst curates.

Read-Only Stops the Damage, Not the Wrong Answer

When we built a read-only warehouse for an agent on Supabase Postgres, its login could read one view and nothing else, and its first answer was still wrong. One campaign’s name differed in case between the ad platform and the CRM, and the agent could not see the raw rows that showed it. A check run as admin found the gap, and the fix went into the view.

So the warehouse decides what an agent can break and what it can cost. Whether it answers right is decided one layer up, in the view and the definitions it reads, which is what Guides and Genie Agents sell and what no free tier writes for you.

That layer is where our RevOps work on agents starts, and a named consultant owns what the agent answers from the first week.

Audit: the reporting your team rebuilds by hand every week.
One job: one question for one agent, such as which signups deserved a call.
The layer: the view and the definitions the agent reads, in whichever warehouse fits.
The measure: the number it should move, agreed before the build: hours back, or a report nobody assembles anymore.

If your team has an agent ready to answer that question and nowhere safe for it to read, book time with me. We will find out together whether building it is work for us.

Ready
To Connect?

Let's Partner