The events data API gives you direct access to the raw analytical event data. You can use this data in your own BI system to analyze.
The events data API gives you direct access to the raw analytical event data. You can use this data in your own BI system to analyze.
Access
The event data is stored in a S3 bucket. You can get direct access to the bucket using a access key and secret key. Contact your Unless account manager if you'd like to get access.
Storage
The logs will be stored in S3 with a prefix like "/account-id/use-case-id/datetime.json.gzip". Every hour we will add a new file with all new events since the last run. You should pull in the data into your own data warehouse. It is stored with gzip compression to save both storage and data bandwidth. You probably want to decompress it before storing it in your own solution.
Structure
Each file contains the following fields:
| Field | Type | Description |
|---|---|---|
| accountId | string | Your account id |
| domainName | string | Domain name where the event was captured |
| userId | string | ID of the user, either generated by us, or set as the identifier by you |
| pageVisitId | string | Unique generated id of the page visit |
| sessionId | string | Unique generated id of the session |
| eventType | string | See event types below |
| timestamp | string | ISO 8601 timestamp |
| metadata | json | Available metadata depending on the eventType. If we didn't manage to find the answer then this contains: "questionIsUnanswered: true" |
| origin | string | Either 'component' or an API form |
| componentId | string | ID of the component that emitted the event (only if origin is component) |
| componentName | string | Name of the component as named in the Unless dashboard |
| componentTags | string | Tags set on the component in the Unless dashboard |
Event types
| Event Type | Description |
|---|---|
| display | When a component is displayed |
| close | When a component is closed |
| primary-cta-click | When a primary CTA is clicked in a component |
| secondary-cta-click | When a secondary CTA is clicked in a component |
| chat-conversation | When a conversation is started |
| chat-conversation-without-starting-message | When a conversation is started with a prompt |
| chat-starting-response | Starting message got displayed |
| chat-response | AI response is generated |
| chat-negative | Thumbs down is pressed |
| chat-positive | Thumbs up is pressed |
| chat-escalated | An action was invoked that was marked as escalating |
| chat-search | A search is triggered on the search tab |
Computed properties on insights page
On our insights page we show a couple of data fields that are computed using the raw data within a specific timeframe.
Property | Calculation |
|---|---|
Responses | Sum of chat-response |
Sessions | Sum of chat-starting-response and chat-conversation-without-starting-message. |
Conversations | Sum of chat-conversations |
Searches | Sum of chat-search |
Questions | Sum of chat-responses |
Answered | Sum of (chat-responses - chat-responses where data->>questionIsUnanswered = true) |
Success ratio | Answered / Questions |
Escalations | Sum of chat-escalated |
Tickets deflected | Conversations - Escalations |