To build a marketing data warehouse for an ecommerce brand, pick one cloud warehouse, connect Shopify, Klaviyo, Meta Ads and Google Ads to it on a daily schedule, then model the raw tables so orders, customers and ad spend join on the same keys and definitions. Each source can be connected three ways: a free or low-cost connector built by the warehouse vendor, a connector tool such as Fivetran or Airbyte that charges by usage, or custom code. This page sets out each step, what each route costs at published prices, what breaks, and what to check before the numbers go into a report. Brand Media Works builds marketing data warehouses for ecommerce brands.
Step 1: Which warehouse should a marketing data warehouse use?
Any of the three main cloud warehouses can hold marketing data. For most ecommerce brands the volumes are small enough that the warehouse bill is modest, so the choice usually comes down to which connectors and tools the brand will use.
| Warehouse | How it charges | Free allowance or trial | Worth knowing |
|---|---|---|---|
| Google BigQuery | Queries by data scanned ($6.25 per TiB after the free tier) and storage by the gigabyte | First 10 GiB of storage and 1 TiB of queries free each month | Has built-in transfers from Google Ads, Shopify, Facebook Ads and Klaviyo |
| Snowflake | Compute by the second while a warehouse runs, with a 60-second minimum; an extra-small warehouse uses 1 credit an hour | $400 of usage in a 30-day trial | One of the destinations Klaviyo's own export supports |
| Amazon Redshift | Serverless from $1.50 an hour of compute; managed storage $0.024 per GB-month in US East | $300 credit over 90 days for first-time Serverless users | Fits brands already running on AWS |
A brand that spends heavily on Google Ads, or wants to start without a connector subscription, has a practical reason to choose BigQuery, because its free built-in transfers cover Google Ads and, for now, Shopify and Klaviyo.
Step 2: How do you connect Shopify, Klaviyo, Meta Ads and Google Ads?
Each source has its own route, limits and failure modes. The table compares the built-in route with a connector tool for each one.
| Source | Built-in route | Connector tool route | What to watch |
|---|---|---|---|
| Shopify | BigQuery's Shopify transfer: free while in Preview; needs a custom Shopify app; every run reloads all available data; gift cards need Shopify Plus | Fivetran and Airbyte Shopify connectors, charged by usage | Shopify deprecated its REST Admin API on 1 October 2024, and connectors now read its GraphQL API. Shopify's bulk export truncates nested discount codes at about 100 per discount. |
| Google Ads | BigQuery's Google Ads transfer: a free connector; runs daily; re-reads the last 7 days by default and up to 30; re-running a day overwrites it, so backfills do not duplicate data | Fivetran lists a median Google Ads connection at $48.67 a month, at 88,240 monthly active rows on its Standard plan | Money values arrive in micros, so $180.00 is stored as 180,000,000. Detailed reporting data is kept for 37 months. |
| Meta Ads | BigQuery's Facebook Ads transfer: a paid connector billed by compute used; daily at most; a fixed set of tables and no custom reports; the Facebook access token expires after 60 days | Fivetran lists a median Facebook Ads connection at $22.06 a month, at 34,479 monthly active rows on its Standard plan | Conversions are revised after the fact, so recent days must be re-read: 9 days by default in one connector, up to 28 days in another. Meta removed its 7-day and 28-day view-through windows from the API on 12 January 2026. |
| Klaviyo | Klaviyo's own warehouse sync: needs an Advanced KDP subscription; hourly, fixed cadence; one destination per account; profiles and events arrive as two tables of nested JSON. BigQuery also lists a Klaviyo transfer in Preview. | Fivetran and Airbyte Klaviyo connectors, charged by usage | Klaviyo's reporting API allows 225 requests a day, and Klaviyo keeps revising attribution for up to 5 days after a send by default, or up to 90 days. |
Two cautions apply to the built-in route. The Shopify and Klaviyo transfers are Preview features, which Google says may have limited support, and Google's delivery commitment does not apply to transfers from non-Google sources. A brand that relies on them should set failure alerts and a monthly check, or use a connector tool for the sources that matter most.
Step 3: How do you make the data join up?
Loading the data is the quick part. A warehouse earns its keep only once the four sources agree, which means building a small set of modeled tables on top of the raw ones, usually with SQL in a tool such as dbt, which has a free one-seat Developer plan and a Starter plan at $100 per user a month. The decisions that matter:
- One orders table. Revenue net of discounts, refunds and returns, with the treatment of shipping and tax agreed with finance.
- One customer. Shopify customers and Klaviyo profiles matched, usually on email, so repeat rate and lifetime value are counted once.
- Spend tied to campaigns. Meta and Google Ads spend joined to orders through campaign IDs and UTM tags, which means tagging has to be consistent before the data can be.
- Same currency, same time zone, same units. Ad platforms report in the ad account's currency and time zone, and Google Ads money arrives in micros.
- Revised numbers re-read. Meta and Klaviyo conversions change for days after the event, so the models must refresh recent days, not copy each day once.
- Raw data kept. Keep the raw tables untouched, so a definition can be changed later without reloading history the platforms may no longer hold.
What does a marketing data warehouse cost each month?
For a mid-sized DTC brand the running cost is usually small next to the build. The table compares two routes using published prices; a brand's own volumes will move the connector line.
| Line | Google-native route | Connector-tool route |
|---|---|---|
| Shopify | $0 while BigQuery's connector is in Preview | Usage-based; no median published |
| Google Ads | $0, a free connector | $48.67 at Fivetran's median usage |
| Meta Ads | Compute used; Google's planning ceiling is $1.20 per hour of transfer run time, so an hour a day is at most about $36 a month | $22.06 at Fivetran's median usage |
| Klaviyo | $0 while BigQuery's connector is in Preview, or Klaviyo's own sync on an Advanced KDP plan | Usage-based; no median published |
| Warehouse | Often inside BigQuery's free monthly allowance at small volumes | Depends on the warehouse chosen |
| Modeling | $0 on dbt's free Developer plan, or $100 per user a month on Starter | Same |
Fivetran's medians are for its Standard plan at a company of 1 to 200 employees. Its Free plan covers up to 500,000 monthly active rows across connections, and on paid plans each connection with up to 1 million monthly active rows carries a $5 base charge. Airbyte's Standard plan starts at $20 a month with 5 credits included. The build itself costs more than any of these lines: one data analytics consultancy that sells Shopify reporting publishes about $4,000 and about two weeks for a pipeline from one or two sources, and about $10,000 and about four weeks for around three sources with several reports. How much marketing data engineering costs sets out the full range of published project prices.
What should you check before trusting the numbers?
- Revenue matches Shopify and finance for a full month, after refunds, within an agreed tolerance.
- Spend matches each ad platform's own interface for the same dates, currency and time zone.
- Recent days change when they should, showing that revised conversions are being re-read.
- Every connector has a failure alert, and someone owns the renewal of the Facebook access token before its 60 days run out.
- History is loaded as far back as the platforms allow, and kept, so the 37-month limits on Meta and Google Ads stop mattering.
This page covers the build. Data engineering for ecommerce covers what each source holds and how the stack fits together, and what a data engineer does covers who keeps it running. Marketing data engineering sets out how Brand Media Works builds and hands over marketing data warehouses.
Frequently asked questions
Is BigQuery free for marketing data?
Partly. BigQuery gives the first 10 GiB of storage and 1 TiB of queries free each month, and its Google Ads transfer is free. Its Shopify and Klaviyo transfers are free while in Preview, and its Facebook Ads transfer is charged by the compute it uses.
Should we use Fivetran or BigQuery's built-in transfers?
Built-in transfers cost less and suit brands on BigQuery with standard reporting needs. A connector tool costs more but covers more sources and tables, can load into other warehouses as well as BigQuery, and is not a Preview feature, which matters for the sources the business reports on every day.
How long does it take to build a marketing data warehouse?
Published estimates put a pipeline from one or two sources at about two weeks and around three sources at about four weeks. Agreeing definitions with finance and checking a month of numbers usually adds time on top.