# ClickstreamTraceConfig

**Kind**: interface | **Module**: [Insights](https://docs.interop.io/desktop/reference/javascript/insights/index.md)

**Source**: https://docs.interop.io/desktop/reference/javascript/insights/clickstreamtraceconfig/index.html

Configuration for Clickstream trace behavior.
Controls how user interaction events are tracked and organized in traces.

## Properties

- **`descriptiveName`** (`boolean`, optional) default: `true`
  If `true`, the Clickstream trace spans will be named interopio.api.clickstream.<applicationName>.<event>
  If `false`, the Clickstream trace spans will be named interopio.api.clickstream.<event>
- **`enabled`** (`boolean`, required)
  Whether the Clickstream trace is enabled.
- **`events`** (`string[]`, optional) default: `["click"]`
  List of DOM event names to capture as Clickstream trace spans.
- **`nestEventListeners`** (`boolean`, optional) default: `true`
  If `true`, io.Insights will try to nest spans from other event listeners for the same event under
  the Clickstream span. This is not guaranteed to always work due to specifics of how browsers execute
  event listeners, and will only work for listeners attached after io.Connect was initialized.
- **`structure`** (`"sibling" | "nested"`, optional) default: `"sibling"`
  If `sibling`, all spans in the Clickstream trace will be nested under the same
  root span. This is useful when working with visualization interfaces that do not handle
  arbitrarily nested spans.

  If `nested`, every span in the Clickstream trace will be nested under the previous span.
  This is useful for some kinds of querying.
