Documentation Index
Fetch the complete documentation index at: https://docs.getinteract.com/llms.txt
Use this file to discover all available pages before exploring further.
Attribution settings are split across three pages, all under Insights → Settings → Attribution:
| Page | What it covers |
|---|
| Core settings | Paths table, column mapping, model selection, label splits, scheduling |
| Optional tables | Spend data (for ROAS/CPA), performance data (for revenue coverage), and the credit output table |
| Run history | Log of all past runs with status, duration, and trigger type |
Core settings
Paths table
This is the BigQuery table that contains the customer journey touchpoints. Each row should represent a single marketing touchpoint within a journey.
| Field | Description |
|---|
| Dataset | BigQuery dataset containing the paths table |
| Table | Table name |
| Channel column | Column that identifies the marketing channel (e.g. channel, source_group) |
| Journey ID column | Column uniquely identifying each customer journey (default: journey_id) |
| Converted column | Boolean or 0/1 column indicating whether the journey converted (default: converted) |
| Revenue column | Revenue value per journey (default: revenue) |
| Date column | Column used as the time window filter — typically the journey start date (default: journey_start_date) |
After saving, Interact validates all column names against your BigQuery table schema and highlights any that cannot be found.
Path processing
| Setting | Description |
|---|
| Junk channels | Comma-separated channel values to exclude before processing (e.g. Direct, Other, (none)). These are removed from journey paths before the model runs. |
| Passthrough channels | Channels that don’t interrupt the journey logic (e.g. brand search that always appears). Kept in the path but treated differently in Markov transitions. |
| Deduplicate consecutive | Remove back-to-back touches from the same channel within a journey. Recommended for most setups. |
| Max journey length | Maximum number of touchpoints per journey. Longer journeys are truncated. Default: 15. |
| Min journey length | Minimum number of touchpoints required. Shorter journeys are excluded. Default: 1. |
Attribution models
Enable one or both models:
| Model | When to use |
|---|
| Markov (recommended) | Fast, reliable, good for operational use. Always enable this. |
| Shapley | More thorough game-theory approach. Enable when you need to compare or validate Markov results. Adds processing time. |
Label splits
Label splits allow you to run attribution separately for each value of a segmentation dimension — for example, running separate models for NL and DE rather than blending all markets together.
Enable Label splits and define one or more split columns. Each split column maps to:
- A column in the paths table (required)
- Optionally, a corresponding column in the spend table for filtering spend data per segment
When label splits are enabled, the dashboard shows a multi-select filter so you can view results by specific segment combinations.
Use label splits for any dimension where channels differ meaningfully across segments — market, brand, or product line are common examples.
Scheduling
Automatically run attribution on a schedule so results are always fresh.
| Setting | Description |
|---|
| Enable scheduling | Toggle automatic runs on or off |
| Frequency | Daily or weekly |
| Weekday | For weekly runs, which day to run |
| Time | Run time in HH:MM (server time) |
| Advanced (cron) | Custom cron expression for fine-grained control |
When scheduling is enabled, Interact queues runs for the standard preset windows (90d, 180d, 365d) at the scheduled time.
Optional tables
Spend data
Connect a BigQuery table containing channel spend by date to unlock ROAS and CPA metrics in the attribution dashboard.
| Field | Description |
|---|
| Dataset / Table | Location of the spend table |
| Channel column | Column identifying the marketing channel — should match values in the paths table |
| Spend column | Column containing the spend amount (default: spend) |
| Date column | Column with the spend date (default: date) |
| Label column | (Optional) Column for label-based filtering when label splits are enabled |
Connect a business-system revenue table (e.g. from your e-commerce platform or CRM) to display coverage — what percentage of actual revenue is captured in your attribution paths.
| Field | Description |
|---|
| Dataset / Table | Location of the performance/revenue table |
| Revenue column | Column with the revenue figure (default: revenue) |
| Date column | Date column for filtering to the selected window |
Credit output table
If your pipeline pre-computes per-touchpoint attribution credit and writes it to BigQuery, configure this table to power the Journey Attribution page.
| Field | Description |
|---|
| Dataset | Dataset containing the credit table (default: src_attribution_models) |
| Table | Credit table name (default: fact_attribution_credit__user_id) |
| Channel column | Channel column in the credit table (e.g. channel, source_group, channel_group) |
The credit table is written by a separate pipeline process and is not produced by the interactive attribution runs. It enables the per-journey detail view but is not required for the main channel attribution dashboard.
Run history
The Runs page shows all past attribution runs with:
- Status — Success, Failed, or Queued
- Window — Date range that was processed
- Label — Segment label (if label splits are used)
- Duration — How long the run took
- Trigger — Manual, Scheduled, or Preview
- Error — Failure message when status is Failed
Use Run all presets to queue fresh runs for the standard 90d, 180d, and 365d windows. This is useful after changing the paths table or model settings.
BigQuery permissions
The service account used by your BigQuery connector needs the following permissions:
| Permission | Why |
|---|
bigquery.tables.getData | Reading the paths, spend, and performance tables |
bigquery.jobs.create | Running queries to build transition matrices |
bigquery.tables.create + bigquery.tables.updateData | Writing channel weights output (when enabled) |
The standard roles/bigquery.dataEditor + roles/bigquery.jobUser roles cover all of these.