# Retrieve metrics and KPIs

When using the iAdvize GraphQL API to explore your performance and customer engagement, you have two powerful options depending on your needs:

* **Pre-calculated metrics** via the `metrics` query, which deliver aggregated KPIs.
* **Raw conversation data** via the `closedConversations` query, which lets you analyze each conversation in full detail.

This article introduces both approaches and provides the context you need before diving deeper into each in the dedicated articles that follow.

### Option 1: Pre-calculated metrics

The `metrics` query provides a set of **pre-aggregated indicators** that are calculated by iAdvize and grouped by dimensions such as time, campaign, project, or agent group.

Some of the indicators include:

* Number of conversations
* First response time
* Handling and resolution time
* Contact opportunities
* Targeting rules metrics

These metrics are ideal for trend monitoring or performance dashboards.

For a detailed breakdown of all available metrics and filters, check out the full article [here](/use-cases/data-and-analytics/retrieve-messages-exchanged-within-a-conversation-1/pre-aggregated-indicators.md).

### Option 2: raw data access via `closedConversations`

When you need more control over the analysis or want to feed conversation-level data into your CRM or reporting system, the `closedConversations` query gives you **raw access** to every closed conversation.

#### What does “raw data” mean?

Using the `closedConversations` query, you can retrieve the **complete set of fields** for each conversation object, including:

* Timestamps and duration
* Participants (visitor, agent, bot)
* All messages exchanged
* Conversation tags and channels
* Satisfaction score (CSAT, NPS)
* Assigned campaigns, routing, and qualification data

You can request a single conversation or pull data in bulk, applying filters and [paginating](/technologies/graphql-api/pagination.md) through results as needed.\
\
Please check these two articles for full information:\
\- [Understand conversation data 1/2](/use-cases/data-and-analytics/retrieve-messages-exchanged-within-a-conversation-1/find-contact-data-graphql.md)\
\- [Understand conversation data 2/2](/use-cases/data-and-analytics/retrieve-messages-exchanged-within-a-conversation-1/find-contact-data-graphql-1.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iadvize.dev/use-cases/data-and-analytics/retrieve-messages-exchanged-within-a-conversation-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
