Skip to main content

Overview

Interact models are semantic models that Turntwo maintains. They follow a fixed table layout, the data contract: you deliver tables with the agreed columns in your warehouse, and point Interact at them in Settings → Data mapping. Interact then builds the interact_* datasets and the marketing reports on top of them. Your data stays in your warehouse. Interact reads it with your connector at query time. Prerequisites:
  • You are an organization admin
  • A Google BigQuery connector in Settings → Connectors
  • Contract tables delivered in a BigQuery dataset (by default named ext_interact__<table>; see Tables)
  • An existing, empty dataset where Interact can write its own tables
The Data mapping page has four tabs: Connection, Table mapping, Label mapping and Schemas. One Save button saves all tabs.

Connection

Warehouse - write

The connector and dataset where Interact writes its own tables, such as business events, attribution results and precalculated marketing tables.
The destination dataset must already exist. Interact does not create it.

Timezone

The calendar used for warehouse dates and semantic queries, for example when a report asks for “yesterday” or “last week”. Defaults to Europe/Amsterdam.

Warehouse - read

The connector that reads the contract tables and runs every semantic query for reports, marketing pages and monitors. Agents use their own warehouse connection instead.
The read and write connector can be the same connector. Use separate connectors when you want reports to run with read-only credentials.

Table mapping

Dataset

Enter the Dataset / schema that holds the delivered contract tables, for example ext_interact.

Tables

Switch on each table you deliver and enter its table name. Hover the info icon next to a table for a short description of what it holds. Tables with a Performance badge are needed for the marketing performance reports. Only the required columns must exist. Every other contract column is optional: when a table doesn’t have it, Interact reads it as an empty value of the right type. The Schemas tab lists all columns per table. Each mapped table becomes an Interact dataset named interact_<table>, for example interact_orders. You can see them in Settings → Semantic layer → Interact models.

Custom parameters

Each contract table may have a custom_params struct column with your own extra fields. When you save, Interact scans the struct:
  • Numeric fields (INT64, FLOAT64, NUMERIC, BIGNUMERIC) become metrics. They show as badges under the table.
  • All other fields become dimensions.
Field names must start with a letter or underscore and contain only letters, numbers and underscores. Nested structs inside custom_params are skipped.
The scan runs on save. After you add a field to custom_params in the warehouse, open Data mapping and click Save again to pick it up.

Label mapping

Contract tables use a label column (brand, shop or business unit) and a label_country column. Map the raw warehouse values to the names your team sees in reports. Reports open on the label and country marked as Default.

Schemas

The Schemas tab is the reference for every contract table: each column with its kind (dimension or metric), type, description and whether it is required. After you save, Interact checks each mapped table against the contract. Required columns your table does not have are marked Missing. Scanned custom_params metrics are listed too.
Share a link to a single table: the Schemas tab updates the URL with the table key, for example #orders.

Troubleshooting

Data mapping only lists active BigQuery connectors. Add one in Settings → Connectors first. See Google BigQuery.
The mapped table lacks a required column. Add the column to the table in your warehouse, then save Data mapping again.
No contract tables are switched on yet, or the dataset field is empty. Switch on at least one table in Table mapping and save.
Only numeric types become metrics; strings, booleans and dates become dimensions. Also check the field name format, and save Data mapping again after changing the table.