> ## Documentation Index
> Fetch the complete documentation index at: https://support.detrics.io/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Frequently asked questions about Detrics Data Warehouse

<Info>**Last updated:** March 18, 2026</Info>

## General

<AccordionGroup>
  <Accordion title="Which data warehouse platforms does Detrics support?">
    Currently, Detrics supports **Google BigQuery** as a destination. BigQuery is the most widely used cloud data warehouse for marketing analytics, and Detrics is optimized for deep integration with it.
  </Accordion>

  <Accordion title="Do I need to create the BigQuery dataset myself?">
    With the **Standard Setup**, no, when you create a destination and specify a dataset name, Detrics creates the dataset automatically in your GCP project (if it doesn't already exist). You just need to make sure the Detrics service account has the right permissions. With [**Least-Privilege Access**](/bigquery/least-privilege-access), you do pre-create the dataset yourself, since Detrics is not granted project-wide dataset-creation rights.
  </Accordion>

  <Accordion title="Which platforms can I sync to BigQuery?">
    Every platform supported by Detrics can be synced to BigQuery. See the [Fields Catalog](/fields-catalog) for the full list of platforms and the metrics and dimensions available for each.
  </Accordion>

  <Accordion title="Can I use the same connections I already have in Detrics?">
    Yes. The Data Warehouse uses the same OAuth connections you've set up for Google Sheets or Looker Studio. No need to re-authenticate your platforms.
  </Accordion>

  <Accordion title="Is the Data Warehouse included in my Detrics plan?">
    The Data Warehouse is available on select plans. Check [Pricing & Plans](/pricing) for current details.
  </Accordion>
</AccordionGroup>

## Data & Syncing

<AccordionGroup>
  <Accordion title="How often does my data sync?">
    You choose the schedule when creating a transfer. Options range from **every hour** to **monthly**. You can also trigger a manual sync at any time.
  </Accordion>

  <Accordion title="How far back can I sync historical data?">
    You can configure the historical sync range per table: 1 month, 3 months, 6 months, 12 months, 24 months, or all time. The available history depends on what the platform API provides, some platforms limit historical data access.
  </Accordion>

  <Accordion title="What happens if a sync fails?">
    If a sync fails, the transfer shows an error status with details about what went wrong (e.g., expired token, BigQuery permission issue, platform API error). Your existing data in BigQuery is not affected, failed syncs don't delete or corrupt previously loaded data. After 3 consecutive failures, the transfer automatically pauses to prevent unnecessary API calls.
  </Accordion>

  <Accordion title="Can I sync multiple ad accounts in one transfer?">
    Yes. When creating a transfer, you can choose **All accounts** (syncs every account under that connection) or **Selected accounts** (pick specific ones). Each account's data is tagged with `_detrics_account_id` so you can filter by account in your SQL queries.
  </Accordion>

  <Accordion title="How does Detrics handle duplicate data?">
    It depends on the sync mode:

    * **Incremental**: Detrics deletes rows within the refresh window for the synced accounts, then inserts fresh data. This prevents duplicates while preserving data outside the window.
    * **Full Refresh**: The entire table is replaced on each sync, so duplicates are impossible.
    * **Full Append**: Rows are appended without deduplication. If you re-sync the same date range, you will get duplicate rows. This mode is designed for use cases where you want to track snapshots over time.
  </Accordion>

  <Accordion title="What happens to my data if I pause a transfer?">
    Nothing. Your data in BigQuery stays exactly as it is. Pausing a transfer simply stops scheduled syncs. When you resume, the next sync picks up where it left off based on the refresh window.
  </Accordion>

  <Accordion title="Will Detrics delete or overwrite my existing BigQuery tables?">
    **No.** Detrics will never modify, delete, or overwrite a table it didn't create. Before writing to any table, Detrics checks for the presence of its four [system columns](/bigquery/system-columns) (`_detrics_account_id`, `_detrics_row_id`, `_detrics_sync_id`, `_detrics_synced_at`). If a table exists but doesn't have these columns, Detrics treats it as a user-created table and **refuses to write to it**, the sync will fail with a clear error message asking you to rename the existing table or change the Detrics table prefix.

    This means it's completely safe to use a shared dataset that contains both Detrics-managed tables and your own tables, views, or materialized queries. Detrics will only ever touch tables that have its system columns.
  </Accordion>

  <Accordion title="What if I already have a table with the same name as a Detrics transfer target?">
    Detrics will detect the conflict and **block the sync** rather than overwrite your data. You'll see a `TABLE_NOT_MANAGED` error explaining that the table exists but wasn't created by Detrics.

    To resolve the conflict, you have two options:

    * **Rename your existing table** in BigQuery (e.g., add a `_backup` suffix), then re-run the sync
    * **Change the table prefix in Detrics**: each transfer has a configurable prefix (defaults to the platform name, e.g., `facebook_ads_`, `ga4_`). Set a custom prefix to avoid the collision

    See [Troubleshooting → Table Not Managed by Detrics](/bigquery/troubleshooting#table-not-managed-by-detrics) for more details.
  </Accordion>

  <Accordion title="Can I sync the same table group to multiple destinations?">
    Yes. You can create multiple transfers using the same table group, each pointing to a different destination. This is useful for maintaining separate production and staging datasets.
  </Accordion>
</AccordionGroup>

## BigQuery & Costs

<AccordionGroup>
  <Accordion title="Does Detrics charge for BigQuery storage or queries?">
    No. BigQuery costs are billed directly by Google through your GCP project. Detrics handles the data pipeline; Google bills you for storage and query compute. For most marketing use cases, BigQuery costs are minimal, often under \$10/month.
  </Accordion>

  <Accordion title="Which sync mode is cheapest in BigQuery?">
    **Incremental** is significantly cheaper for ongoing syncs. It only touches a small window of data (e.g., the last 3 days), which means lower query and storage costs compared to Full Refresh (which replaces the entire table each time). For a table with 12 months of history, an incremental sync with a 3-day window processes roughly 0.8% of the data compared to a full refresh.
  </Accordion>

  <Accordion title="Does BigQuery charge for data loading?">
    No. BigQuery does not charge for loading data via the streaming or load APIs. You're only charged for storage and queries you run against the data.
  </Accordion>

  <Accordion title="Can I control where my data is stored geographically?">
    Yes. When creating a destination, you choose the **data location**, either a multi-region (US, EU) or a specific region (e.g., `us-east1`, `europe-west1`). This is permanent for that dataset and cannot be changed after creation.
  </Accordion>
</AccordionGroup>

## Tables & Fields

<AccordionGroup>
  <Accordion title="Can I add or remove fields from a table after the first sync?">
    Yes. You can edit a table at any time to add new metrics/dimensions or remove existing ones. On the next sync, Detrics will migrate the BigQuery table schema, adding new columns and preserving existing data. Removed fields will no longer receive new data but existing values are preserved.
  </Accordion>

  <Accordion title="What are premade table groups?">
    Premade table groups are presets with pre-configured metrics and dimensions for common use cases. They come in three tiers:

    * **Light**: Essential metrics only, minimal table count
    * **Standard**: Recommended for most use cases, balanced coverage
    * **Enhanced**: Comprehensive coverage with detailed breakdowns

    You can customize any premade group after creating it.
  </Accordion>

  <Accordion title="How does Detrics name columns in BigQuery?">
    All column names are normalized to **snake\_case**. This means `campaignName` becomes `campaign_name`, `campaign.name` becomes `campaign_name`, and `CTR` becomes `ctr`. This ensures consistent naming across all platforms so you can write clean SQL without worrying about each platform's conventions. See [Column Naming](/bigquery/column-naming) for the full rules.
  </Accordion>

  <Accordion title="What are custom fields?">
    Some platforms support user-defined fields that aren't part of the standard catalog. For example, GA4 custom dimensions, Meta Ads custom conversions, or Klaviyo custom metrics. Detrics can discover these fields per account and sync them alongside standard fields. See [Custom Fields](/bigquery/custom-fields) for details.
  </Accordion>
</AccordionGroup>

## Transfers & Scheduling

<AccordionGroup>
  <Accordion title="What happens if I change a transfer's schedule?">
    The new schedule takes effect on the next scheduled run. If you change from daily to hourly, the transfer will start running hourly from the next scheduled time.
  </Accordion>

  <Accordion title="Can I trigger a sync manually?">
    Yes. On any active transfer's detail page, click the **Sync Now** button. This triggers an immediate run without affecting the regular schedule.
  </Accordion>

  <Accordion title="What is a resync and when should I use it?">
    A resync re-fetches data from the platform, optionally clearing existing data first. Use it when:

    * You added new fields to a table and want historical data for those fields
    * You suspect data quality issues and want a clean reload
    * You changed filters and want to re-fetch with the new criteria

    See [Resync & Recovery](/bigquery/resync-and-recovery) for details.
  </Accordion>

  <Accordion title="How does timezone handling work?">
    The timezone is set on the destination. All transfers using that destination follow its timezone. Schedules are interpreted in the destination's timezone, so "Daily at 6:00 AM" means 6:00 AM in that timezone, even when DST changes happen. Detrics handles DST transitions automatically.
  </Accordion>
</AccordionGroup>
