> ## Documentation Index
> Fetch the complete documentation index at: https://developers.candu.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Candu SDK Event Names

Candu's SDK emits events to both Candu servers and your customer application. These events help track user interactions and analyze product usage.

To familiarize yourself with all the identifiers, read more about Candu's [Entities](/docs/entities).

All Candu SDK events start with the prefix `candu.sdk`.

# Common Events

Content events are generic events common to every type of content.

Every SDK event includes a core set of identifiers. Depending on the event type, additional properties may be included.

| Identifier | Type | Description |
| :- | :- | :- |
| `contentId` | `String` | Identifies the Content that triggered the event |
| `segmentId` | `String` | The Segment that was matched against the user when the event fired. |
| `documentId` | `Integer` | The Document ID associated with the Segment |
| `versionId` | `String` | A digest hash uniquely identifying the document version. Used for tracking publishing changes. |
| `placementId` | `String` | The matched Placement that triggered the content display. Useful for debugging. |

## candu.sdk.content

Fired when content renders on the page: after the user matches the Segment and display rules, the content mounts and its styles load. There is no viewport visibility check, so content rendered below the fold or inside a hidden element still fires this event.

For Tours, this event can fire when the Tour loads even if a step's target element is not on the page yet. To count Tour Steps that were actually shown, use `candu.sdk.tour_step_tooltip`.

# Component Events

These are useful for tracking interactions.  Component events always have a `nodeId` associated with them.  Note that components do not have identifiers as they're a logical grouping of `Nodes`.

Component events have the following identifiers:

| Identifier | type | Description |
| :- | :- | :- |
| `contentId` | `String` | The Content that fired the event. |
| `segmentId` | `String` | The Segment that was matched against the user when the event fired. |
| `documentId` | `Integer` | The Document associated with the Segment. |
| `versionId` | `String` | A digest hash of the document uniquely identifying a specific version of the Document. Useful for tracking publishing changes. |
| `placementId` | `String` | The Placement that matched to trigger the Content. Useful for debugging and analytics. |
| `nodeId` | `String` | The specific node that fired a given event. `nodeId` are **not** uniques across documents, however the combination of `documentId` and `nodeId` is unique. |
| `nodeType` | `String` | The type of Node that fired the event. |
| `eventName` | `String` | \[Optional] The Interaction label associated with a given action inside the node. |

## candu.sdk.content.interaction

A generic interaction event. This event is emitted by components like `Button`, `Link`, `Card` and any other component where an interaction can be specified.

## candu.sdk.dismiss

A generic dismiss events. This action is emitted by `Modal` or `Card` when they are dismissed.

## Checklists

### candu.sdk.tutorial.checklist\_group\_complete

Event emitted once when all items in a Checklist have been completed.

Includes the following additional properties:

| Key | type | Description |
| :- | :- | :- |
| `title` | `String` | The Checklist title |

Includes the checklist `title` in the payload.

### candu.sdk.tutorial.checklist\_item\_state\_updated

Emitted when an individual checklist item's state changes. Please note that event-driven Checklists do not emit this event.

Includes the following additional properties:

| Key | type | Description |
| :- | :- | :- |
| `title` | `String` | The Checklist title |
| `state` | `String` | The Checklist state. Either `Done` or `NotStarted` |

Includes the checklist `title` in the payload,

## Flows

### candu.sdk.flow\_step

A Flow Step has been seen. This actions are emitted by`FlowStep`nodes when they are being displayed as part of a `Flow`.

## Form

### candu.sdk.form\_submit

A Form has been submitted. The `formId` will be included in the body, as well as an encoded payload of all the Form fields.

| Key | type | Description |
| :- | :- | :- |
| `name` | `String` | The Form name |

## Tour

### candu.sdk.tour\_step\_tooltip

A Tour Step has been viewed.

### candu.sdk.tour\_step\_dismissed

A step has been dismissed.

### candu.sdk.tour\_completed

The Tour has been completed.

## Hotspot

### candu.sdk.hotspot\_tooltip

A Tooltip has been opened.

### candu.sdk.hotspot\_beacon

A Tooltip beacon has been rendered.

### candu.sdk.hotspot\_dismissed

A Hotspot has been permanently dismissed.

### candu.sdk.hotspot\_group\_dismissed

All the Hotspots in a group have been dismissed.

# Experimentation events

## candu.sdk.impression

Tracks experiment variant views, including control group impressions.

A User has seen an Experiment Variant. This happens when there is a matching Placement. In the case of control group, an impression occurs anytime a Placement matches for another Variant.

The event has the following payload:

| Key | type | Description |
| :- | :- | :- |
| `contentId` | `String` | \[Optional] The Content being rendered. |
| `variantId` | `String` | The Variant to which the User was assigned to. |
| `placementId` | `String` | The Placement that was matched. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.