> For the complete documentation index, see [llms.txt](https://docs.iadvize.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iadvize.dev/use-cases/data-and-analytics/retrieve-messages-exchanged-within-a-conversation-1.md).

# 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)
