# MarkerSpanCallback

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

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

Callback function type for creating marker spans in User Journey or Clickstream traces.

```ts
type MarkerSpanCallback = (source: string, data?: DataByVerbosity, newTrace?: boolean, parentSpan?: PropagationInfo) => Promise<PropagationInfo | null> | void
```

**Parameters**

- **`source`** (`string`, required)
  - Descriptive name for the marker span (e.g., "checkout-completed", "navigation-event"). If not provided,
  no new span will be created, and the data will simply be added to the current user journey or clickstream span.
- **`data`** (`DataByVerbosity`, optional)
  - Optional span data organized by verbosity level, allowing different detail levels for different environments
- **`newTrace`** (`boolean`, optional)
- **`parentSpan`** (`PropagationInfo`, optional)

**Returns**: `void | Promise<import("/home/runner/_work/desktop/desktop/docs-main/node_modules/@interopio/otel/insights").IOInsights.PropagationInfo>`

## Related types

- [DataByVerbosity](https://docs.interop.io/desktop/reference/javascript/insights/databyverbosity/index.md)
- [PropagationInfo](https://docs.interop.io/desktop/reference/javascript/insights/propagationinfo/index.md)
