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