Loops AI Docs

Canonical Events

The two ecommerce events Loops AI tracks — schema, field reference, and event registry.

Loops AI emits two canonical ecommerce events. Both follow the GA4 standard ecommerce shape so they drop into existing GTM setups without extra configuration.

Event registry

Canonical eventDefault customer labelWhen it fires
loops_ai_view_item_listview_item_listProducts enter the viewport in AI search results (batched every ~4–6 items).
loops_ai_select_itemselect_itemA listed product is clicked.

The default customer label is the name pushed into window.dataLayer (web) or delivered via the analytics bridge (mobile). Labels are remappable per agent via analyticsConfig.

Event schema (schema_version: "1.0")

{
  "schema_version": "1.0",
  "event": "loops_ai_view_item_list",
  "channel": "web",
  "search_source": "loops_ai",
  "search_term": "linen shirt",
  "loops_organization_id": "org_xxx",
  "loops_agent_id": "agt_xxx",
  "loops_conversation_id": "cnv_xxx",
  "ecommerce": {
    "item_list_id": "loops_ai_search",
    "item_list_name": "Loops AI Search Results",
    "items": [
      { "item_id": "SKU123", "item_name": "Linen Shirt", "index": 0, "price": 49.90 }
    ]
  }
}

Field reference

FieldValuesNotes
schema_version"1.0"Bumped only on a breaking schema change.
eventCanonical event nameThe internal name; the customer-facing label is set in analyticsConfig.eventMap.
channel"web" | "ios" | "android"Set automatically — web sets "web", the iOS SDK sets "ios", and the Android SDK sets "android".
search_source"loops_ai" | "native"Separates the Loops AI funnel from the host's native search.
loops_organization_idStringYour organization ID. Required on every event.
loops_agent_idStringThe agent that generated the result. Required on every event.
loops_conversation_idStringThe conversation in which the event occurred. Required on every event.
ecommerce.item_list_id"loops_ai_search" | "native_search"Set via analyticsConfig.itemListId.
ecommerce.items[]ArrayEach item: item_id, item_name, index, price.

The event carries no PII — no customer email, phone, or user-level identifier. Identifiers are scoped to the conversation, agent, and organization only.

On mobile

The iOS SDK re-dispatches the same event with channel: "ios" and the Android SDK with channel: "android", each attaching native context (app_version, device, os_version). See Mobile SDKs for the native delivery path.

On this page