Skip to main content

Overview

Data Warehouse Exports write your raw Cometly data as Parquet files to an S3 bucket you own. Point your warehouse or lake tooling — Snowflake, BigQuery, Databricks, Athena, DuckDB, and others — at the bucket to load the data on your own schedule. You keep the raw, unaggregated data and model it however you like on your side.
This is different from the API exports in the API Reference (Create Event Export, Create Contact Export, Create Company Export). Those return gzipped NDJSON for ad-hoc download through the API. Data Warehouse Exports deliver columnar Parquet files to your own object storage for bulk, recurring loads. See Exports vs Pagination for the API-side options.

How it works

1

Add a destination

Configure the S3 bucket and credentials Cometly writes to. See Set up an S3 destination.
2

Create an export

Choose a destination, a dataset, a cadence, and a window. See Create an export.
3

Load the files

Cometly writes Parquet files under your chosen path. Point your warehouse or lake at the bucket to load them.

Datasets

Each export unloads exactly one dataset. To export several datasets, create several exports — each with its own cadence, window, destination, and columns.
DatasetDescription
Raw touchpointsEvery tracked touchpoint as recorded, over the window.
Raw conversionsEvery conversion as recorded — the unattributed counterpart to touchpoints.
Raw hitsEvery tracked pixel hit as recorded, unfiltered across all event types.
Attributed conversionsConversions joined to their attributed touchpoints, at the attributed-touchpoint grain.
ContactsEvery contact created in the window, with its identity and custom fields.
CompaniesEvery company created in the window.
Ad analyticsDaily ad-performance rows per channel (Facebook, Google, LinkedIn, TikTok, Microsoft, Reddit, Taboola, AdRoll, Whop, X).

Cadence and windows

An export runs on a cadence and covers a window of data. The two are independent: cadence is how often a run fires; the window is how much each run pulls.
CadenceRunsWindow
One-timeOnce, then stopsAn absolute start/end date range you pick.
DailyOnce a day, at an hour you chooseA trailing window (e.g. last 7 days), capped at 90 days.
HourlyEvery hourA trailing window, capped at 14 days (7 days for ad-analytics datasets).
A trailing window is anchored to “now” at run time — “last 7 days” means the 7 days ending at the moment the run fires, not a fixed calendar range. Every recurring run re-exports the full window (not just what changed), so runs are self-healing and you deduplicate on a stable key on your side.
A run only re-exports rows that are still inside the window. To refresh data older than the window (for example, after a backfill or a late restatement), create a one-time export over the date range you want. The common pattern is a one-time backfill plus a recurring incremental export.

Column conventions

These conventions hold across every dataset, so the same column name means the same thing in every export.
  • Timestamps are UTC. Every *_utc column (and created_at / updated_at) is a UTC timestamp. The one exception is the ad-analytics metric date, which is a local calendar date — see that dataset’s page.
  • Locked vs optional columns. Some columns are locked (always exported — the ones that keep the data coherent, such as row identity and join keys); the rest are optional and you pick them at creation. Each dataset page marks which is which.
  • Cometly ID vs platform ID. Ad entities (account, campaign, ad set/ad group, ad) are carried as IDs only — never names. Each level exposes two columns:
    • cometly_<level>_id — Cometly’s own internal ID for the entity. Stable, and the reliable key for joining one export to another (e.g. touchpoints to ad analytics).
    • platform_<level>_id — the advertising platform’s own ID for the same entity (the Facebook/Google/etc. ID). The key you join to your platform-side data; may be null.
    Resolve campaign/ad names on your side from these IDs.
  • JSON-array columns. A few columns (the contacts identity-graph columns) are exported as JSON-encoded arrays. They’re optional and default to off.

Where to manage exports

In the Cometly dashboard, go to Integrations → Data Exports. Destinations and exports are both managed there. This feature is available to space administrators.