Skip to main content
Hightouch automatically creates and manages tables for all event types. New tracked fields are automatically imported into the warehouse without additional data engineering work. Use this page to understand which tables Hightouch creates, how event fields become columns, and which timestamps to use for analysis. All the tables for an event source are written into the same schema in the warehouse. By default, this schema name is autogenerated based on the event source. However, the destination schema can be configured in the destination settings.

Tables

Identifies

All identify events are written into the warehouse in the identifies table.

Tracks

All track events are written into the warehouse in the tracks table.

Per-event tables

By default, Hightouch creates a separate table for each Track event type. When these per-event tables are enabled, the event properties are written as separate columns within the table. When per-event tables are turned off, the events properties column is added to the tracks table so that custom properties are still accessible.

Pages

All page events are written into the warehouse in the pages table.

Screens

All screen events are written into the warehouse in the screens table.

Groups

All group events are written into the warehouse in the groups table.

FAQ

How are the warehouse column types determined?

Hightouch determines what types to use for new columns based on the event values. Event values are categorized into one of the following types:
  • String
  • Integer
  • Float
  • Timestamp
  • Boolean
Timestamps must be sent as ISO-8601 string.

What happens if my event types change?

When possible, Hightouch attempts to convert the values in the event payload into the existing types in the warehouse. For example, if an event contains a Integer value for a field, but the current type in the warehouse is a String, the Integer is automatically converted. If a conversion can’t be safely done without losing data, Hightouch doesn’t upload the event, and retries it for 48 hours. This way, if you fix the type in the warehouse, Hightouch will automatically sync the event.

How are complex objects handled?

When tracking events with Objects as custom properties, Hightouch flattens nested columns into a flat schema. For example, the following properties:
Would get imported into the warehouse as:
Last modified on June 25, 2026