Skip to main content

What is the semantic layer?

The semantic layer describes your warehouse data in business terms: which tables exist, which dimensions you can group and filter by (channel, country, product), which metrics you can calculate (revenue, sessions, ROAS), and how tables join to each other. Interact compiles every semantic question into SQL and runs it in your own warehouse. Your data stays where it is; Interact only stores the model definitions. The semantic layer is used by:
  • Marketing reports (performance, paid performance, attribution, product performance)
  • Reports and their widgets
  • Monitors that track metrics over time
  • Data Analyst agents, which can query semantic models next to writing their own SQL

Two kinds of models

Open Settings → Semantic layer to see both kinds side by side.

Set up Interact models

Connect your warehouse and map your tables to the Interact data contract.

Add custom models

Sync your own Ossie YAML models from a dbt or Dataform repository.

How the two combine

Interact loads the Interact models first and adds your custom models on top. Both are available in the same query, so a custom model can define a relationship to an Interact model.
Interact models always win a name collision. If a custom dataset has the same name as an Interact dataset, the custom one is ignored and shows an Unused badge in the Custom models tab. Relationships that point to the ignored dataset are dropped too. Rename the custom dataset to use it.

Which warehouse connection runs the queries

Make sure the connector you use can read every table your models point to. See Data mapping for setting the read connector.

Who can manage it

Only organization admins can open Data mapping and Semantic layer in Settings.