AI agent analytics

Your copilots are product features. Measure them like one.

If you ship an AI agent or a copilot, its quality, speed and cost are part of the product. InsightClickIQ records each model call, tool call and thumbs-up as an event next to the clicks and sessions of the people using it, and watches them the way it watches checkout.

Dashboard

Volume, failures, latency, cost and feedback per agent

Send $ai_generation events and the AI agents dashboard template appears: generations, failed generations, p95 latency and people using agents with a comparison; generations per day by agent; p50 and p95 latency; errors per day; error rate by agent; tokens and cost by model; thumbs-down by agent; top tools with their failures and p95.

On the Insurance 360 demo, two internal agents made 2,037 generations for 119 people in the last 30 days: claims-copilot 1,289 (20 errors) and renewal-assistant 748 (33 errors). Sonnet carried 1,145 generations for about $11, Haiku 892 for about $2.76 (illustrative demo rates).

clickiq.example.com/dashboards/ai-agents
The AI agents dashboard for Insurance 360, created from the ai_agents template: an insight bar ‘Error spike and latency surge on Oct 26 demand immediate investigation’; tiles for 2,037 generations, 53 failed generations, p95 latency 4,108 ms and 119 people using agents; generations per day for claims-copilot (1,289) and renewal-assistant (748); latency p50 1.3 s and p95 4.1 s with p95 rising at the end; errors per day.
Two internal agents in 30 days: 2,037 generations by 119 people, 53 failed, p95 latency 4.1 s. The insight bar has already read the charts: the errors and the p95 line both jump on Oct 26. The agents only started sending events on Oct 12, which is why the first half of each chart is empty.
Events

Four events, never the prompt by default

EventProperties
$ai_generationagent, model, provider, input and output tokens, latency_ms, cost_usd, status ok or error, error, trace_id, tool_calls
$ai_tool_callagent, tool, latency_ms, status, trace_id, error
$ai_feedbackagent, trace_id, rating (up, down or 1–5), comment
$ai_sessionLinks an agent conversation to the product session it happened in
Prompt and response textDropped by the SDKs unless you opt in, and dropped again at ingest unless the project allows it
Instrument

Python, LangChain or the browser

The Python SDK (pip install insightclickiq-sdk, no dependencies) batches on a background thread and never blocks a request. clickiq.ai.trace times a block, records each tool inside it, and sends one generation on exit, with status error and the exception if it raised. The LangChain callback handler records every LLM call and tool run of a chain without touching its code. Browser copilots use clickiq.ai.generation from the snippet.

Python
import clickiq
clickiq.init("ciq_…", "https://clickiq.example.com")

with clickiq.ai.trace(agent="claims-copilot", model="claude-sonnet-4-6", user_id="u_42") as t:
    with t.tool("policy_lookup"):          # a timed $ai_tool_call
        policy = lookup(claim)
    reply = llm.invoke(prompt)
    t.set(input_tokens=reply.usage.input, output_tokens=reply.usage.output)
t.feedback("up")                           # $ai_feedback for the same trace

# LangChain: one handler, every model call and tool run
from clickiq.langchain import ClickIQCallbackHandler
chain.invoke({"question": q}, config={"callbacks": [ClickIQCallbackHandler(agent="claims-copilot")]})
How it works

Agent analytics: from a model call in your code to a signal with a recommendation

Agent analytics: from a model call in your code to a signal with a recommendation 1Your agentai.trace, theLangChain handler orclickiq.ai.generationin the browser.2Events$ai_generation,$ai_tool_call,$ai_feedback; textstripped unlessallowed.3Dashboard andreportThe ai_agentstemplate and a weeklyreport: failuremodes, cost, quality,tools.4SignalsError spike per agent(yesterday vs 14days), p95 latencyregression (3 days vs11).5AIExplainedThe insight bar andthe signal’srecommendation talkabout agents, modelsand tools.Agent analytics: from a model call in your code to a signal with a recommendation 1Your agentai.trace, the LangChain handler orclickiq.ai.generation in thebrowser.2Events$ai_generation, $ai_tool_call,$ai_feedback; text stripped unlessallowed.3Dashboard and reportThe ai_agents template and aweekly report: failure modes,cost, quality, tools.4SignalsError spike per agent (yesterdayvs 14 days), p95 latencyregression (3 days vs 11).5AIExplainedThe insight bar and the signal’srecommendation talk about agents,models and tools.
The two signals fire on the demo data: renewal-assistant failed 27% of generations yesterday (usually 1.8%), and claims-copilot’s p95 rose to 6.3 s over three days (was 3.7 s).
What you can ask

Questions this answers

Type them into Ask, give them to an agent as a goal, or send them through MCP from your own assistant.

Which agent fails most this week?Error rate by agent
Why did claims-copilot get slower?p95 by day and model, and the tools with the slowest p95
What does each model cost us per generation?Tokens and cost by model
Which agent gets the most thumbs-down?Thumbs-down share by agent and its trend
Do people who use the copilot convert more?A funnel or segment on $ai_generation
Which tool calls fail?Top tools with failures and p95 latency
Outcomes

What teams do with it

Regressions caught the day after

A latency or error signal per agent, with a recommendation.

Cost next to value

Tokens and dollars by model beside adoption and outcomes.

Quality you can show

Thumbs-down share by agent, in a weekly report that writes itself.

Where it stops. Cost is what you send in cost_usd; InsightClickIQ does not price tokens itself. Prompt and response text is not analysed unless you opt in. The dashboard template appears only once $ai_generation events have arrived.

Instrument your copilot

Bring one agent; we add the Python SDK or the LangChain handler and review its first week with you.

Request a demo