Skip to main content
Goals turn raw chat telemetry into measurable outcomes. Define a goal once, and every matching event becomes a conversion or engagement signal that the Analytics Hub can report on. Menu: Insights → Goals Route: /admin/insights/goals (admin_insights_goals) Permission: comerix.insights.goals.manage A goal listens for a named telemetry event and, when it matches, records an outcome. There are three kinds:
  • Conversion — a completed objective (a purchase, a sign-up, a booking).
  • Engagement — a meaningful interaction that isn’t a final conversion (a reply, a form started).
  • Custom — anything else you want to track that isn’t a conversion or engagement.
See Concepts for the telemetry, goals, and conversions vocabulary. The Goals list.

Browse goals

The goals list (/admin/insights/goals) shows all goals grouped by status: active, paused, and archived. Active goals match incoming events; paused goals stop matching without losing their configuration; archived goals are retired but kept for historical reports.

Create or edit a goal

Creating a goal. Use New (/admin/insights/goals/new) or Edit (/admin/insights/goals/{id}/edit) to configure a goal. Fields are grouped into three sections.

Details

FieldNotes
CodeStable identifier, e.g. product_purchase. Unique and immutable — choose it carefully, it can’t change later
NameHuman-readable label shown in reports
DescriptionOptional explanation of what the goal measures
Kindconversion, engagement, or custom
Is primaryMark the goal as a headline KPI so it surfaces prominently in dashboards

Trigger & matching

FieldNotes
Trigger eventThe telemetry event name to listen for, e.g. form_submit or purchase
Match conditionsOptional JSON of properties that must all match for the event to count
Match conditions are written as a flat JSON object. The goal fires only when every key is present on the event with the given value:
{ "plan": "premium" }
Leave match conditions empty to count every occurrence of the trigger event.

Value & attribution

FieldNotes
Value modeHow to value each conversion: none, fixed, or from_property
Fixed valueThe amount per conversion when value mode is fixed
Value propertyThe event property path to read the amount from when value mode is from_property
CurrencyISO 4217 code (e.g. USD) for monetary values — the fixed fallback when no currency property is set
Currency propertyThe event property to read the display currency code from (e.g. currency). When set, each conversion records the currency the event reports, so one goal can track a store that sells in several currencies
Base value propertyThe event property carrying the amount already converted to the base currency (e.g. base_grand_total). Lets revenue aggregate across display currencies. Defaults to the display value when absent
Base currency propertyThe event property carrying the base currency code (e.g. base_currency). Defaults to the workspace base currency
Attribution windowHours during which a later outcome is credited to this goal. Defaults to 168 (7 days)
Choosing a value modeUse none for goals you only want to count (engagements). Use fixed when every conversion is worth the same. Use from_property when each event carries its own amount — set Value property to the path of that field on the event.
Multi-currency stores → one base currencyReport revenue in a single base currency instead of creating a separate goal per currency. Set the workspace base currency under Settings → Analytics, then have your thank-you page send each purchase’s value in that base currency — the same way e-commerce platforms compute a base order total. Point Currency property at the field carrying that code (e.g. currency). Revenue then aggregates into one figure rather than splitting per display currency. A valued conversion with no currency falls back to the workspace base currency.To keep both views — per-currency and aggregated — have the purchase event send all four fields (grand_total, currency, base_grand_total, base_currency) and map Value/Currency property to the display pair and Base value/Base currency property to the base pair. The Revenue measure then breaks down by display currency, while Base revenue rolls every sale up into the one base currency.
What the attribution window doesThe window decides how long a chat keeps “credit” for an outcome that happens later. It only comes into play for deferred conversions — a sale (or sign-up) that completes after the chat has ended and is reported server-side through the Engine API without an explicit conversation_id. When that happens, the platform looks back over this many hours for the customer’s most recent conversation and credits the conversion to it (and to its flow), so dashboards can show the chat as the driver of that revenue.
  • A conversion reported with a conversation_id is attributed to that conversation directly — the window is ignored.
  • A conversion that falls outside the window is still recorded, but is not tied to any chat — it won’t count as chat-driven revenue.
  • In-chat events (e.g. a purchase fired by the widget during the conversation) are attributed to the live conversation regardless of the window.
Example with the default 168 hours (7 days): a customer chats on Monday and buys on Thursday → the sale is credited to Monday’s chat. If the same customer buys 10 days later, it’s past the window → recorded, but not attributed. Pick a longer window for considered purchases (e.g. B2B, high-ticket) and a shorter one for impulse buys.

Change a goal’s status

From the list or edit screen, change a goal’s status (POST /admin/insights/goals/{id}/status) between:
  • Active — currently matching events.
  • Paused — temporarily stopped; keeps its configuration.
  • Archived — retired; excluded from new matching but kept for past reports.
Pausing or archiving never deletes the goal or its historical conversions.

Discover event names with the Event Explorer

The Event Explorer. Before authoring a goal you need the exact event name and property keys to match on. The Event Explorer shows them. Route: /admin/insights/events (admin_insights_events) Permission: comerix.insights.telemetry It lists the most recent raw chat events (up to 100), each with its timestamp, event name, and full properties JSON. Two URL filters narrow the view:
FilterValuesPurpose
range7d, 30d, 90dTime window (defaults to 30d)
nameany event nameShow only events with that name
Use it to copy the precise event name into a goal’s Trigger event and to read the property keys you’ll reference in Match conditions or Value property.

Where the data comes from and where it goes

  • In: telemetry is sent by the chat widget to the engine’s /events endpoint. See Concepts for the telemetry vocabulary.
  • Reported: the conversions and engagements your goals produce are explored and reported in the Analytics Hub.
  • Server-side sales: purchases completed after the chat (e.g. on your backend) are reported through the Engine API conversions endpoint. See Engine API → Conversions.

Permissions

ActionPermission
View, create, edit, and change status of goalscomerix.insights.goals.manage
Use the Event Explorercomerix.insights.telemetry