Skip to main content
Last updated: March 18, 2026

What Are Table Groups?

A table group is a collection of related tables for a single platform. Each table group belongs to one platform (e.g., Meta Ads, Google Ads, Shopify), and each table in the group defines a specific dataset to sync — with its own metrics, dimensions, filters, and sync settings. Think of a table group as a schema definition: “For Meta Ads, I want these 4 tables with these specific fields.” When you create a transfer, you bind a table group to a destination and a schedule.

Why Groups?

Table groups let you:
  • Reuse definitions — The same table group can be used by multiple transfers (e.g., sync the same tables for different accounts or to different destinations)
  • Organize logically — Group related tables together (campaign metrics + ad metrics + audience breakdowns)
  • Mix sync modes — When creating a transfer, you assign a sync mode to each table, so you can combine incremental daily metrics with full refresh settings data in one transfer

Creating a Table Group

  1. Go to Data Warehouse → Tables
  2. Click New Table Group
  3. Select the platform (e.g., Meta Ads, Google Analytics 4, Shopify)
  4. Choose your starting point:

Premade Presets

Detrics offers premade table groups with pre-configured metrics and dimensions for common use cases. Presets come in three tiers:
TierDescriptionBest For
LightEssential metrics only, minimal tablesQuick setup, simple reporting
StandardBalanced coverage, recommended defaultsMost use cases
EnhancedComprehensive coverage, detailed breakdownsDeep analysis, granular reporting
You can customize any premade group after creating it — add or remove tables and change fields.

From Scratch

Start with an empty group and build each table manually. Best when you know exactly which fields you need or when working with platforms where premade presets don’t cover your use case.

Configuring Tables

Each table in a group maps to one BigQuery table. Here’s what you configure:

Table Name

The name that will be used for the BigQuery table. Must be unique within the table group. Names are converted to snake_case automatically (e.g., “Campaign Performance” becomes campaign_performance). If you set a table name prefix on the transfer (e.g., meta_ads_), the final BigQuery table name will be meta_ads_campaign_performance.

Metrics

Quantitative fields to include — the numbers you want to analyze. Examples:
  • Advertising: spend, impressions, clicks, conversions, ctr, cpc, cpm, roas
  • E-commerce: gross_sales, order_count, average_order_value, refund_amount
  • Analytics: sessions, total_users, new_users, bounce_rate, engagement_rate
  • Email: email_opens, email_clicks, unsubscribes, revenue_per_recipient
The field picker shows all available metrics for the selected platform, organized by category. Use the search bar to find specific fields quickly.

Dimensions

Categorical fields that define the granularity of your data — how rows are grouped. Examples:
  • Common: campaign_name, ad_name, date, country, device
  • E-commerce: product_title, product_type, order_status
  • Analytics: source_medium, landing_page, page_path
The dimensions you choose determine how many rows your table will have. Adding more dimensions creates more granular (and larger) tables. Start with the dimensions you actually need for analysis and add more later if needed.

Time Aggregation

How data is grouped over time:
AggregationRow GranularityExample
DailyOne row per day per unique dimension combinationCampaign “Summer Sale” on 2026-03-15
WeeklyOne row per ISO weekCampaign “Summer Sale” in week 12
MonthlyOne row per calendar monthCampaign “Summer Sale” in March 2026
HourlyOne row per hour (where supported)Campaign “Summer Sale” at 14:00 on 2026-03-15
TotalOne row per unique dimension combination (no date)Campaign “Summer Sale” all-time total
Incremental sync mode (assigned at the transfer level) requires Daily time aggregation. If you need weekly, monthly, hourly, or total aggregation, use Full Refresh or Full Append.

Historical Sync Range

How far back to fetch data on the initial sync. Options: 1 month, 3 months, 6 months, 12 months, 24 months, or all time.

Filters

Optional conditions to narrow the data. For example:
  • campaign_name CONTAINS "Brand" — Only sync branded campaigns
  • spend GREATER_THAN 0 — Only sync rows with actual spend
  • country EQUALS "US" — Only sync US data
Available filter operators:
OperatorDescription
EQUALSExact match
DOES_NOT_EQUALExcludes exact match
CONTAINSSubstring match
DOES_NOT_CONTAINExcludes substring match
GREATER_THANNumeric greater than
LESS_THANNumeric less than
GREATER_OR_EQUALNumeric greater than or equal
SMALLER_OR_EQUALNumeric less than or equal
REGEX_CONTAINSRegular expression match
REGEX_CONTAINS_EXACTExact regular expression match
Filters can be combined with AND or OR logic.
Filters are applied at the platform API level, not in BigQuery. This means filtered-out rows are never fetched or stored, reducing sync time and storage costs.

Data Preview

Before creating or saving a table, you can preview the data it will produce. Click Preview to fetch a sample of rows using the current configuration. This helps you verify that the right fields and filters are selected before running a full sync.

Editing Tables After Creation

You can edit any table at any time. Before saving, Detrics shows a change preview that classifies each change and warns you about its impact. Here’s what happens for each type of change:

Safe changes

  • Adding new metrics — New metric columns are added to the BigQuery table on the next sync. Existing rows will have NULL for the new columns until they are refreshed within the sync window. No resync is triggered automatically — if you want the new metric backfilled for all historical data, run a manual resync.

Column drop changes

  • Removing metrics — The removed column is dropped from the BigQuery table via a schema migration. Existing data in that column is permanently deleted. The remaining columns and their data are preserved.

Breaking changes (automatic resync)

These changes alter the row granularity of your data — the existing rows become incompatible with the new table structure. When you save a breaking change, Detrics automatically:
  1. Marks the table for resync
  2. On the next sync, recreates the BigQuery table with the new schema (old data is discarded, not copied, since it has incompatible granularity)
  3. Runs a full historical resync to populate the table with fresh data at the correct granularity
  • Adding or removing dimensions — Dimensions define how rows are grouped. Adding a dimension creates more rows with finer breakdowns; removing one aggregates data into fewer rows. Either way, the old row structure no longer matches.
  • Changing time aggregation — Changing from Daily to Weekly (or vice versa) changes how data is bucketed over time. The existing rows don’t match the new aggregation level. Note: incremental sync mode only supports daily aggregation, so switching to any other aggregation (weekly, monthly, etc.) will also automatically downgrade the sync mode to Full Refresh.

Configuration changes

These take effect on the next sync without any schema or data migration:
  • Changing filters — Applied on the next sync. For full data coherency with the new filters, run a historical resync manually.
  • Changing sync mode — Takes effect on the next sync.
  • Changing refresh window — Takes effect on the next sync.
  • Changing historical sync range — Takes effect on the next resync.
  • Changing platform-specific options — Applied on the next sync.

Duplicating and Copying

  • Duplicate a table group — Creates a copy of the entire group with all its tables, useful for creating variations (e.g., same fields but different filters)
  • Copy a table — Creates a copy of a single table within the same group or to a different group