Skip to main content

Sync warehouse tables to Signals

To sync existing, pre-calculated attributes from your warehouse to Signals, configure an attribute group with a warehouse source. No additional modeling is required — the batch engine reads rows from your warehouse table at a fixed interval and sends them to the Profiles Store.

Use stream attributes with backfill when possible

If your source data comes from Snowplow events, consider using a stream attribute group with the backfill option enabled instead. It gives you real-time updates from your event stream alongside historical backfill, without needing to maintain a separate warehouse table. Attributes that are fetched from a warehouse are best suited for pre-calculated values from non-Snowplow sources, or tables that already exist independently of your event pipeline.

Configure a warehouse source

When creating an attribute group, select Warehouse as the data source.

Create attribute group form showing where to select the Warehouse data source in Snowplow Console

Provide the basic configuration

Select the Attribute key you have data for. The attribute key for the group must correspond to a column in the table that contains the key values.

Set the TTL to control how long the data persists in the Profiles Store.

Updates run hourly by default. Use the Sync frequency selector to sync less often (6h, 12h, or 24h).

You must also specify a Backfill start date: the earliest date from which Signals should read rows on the first sync.

Create attribute group form showing where to add basic warehouse configuration in Snowplow Console

Define which fields to sync

Select which Table to sync from.

Choose the Modified date column: the column that tells when a particular row was last written or updated in the table (for example, a load_tstamp or updated_at column populated by your ETL process on every write). The Modified date column must be in UTC. A column in local time causes rows to be silently matched against the wrong sync window, with no error raised. If multiple rows exist for the same attribute key within a sync period, the engine uses the row with the latest Modified date value.

Use a last-modified timestamp

Don't use a business or event timestamp that doesn't change when a row is reloaded or updated. The batch engine won't be able to tell the row has changed, and the data may be missed.

Finally, select which Table fields you want to send to Signals.

Warehouse source configuration showing warehouse table and field mapping options